From da214efe03dbd835bac852c4541cbcd071fb04ea Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sun, 20 Jun 2021 10:00:17 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.1.5/CONFIG.md | 8 + deprecated/nzbhydra/6.1.5/Chart.lock | 6 + deprecated/nzbhydra/6.1.5/Chart.yaml | 20 + deprecated/nzbhydra/6.1.5/README.md | 53 + deprecated/nzbhydra/6.1.5/app-readme.md | 3 + .../nzbhydra/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes deprecated/nzbhydra/6.1.5/ix_values.yaml | 51 + deprecated/nzbhydra/6.1.5/questions.yaml | 647 +++++++++ .../nzbhydra/6.1.5/templates/common.yaml | 1 + deprecated/nzbhydra/6.1.5/test_values.yaml | 62 + deprecated/nzbhydra/6.1.5/values.yaml | 0 develop/prototype-gui/1.2.7/CONFIG.md | 8 + develop/prototype-gui/1.2.7/Chart.lock | 6 + develop/prototype-gui/1.2.7/Chart.yaml | 22 + develop/prototype-gui/1.2.7/README.md | 49 + develop/prototype-gui/1.2.7/app-readme.md | 3 + .../1.2.7/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes develop/prototype-gui/1.2.7/ix_values.yaml | 25 + develop/prototype-gui/1.2.7/questions.yaml | 651 +++++++++ .../prototype-gui/1.2.7/templates/common.yaml | 1 + develop/prototype-gui/1.2.7/test_values.yaml | 39 + develop/prototype-gui/1.2.7/values.yaml | 0 incubator/airsonic/1.1.5/CONFIG.md | 8 + incubator/airsonic/1.1.5/Chart.lock | 6 + incubator/airsonic/1.1.5/Chart.yaml | 22 + incubator/airsonic/1.1.5/README.md | 55 + incubator/airsonic/1.1.5/app-readme.md | 1 + .../airsonic/1.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/airsonic/1.1.5/ix_values.yaml | 19 + incubator/airsonic/1.1.5/questions.yaml | 555 ++++++++ .../airsonic/1.1.5/templates/common.yaml | 1 + incubator/airsonic/1.1.5/test_values.yaml | 60 + incubator/airsonic/1.1.5/values.yaml | 0 incubator/appdaemon/3.1.5/CONFIG.md | 8 + incubator/appdaemon/3.1.5/Chart.lock | 6 + incubator/appdaemon/3.1.5/Chart.yaml | 29 + incubator/appdaemon/3.1.5/README.md | 53 + incubator/appdaemon/3.1.5/app-readme.md | 3 + .../appdaemon/3.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/appdaemon/3.1.5/ix_values.yaml | 16 + incubator/appdaemon/3.1.5/questions.yaml | 485 +++++++ .../appdaemon/3.1.5/templates/common.yaml | 1 + incubator/appdaemon/3.1.5/test_values.yaml | 41 + incubator/appdaemon/3.1.5/values.yaml | 0 incubator/bazarr/6.1.5/CONFIG.md | 8 + incubator/bazarr/6.1.5/Chart.lock | 6 + incubator/bazarr/6.1.5/Chart.yaml | 32 + incubator/bazarr/6.1.5/README.md | 54 + incubator/bazarr/6.1.5/app-readme.md | 3 + .../bazarr/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/bazarr/6.1.5/ix_values.yaml | 15 + incubator/bazarr/6.1.5/questions.yaml | 647 +++++++++ incubator/bazarr/6.1.5/templates/common.yaml | 1 + incubator/bazarr/6.1.5/test_values.yaml | 26 + incubator/bazarr/6.1.5/values.yaml | 0 incubator/calibre-web/6.1.5/CONFIG.md | 8 + incubator/calibre-web/6.1.5/Chart.lock | 6 + incubator/calibre-web/6.1.5/Chart.yaml | 26 + incubator/calibre-web/6.1.5/README.md | 54 + incubator/calibre-web/6.1.5/app-readme.md | 3 + .../calibre-web/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/calibre-web/6.1.5/ix_values.yaml | 16 + incubator/calibre-web/6.1.5/questions.yaml | 607 +++++++++ .../calibre-web/6.1.5/templates/common.yaml | 1 + incubator/calibre-web/6.1.5/test_values.yaml | 28 + incubator/calibre-web/6.1.5/values.yaml | 0 incubator/deluge/6.1.5/CONFIG.md | 8 + incubator/deluge/6.1.5/Chart.lock | 6 + incubator/deluge/6.1.5/Chart.yaml | 24 + incubator/deluge/6.1.5/README.md | 53 + incubator/deluge/6.1.5/app-readme.md | 3 + .../deluge/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/deluge/6.1.5/ix_values.yaml | 16 + incubator/deluge/6.1.5/questions.yaml | 724 ++++++++++ incubator/deluge/6.1.5/templates/common.yaml | 1 + incubator/deluge/6.1.5/test_values.yaml | 33 + incubator/deluge/6.1.5/values.yaml | 0 incubator/fireflyiii/4.2.2/CONFIG.md | 8 + incubator/fireflyiii/4.2.2/Chart.lock | 9 + incubator/fireflyiii/4.2.2/Chart.yaml | 30 + incubator/fireflyiii/4.2.2/README.md | 54 + incubator/fireflyiii/4.2.2/app-readme.md | 3 + .../fireflyiii/4.2.2/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes .../4.2.2/charts/postgresql-10.5.0.tgz | Bin 0 -> 49174 bytes incubator/fireflyiii/4.2.2/ix_values.yaml | 51 + incubator/fireflyiii/4.2.2/questions.yaml | 842 ++++++++++++ .../fireflyiii/4.2.2/templates/common.yaml | 5 + .../fireflyiii/4.2.2/templates/secrets.yaml | 19 + incubator/fireflyiii/4.2.2/test_values.yaml | 82 ++ incubator/fireflyiii/4.2.2/values.yaml | 0 incubator/freshrss/6.1.5/CONFIG.md | 8 + incubator/freshrss/6.1.5/Chart.lock | 6 + incubator/freshrss/6.1.5/Chart.yaml | 24 + incubator/freshrss/6.1.5/README.md | 54 + incubator/freshrss/6.1.5/app-readme.md | 3 + .../freshrss/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/freshrss/6.1.5/ix_values.yaml | 16 + incubator/freshrss/6.1.5/questions.yaml | 607 +++++++++ .../freshrss/6.1.5/templates/common.yaml | 1 + incubator/freshrss/6.1.5/test_values.yaml | 26 + incubator/freshrss/6.1.5/values.yaml | 0 incubator/gaps/6.1.5/CONFIG.md | 8 + incubator/gaps/6.1.5/Chart.lock | 6 + incubator/gaps/6.1.5/Chart.yaml | 25 + incubator/gaps/6.1.5/README.md | 53 + incubator/gaps/6.1.5/app-readme.md | 3 + incubator/gaps/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/gaps/6.1.5/ix_values.yaml | 15 + incubator/gaps/6.1.5/questions.yaml | 646 +++++++++ incubator/gaps/6.1.5/templates/common.yaml | 1 + incubator/gaps/6.1.5/test_values.yaml | 24 + incubator/gaps/6.1.5/values.yaml | 0 incubator/grocy/6.1.5/CONFIG.md | 8 + incubator/grocy/6.1.5/Chart.lock | 6 + incubator/grocy/6.1.5/Chart.yaml | 23 + incubator/grocy/6.1.5/README.md | 53 + incubator/grocy/6.1.5/app-readme.md | 3 + incubator/grocy/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/grocy/6.1.5/ix_values.yaml | 16 + incubator/grocy/6.1.5/questions.yaml | 606 +++++++++ incubator/grocy/6.1.5/templates/common.yaml | 1 + incubator/grocy/6.1.5/test_values.yaml | 26 + incubator/grocy/6.1.5/values.yaml | 0 incubator/haste-server/1.1.5/CONFIG.md | 8 + incubator/haste-server/1.1.5/Chart.lock | 6 + incubator/haste-server/1.1.5/Chart.yaml | 24 + incubator/haste-server/1.1.5/README.md | 54 + incubator/haste-server/1.1.5/app-readme.md | 1 + .../1.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/haste-server/1.1.5/ix_values.yaml | 19 + incubator/haste-server/1.1.5/questions.yaml | 553 ++++++++ .../haste-server/1.1.5/templates/common.yaml | 1 + incubator/haste-server/1.1.5/test_values.yaml | 45 + incubator/haste-server/1.1.5/values.yaml | 0 incubator/heimdall/6.1.5/CONFIG.md | 8 + incubator/heimdall/6.1.5/Chart.lock | 6 + incubator/heimdall/6.1.5/Chart.yaml | 21 + incubator/heimdall/6.1.5/README.md | 49 + incubator/heimdall/6.1.5/app-readme.md | 3 + .../heimdall/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/heimdall/6.1.5/ix_values.yaml | 16 + incubator/heimdall/6.1.5/questions.yaml | 607 +++++++++ .../heimdall/6.1.5/templates/common.yaml | 1 + incubator/heimdall/6.1.5/test_values.yaml | 30 + incubator/heimdall/6.1.5/values.yaml | 0 incubator/lazylibrarian/6.1.5/CONFIG.md | 8 + incubator/lazylibrarian/6.1.5/Chart.lock | 6 + incubator/lazylibrarian/6.1.5/Chart.yaml | 27 + incubator/lazylibrarian/6.1.5/README.md | 54 + incubator/lazylibrarian/6.1.5/app-readme.md | 3 + .../6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/lazylibrarian/6.1.5/ix_values.yaml | 16 + incubator/lazylibrarian/6.1.5/questions.yaml | 607 +++++++++ .../lazylibrarian/6.1.5/templates/common.yaml | 1 + .../lazylibrarian/6.1.5/test_values.yaml | 26 + incubator/lazylibrarian/6.1.5/values.yaml | 0 incubator/lychee/6.1.5/CONFIG.md | 8 + incubator/lychee/6.1.5/Chart.lock | 6 + incubator/lychee/6.1.5/Chart.yaml | 26 + incubator/lychee/6.1.5/README.md | 54 + incubator/lychee/6.1.5/app-readme.md | 3 + .../lychee/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/lychee/6.1.5/ix_values.yaml | 16 + incubator/lychee/6.1.5/questions.yaml | 607 +++++++++ incubator/lychee/6.1.5/templates/common.yaml | 1 + incubator/lychee/6.1.5/test_values.yaml | 26 + incubator/lychee/6.1.5/values.yaml | 0 incubator/mealie/1.1.5/CONFIG.md | 8 + incubator/mealie/1.1.5/Chart.lock | 6 + incubator/mealie/1.1.5/Chart.yaml | 22 + incubator/mealie/1.1.5/README.md | 53 + incubator/mealie/1.1.5/app-readme.md | 1 + .../mealie/1.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/mealie/1.1.5/ix_values.yaml | 19 + incubator/mealie/1.1.5/questions.yaml | 548 ++++++++ incubator/mealie/1.1.5/templates/common.yaml | 1 + incubator/mealie/1.1.5/test_values.yaml | 43 + incubator/mealie/1.1.5/values.yaml | 0 incubator/mosquitto/1.1.6/CONFIG.md | 8 + incubator/mosquitto/1.1.6/Chart.lock | 6 + incubator/mosquitto/1.1.6/Chart.yaml | 24 + incubator/mosquitto/1.1.6/README.md | 53 + incubator/mosquitto/1.1.6/app-readme.md | 3 + .../mosquitto/1.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/mosquitto/1.1.6/ix_values.yaml | 18 + incubator/mosquitto/1.1.6/questions.yaml | 768 +++++++++++ .../mosquitto/1.1.6/templates/common.yaml | 17 + .../mosquitto/1.1.6/templates/configmap.yaml | 22 + incubator/mosquitto/1.1.6/test_values.yaml | 39 + incubator/mosquitto/1.1.6/values.yaml | 0 incubator/navidrome/6.1.5/CONFIG.md | 8 + incubator/navidrome/6.1.5/Chart.lock | 6 + incubator/navidrome/6.1.5/Chart.yaml | 25 + incubator/navidrome/6.1.5/README.md | 54 + incubator/navidrome/6.1.5/app-readme.md | 3 + .../navidrome/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/navidrome/6.1.5/ix_values.yaml | 15 + incubator/navidrome/6.1.5/questions.yaml | 647 +++++++++ .../navidrome/6.1.5/templates/common.yaml | 1 + incubator/navidrome/6.1.5/test_values.yaml | 28 + incubator/navidrome/6.1.5/values.yaml | 0 incubator/node-red/6.1.5/CONFIG.md | 8 + incubator/node-red/6.1.5/Chart.lock | 6 + incubator/node-red/6.1.5/Chart.yaml | 23 + incubator/node-red/6.1.5/README.md | 53 + incubator/node-red/6.1.5/app-readme.md | 3 + .../node-red/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/node-red/6.1.5/ix_values.yaml | 15 + incubator/node-red/6.1.5/questions.yaml | 647 +++++++++ .../node-red/6.1.5/templates/common.yaml | 1 + incubator/node-red/6.1.5/test_values.yaml | 30 + incubator/node-red/6.1.5/values.yaml | 0 incubator/nzbget/6.1.5/CONFIG.md | 8 + incubator/nzbget/6.1.5/Chart.lock | 6 + incubator/nzbget/6.1.5/Chart.yaml | 23 + incubator/nzbget/6.1.5/README.md | 53 + incubator/nzbget/6.1.5/app-readme.md | 3 + .../nzbget/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/nzbget/6.1.5/ix_values.yaml | 25 + incubator/nzbget/6.1.5/questions.yaml | 647 +++++++++ incubator/nzbget/6.1.5/templates/common.yaml | 1 + incubator/nzbget/6.1.5/test_values.yaml | 31 + incubator/nzbget/6.1.5/values.yaml | 0 incubator/organizr/6.1.5/CONFIG.md | 8 + incubator/organizr/6.1.5/Chart.lock | 6 + incubator/organizr/6.1.5/Chart.yaml | 23 + incubator/organizr/6.1.5/README.md | 54 + incubator/organizr/6.1.5/app-readme.md | 3 + .../organizr/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/organizr/6.1.5/ix_values.yaml | 16 + incubator/organizr/6.1.5/questions.yaml | 717 ++++++++++ .../organizr/6.1.5/templates/common.yaml | 1 + incubator/organizr/6.1.5/test_values.yaml | 26 + incubator/organizr/6.1.5/values.yaml | 0 incubator/podgrab/4.1.5/CONFIG.md | 8 + incubator/podgrab/4.1.5/Chart.lock | 6 + incubator/podgrab/4.1.5/Chart.yaml | 27 + incubator/podgrab/4.1.5/README.md | 54 + incubator/podgrab/4.1.5/app-readme.md | 3 + .../podgrab/4.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/podgrab/4.1.5/ix_values.yaml | 26 + incubator/podgrab/4.1.5/questions.yaml | 655 +++++++++ incubator/podgrab/4.1.5/templates/common.yaml | 1 + incubator/podgrab/4.1.5/test_values.yaml | 57 + incubator/podgrab/4.1.5/values.yaml | 0 incubator/prowlarr/1.1.6/CONFIG.md | 8 + incubator/prowlarr/1.1.6/Chart.lock | 6 + incubator/prowlarr/1.1.6/Chart.yaml | 24 + incubator/prowlarr/1.1.6/README.md | 54 + incubator/prowlarr/1.1.6/app-readme.md | 1 + .../prowlarr/1.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/prowlarr/1.1.6/ix_values.yaml | 19 + incubator/prowlarr/1.1.6/questions.yaml | 555 ++++++++ .../prowlarr/1.1.6/templates/common.yaml | 1 + incubator/prowlarr/1.1.6/test_values.yaml | 40 + incubator/prowlarr/1.1.6/values.yaml | 0 incubator/qbittorrent/6.1.5/CONFIG.md | 8 + incubator/qbittorrent/6.1.5/Chart.lock | 6 + incubator/qbittorrent/6.1.5/Chart.yaml | 22 + incubator/qbittorrent/6.1.5/README.md | 49 + incubator/qbittorrent/6.1.5/app-readme.md | 3 + .../qbittorrent/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/qbittorrent/6.1.5/ix_values.yaml | 15 + incubator/qbittorrent/6.1.5/questions.yaml | 794 +++++++++++ .../6.1.5/templates/_configmap.tpl | 32 + .../qbittorrent/6.1.5/templates/common.yaml | 6 + incubator/qbittorrent/6.1.5/test_values.yaml | 52 + incubator/qbittorrent/6.1.5/values.yaml | 0 incubator/readarr/6.1.6/CONFIG.md | 8 + incubator/readarr/6.1.6/Chart.lock | 6 + incubator/readarr/6.1.6/Chart.yaml | 30 + incubator/readarr/6.1.6/README.md | 54 + incubator/readarr/6.1.6/app-readme.md | 3 + .../readarr/6.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/readarr/6.1.6/ix_values.yaml | 37 + incubator/readarr/6.1.6/questions.yaml | 647 +++++++++ incubator/readarr/6.1.6/templates/common.yaml | 1 + incubator/readarr/6.1.6/test_values.yaml | 47 + incubator/readarr/6.1.6/values.yaml | 0 incubator/reg/1.1.5/CONFIG.md | 8 + incubator/reg/1.1.5/Chart.lock | 6 + incubator/reg/1.1.5/Chart.yaml | 22 + incubator/reg/1.1.5/README.md | 54 + incubator/reg/1.1.5/app-readme.md | 1 + incubator/reg/1.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/reg/1.1.5/ci/ct-values.yaml | 2 + incubator/reg/1.1.5/ix_values.yaml | 19 + incubator/reg/1.1.5/questions.yaml | 543 ++++++++ incubator/reg/1.1.5/templates/common.yaml | 1 + incubator/reg/1.1.5/test_values.yaml | 35 + incubator/reg/1.1.5/values.yaml | 0 incubator/sabnzbd/6.1.5/CONFIG.md | 8 + incubator/sabnzbd/6.1.5/Chart.lock | 6 + incubator/sabnzbd/6.1.5/Chart.yaml | 23 + incubator/sabnzbd/6.1.5/README.md | 53 + incubator/sabnzbd/6.1.5/app-readme.md | 3 + .../sabnzbd/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/sabnzbd/6.1.5/ix_values.yaml | 15 + incubator/sabnzbd/6.1.5/questions.yaml | 654 +++++++++ incubator/sabnzbd/6.1.5/templates/common.yaml | 1 + incubator/sabnzbd/6.1.5/test_values.yaml | 26 + incubator/sabnzbd/6.1.5/values.yaml | 0 incubator/thelounge/1.1.5/CONFIG.md | 8 + incubator/thelounge/1.1.5/Chart.lock | 6 + incubator/thelounge/1.1.5/Chart.yaml | 24 + incubator/thelounge/1.1.5/README.md | 53 + incubator/thelounge/1.1.5/app-readme.md | 1 + .../thelounge/1.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/thelounge/1.1.5/ix_values.yaml | 19 + incubator/thelounge/1.1.5/questions.yaml | 548 ++++++++ .../thelounge/1.1.5/templates/common.yaml | 1 + incubator/thelounge/1.1.5/test_values.yaml | 44 + incubator/thelounge/1.1.5/values.yaml | 0 incubator/tvheadend/7.1.5/CONFIG.md | 8 + incubator/tvheadend/7.1.5/Chart.lock | 6 + incubator/tvheadend/7.1.5/Chart.yaml | 25 + incubator/tvheadend/7.1.5/README.md | 53 + incubator/tvheadend/7.1.5/app-readme.md | 3 + .../tvheadend/7.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/tvheadend/7.1.5/ix_values.yaml | 15 + incubator/tvheadend/7.1.5/questions.yaml | 703 ++++++++++ .../tvheadend/7.1.5/templates/common.yaml | 1 + incubator/tvheadend/7.1.5/test_values.yaml | 36 + incubator/tvheadend/7.1.5/values.yaml | 0 incubator/unifi/6.1.5/CONFIG.md | 8 + incubator/unifi/6.1.5/Chart.lock | 6 + incubator/unifi/6.1.5/Chart.yaml | 24 + incubator/unifi/6.1.5/README.md | 54 + incubator/unifi/6.1.5/app-readme.md | 3 + incubator/unifi/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/unifi/6.1.5/ix_values.yaml | 19 + incubator/unifi/6.1.5/questions.yaml | 802 +++++++++++ incubator/unifi/6.1.5/templates/common.yaml | 1 + incubator/unifi/6.1.5/test_values.yaml | 48 + incubator/unifi/6.1.5/values.yaml | 0 incubator/unpackerr/1.1.6/CONFIG.md | 8 + incubator/unpackerr/1.1.6/Chart.lock | 6 + incubator/unpackerr/1.1.6/Chart.yaml | 29 + incubator/unpackerr/1.1.6/README.md | 54 + incubator/unpackerr/1.1.6/app-readme.md | 3 + .../unpackerr/1.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes incubator/unpackerr/1.1.6/ix_values.yaml | 25 + incubator/unpackerr/1.1.6/questions.yaml | 541 ++++++++ .../unpackerr/1.1.6/templates/common.yaml | 1 + incubator/unpackerr/1.1.6/test_values.yaml | 45 + incubator/unpackerr/1.1.6/values.yaml | 0 stable/collabora-online/6.1.5/CONFIG.md | 8 + stable/collabora-online/6.1.5/Chart.lock | 6 + stable/collabora-online/6.1.5/Chart.yaml | 28 + stable/collabora-online/6.1.5/README.md | 54 + stable/collabora-online/6.1.5/app-readme.md | 3 + .../6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/collabora-online/6.1.5/ix_values.yaml | 14 + stable/collabora-online/6.1.5/questions.yaml | 510 +++++++ .../6.1.5/templates/common.yaml | 1 + .../collabora-online/6.1.5/test_values.yaml | 22 + stable/collabora-online/6.1.5/values.yaml | 0 stable/deepstack-cpu/4.1.5/CONFIG.md | 8 + stable/deepstack-cpu/4.1.5/Chart.lock | 6 + stable/deepstack-cpu/4.1.5/Chart.yaml | 28 + stable/deepstack-cpu/4.1.5/README.md | 55 + stable/deepstack-cpu/4.1.5/app-readme.md | 3 + .../4.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/deepstack-cpu/4.1.5/ix_values.yaml | 19 + stable/deepstack-cpu/4.1.5/questions.yaml | 660 ++++++++++ .../deepstack-cpu/4.1.5/templates/common.yaml | 1 + stable/deepstack-cpu/4.1.5/test_values.yaml | 39 + stable/deepstack-cpu/4.1.5/values.yaml | 0 stable/emby/6.1.5/CONFIG.md | 8 + stable/emby/6.1.5/Chart.lock | 6 + stable/emby/6.1.5/Chart.yaml | 28 + stable/emby/6.1.5/README.md | 54 + stable/emby/6.1.5/app-readme.md | 3 + stable/emby/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/emby/6.1.5/ix_values.yaml | 22 + stable/emby/6.1.5/questions.yaml | 655 +++++++++ stable/emby/6.1.5/templates/common.yaml | 1 + stable/emby/6.1.5/test_values.yaml | 29 + stable/emby/6.1.5/values.yaml | 0 stable/esphome/6.1.5/CONFIG.md | 8 + stable/esphome/6.1.5/Chart.lock | 6 + stable/esphome/6.1.5/Chart.yaml | 27 + stable/esphome/6.1.5/README.md | 54 + stable/esphome/6.1.5/app-readme.md | 3 + stable/esphome/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/esphome/6.1.5/ix_values.yaml | 15 + stable/esphome/6.1.5/questions.yaml | 750 +++++++++++ stable/esphome/6.1.5/templates/common.yaml | 1 + stable/esphome/6.1.5/test_values.yaml | 30 + stable/esphome/6.1.5/values.yaml | 0 stable/handbrake/6.1.5/CONFIG.md | 8 + stable/handbrake/6.1.5/Chart.lock | 6 + stable/handbrake/6.1.5/Chart.yaml | 30 + stable/handbrake/6.1.5/README.md | 55 + stable/handbrake/6.1.5/app-readme.md | 3 + .../handbrake/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/handbrake/6.1.5/ix_values.yaml | 20 + stable/handbrake/6.1.5/questions.yaml | 816 ++++++++++++ stable/handbrake/6.1.5/templates/common.yaml | 1 + stable/handbrake/6.1.5/test_values.yaml | 51 + stable/handbrake/6.1.5/values.yaml | 0 stable/home-assistant/6.1.7/CONFIG.md | 8 + stable/home-assistant/6.1.7/Chart.lock | 6 + stable/home-assistant/6.1.7/Chart.yaml | 28 + stable/home-assistant/6.1.7/README.md | 54 + stable/home-assistant/6.1.7/app-readme.md | 3 + .../6.1.7/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/home-assistant/6.1.7/ix_values.yaml | 15 + stable/home-assistant/6.1.7/questions.yaml | 662 ++++++++++ .../6.1.7/templates/common.yaml | 1 + .../6.1.7/templates/secret.yaml | 15 + stable/home-assistant/6.1.7/test_values.yaml | 83 ++ stable/home-assistant/6.1.7/values.yaml | 0 stable/jackett/6.1.7/CONFIG.md | 8 + stable/jackett/6.1.7/Chart.lock | 6 + stable/jackett/6.1.7/Chart.yaml | 27 + stable/jackett/6.1.7/README.md | 53 + stable/jackett/6.1.7/app-readme.md | 3 + stable/jackett/6.1.7/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/jackett/6.1.7/ix_values.yaml | 25 + stable/jackett/6.1.7/questions.yaml | 646 +++++++++ stable/jackett/6.1.7/templates/common.yaml | 1 + stable/jackett/6.1.7/test_values.yaml | 39 + stable/jackett/6.1.7/values.yaml | 0 stable/jellyfin/6.1.5/CONFIG.md | 8 + stable/jellyfin/6.1.5/Chart.lock | 6 + stable/jellyfin/6.1.5/Chart.yaml | 27 + stable/jellyfin/6.1.5/README.md | 53 + stable/jellyfin/6.1.5/app-readme.md | 3 + stable/jellyfin/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/jellyfin/6.1.5/ix_values.yaml | 22 + stable/jellyfin/6.1.5/questions.yaml | 655 +++++++++ stable/jellyfin/6.1.5/templates/common.yaml | 1 + stable/jellyfin/6.1.5/test_values.yaml | 29 + stable/jellyfin/6.1.5/values.yaml | 0 stable/kms/6.1.6/CONFIG.md | 8 + stable/kms/6.1.6/Chart.lock | 6 + stable/kms/6.1.6/Chart.yaml | 25 + stable/kms/6.1.6/README.md | 53 + stable/kms/6.1.6/app-readme.md | 3 + stable/kms/6.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/kms/6.1.6/ix_values.yaml | 16 + stable/kms/6.1.6/questions.yaml | 394 ++++++ stable/kms/6.1.6/templates/common.yaml | 1 + stable/kms/6.1.6/test_values.yaml | 16 + stable/kms/6.1.6/values.yaml | 0 stable/lidarr/6.1.5/CONFIG.md | 8 + stable/lidarr/6.1.5/Chart.lock | 6 + stable/lidarr/6.1.5/Chart.yaml | 27 + stable/lidarr/6.1.5/README.md | 53 + stable/lidarr/6.1.5/app-readme.md | 3 + stable/lidarr/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/lidarr/6.1.5/ix_values.yaml | 37 + stable/lidarr/6.1.5/questions.yaml | 646 +++++++++ stable/lidarr/6.1.5/templates/common.yaml | 1 + stable/lidarr/6.1.5/test_values.yaml | 47 + stable/lidarr/6.1.5/values.yaml | 0 stable/ombi/6.1.7/CONFIG.md | 8 + stable/ombi/6.1.7/Chart.lock | 6 + stable/ombi/6.1.7/Chart.yaml | 30 + stable/ombi/6.1.7/README.md | 53 + stable/ombi/6.1.7/app-readme.md | 3 + stable/ombi/6.1.7/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/ombi/6.1.7/ix_values.yaml | 15 + stable/ombi/6.1.7/questions.yaml | 646 +++++++++ stable/ombi/6.1.7/templates/common.yaml | 1 + stable/ombi/6.1.7/test_values.yaml | 40 + stable/ombi/6.1.7/values.yaml | 0 stable/plex/5.1.6/CONFIG.md | 8 + stable/plex/5.1.6/Chart.lock | 6 + stable/plex/5.1.6/Chart.yaml | 25 + stable/plex/5.1.6/README.md | 49 + stable/plex/5.1.6/app-readme.md | 3 + stable/plex/5.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/plex/5.1.6/ix_values.yaml | 19 + stable/plex/5.1.6/questions.yaml | 673 ++++++++++ stable/plex/5.1.6/templates/common.yaml | 1 + stable/plex/5.1.6/test_values.yaml | 29 + stable/plex/5.1.6/values.yaml | 0 stable/radarr/6.1.5/CONFIG.md | 8 + stable/radarr/6.1.5/Chart.lock | 6 + stable/radarr/6.1.5/Chart.yaml | 27 + stable/radarr/6.1.5/README.md | 53 + stable/radarr/6.1.5/app-readme.md | 3 + stable/radarr/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/radarr/6.1.5/ix_values.yaml | 37 + stable/radarr/6.1.5/questions.yaml | 646 +++++++++ stable/radarr/6.1.5/templates/common.yaml | 1 + stable/radarr/6.1.5/test_values.yaml | 47 + stable/radarr/6.1.5/values.yaml | 0 stable/sonarr/6.1.5/CONFIG.md | 8 + stable/sonarr/6.1.5/Chart.lock | 6 + stable/sonarr/6.1.5/Chart.yaml | 27 + stable/sonarr/6.1.5/README.md | 53 + stable/sonarr/6.1.5/app-readme.md | 3 + stable/sonarr/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/sonarr/6.1.5/ix_values.yaml | 37 + stable/sonarr/6.1.5/questions.yaml | 646 +++++++++ stable/sonarr/6.1.5/templates/common.yaml | 1 + stable/sonarr/6.1.5/test_values.yaml | 47 + stable/sonarr/6.1.5/values.yaml | 0 stable/syncthing/6.1.5/CONFIG.md | 8 + stable/syncthing/6.1.5/Chart.lock | 6 + stable/syncthing/6.1.5/Chart.yaml | 27 + stable/syncthing/6.1.5/README.md | 55 + stable/syncthing/6.1.5/app-readme.md | 3 + .../syncthing/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/syncthing/6.1.5/ix_values.yaml | 15 + stable/syncthing/6.1.5/questions.yaml | 908 +++++++++++++ stable/syncthing/6.1.5/templates/common.yaml | 1 + stable/syncthing/6.1.5/test_values.yaml | 38 + stable/syncthing/6.1.5/values.yaml | 0 stable/tautulli/6.1.5/CONFIG.md | 8 + stable/tautulli/6.1.5/Chart.lock | 6 + stable/tautulli/6.1.5/Chart.yaml | 26 + stable/tautulli/6.1.5/README.md | 53 + stable/tautulli/6.1.5/app-readme.md | 3 + stable/tautulli/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/tautulli/6.1.5/ix_values.yaml | 15 + stable/tautulli/6.1.5/questions.yaml | 646 +++++++++ stable/tautulli/6.1.5/templates/common.yaml | 1 + stable/tautulli/6.1.5/test_values.yaml | 26 + stable/tautulli/6.1.5/values.yaml | 0 stable/traefik/6.1.5/CONFIG.md | 8 + stable/traefik/6.1.5/Chart.lock | 6 + stable/traefik/6.1.5/Chart.yaml | 28 + stable/traefik/6.1.5/LICENSE | 202 +++ stable/traefik/6.1.5/README.md | 55 + stable/traefik/6.1.5/app-readme.md | 3 + stable/traefik/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/traefik/6.1.5/crds/ingressroute.yaml | 12 + .../traefik/6.1.5/crds/ingressroutetcp.yaml | 12 + .../traefik/6.1.5/crds/ingressrouteudp.yaml | 13 + stable/traefik/6.1.5/crds/middlewares.yaml | 12 + .../traefik/6.1.5/crds/serverstransports.yaml | 12 + stable/traefik/6.1.5/crds/tlsoptions.yaml | 12 + stable/traefik/6.1.5/crds/tlsstores.yaml | 13 + .../traefik/6.1.5/crds/traefikservices.yaml | 12 + stable/traefik/6.1.5/ix_values.yaml | 316 +++++ stable/traefik/6.1.5/questions.yaml | 385 ++++++ stable/traefik/6.1.5/templates/_helpers.tpl | 62 + .../traefik/6.1.5/templates/_podtemplate.tpl | 265 ++++ .../6.1.5/templates/custom/common.yaml | 0 .../6.1.5/templates/custom/portal.yaml | 44 + stable/traefik/6.1.5/templates/daemonset.yaml | 40 + .../dashboard-hook-ingressroute.yaml | 28 + .../traefik/6.1.5/templates/deployment.yaml | 47 + stable/traefik/6.1.5/templates/gateway.yaml | 33 + .../traefik/6.1.5/templates/gatewayclass.yaml | 9 + stable/traefik/6.1.5/templates/hpa.yaml | 20 + .../traefik/6.1.5/templates/ingressclass.yaml | 23 + .../6.1.5/templates/poddisruptionbudget.yaml | 22 + .../6.1.5/templates/rbac/clusterrole.yaml | 112 ++ .../templates/rbac/clusterrolebinding.yaml | 19 + .../templates/rbac/podsecuritypolicy.yaml | 68 + stable/traefik/6.1.5/templates/rbac/role.yaml | 61 + .../6.1.5/templates/rbac/rolebinding.yaml | 19 + .../6.1.5/templates/rbac/serviceaccount.yaml | 15 + stable/traefik/6.1.5/templates/service.yaml | 112 ++ stable/traefik/6.1.5/templates/tlsoption.yaml | 14 + stable/traefik/6.1.5/test_values.yaml | 406 ++++++ stable/traefik/6.1.5/values.yaml | 0 stable/transmission/6.1.5/CONFIG.md | 8 + stable/transmission/6.1.5/Chart.lock | 6 + stable/transmission/6.1.5/Chart.yaml | 28 + stable/transmission/6.1.5/README.md | 54 + stable/transmission/6.1.5/app-readme.md | 3 + .../6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/transmission/6.1.5/ix_values.yaml | 50 + stable/transmission/6.1.5/questions.yaml | 1134 ++++++++++++++++ .../transmission/6.1.5/templates/common.yaml | 2 + stable/transmission/6.1.5/test_values.yaml | 106 ++ stable/transmission/6.1.5/values.yaml | 0 stable/truecommand/6.1.5/CONFIG.md | 8 + stable/truecommand/6.1.5/Chart.lock | 6 + stable/truecommand/6.1.5/Chart.yaml | 25 + stable/truecommand/6.1.5/README.md | 53 + stable/truecommand/6.1.5/app-readme.md | 3 + .../truecommand/6.1.5/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/truecommand/6.1.5/ix_values.yaml | 15 + stable/truecommand/6.1.5/questions.yaml | 607 +++++++++ .../truecommand/6.1.5/templates/common.yaml | 1 + stable/truecommand/6.1.5/test_values.yaml | 26 + stable/truecommand/6.1.5/values.yaml | 0 stable/vaultwarden/3.2.2/CONFIG.md | 8 + stable/vaultwarden/3.2.2/Chart.lock | 9 + stable/vaultwarden/3.2.2/Chart.yaml | 34 + stable/vaultwarden/3.2.2/README.md | 54 + stable/vaultwarden/3.2.2/app-readme.md | 3 + .../vaultwarden/3.2.2/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes .../3.2.2/charts/postgresql-10.5.0.tgz | Bin 0 -> 49174 bytes stable/vaultwarden/3.2.2/ix_values.yaml | 54 + stable/vaultwarden/3.2.2/questions.yaml | 1172 +++++++++++++++++ .../3.2.2/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.2.2/templates/_secrets.tpl | 59 + .../vaultwarden/3.2.2/templates/_validate.tpl | 17 + .../vaultwarden/3.2.2/templates/common.yaml | 11 + stable/vaultwarden/3.2.2/test_values.yaml | 172 +++ stable/vaultwarden/3.2.2/values.yaml | 0 stable/zwavejs2mqtt/6.1.6/CONFIG.md | 8 + stable/zwavejs2mqtt/6.1.6/Chart.lock | 6 + stable/zwavejs2mqtt/6.1.6/Chart.yaml | 30 + stable/zwavejs2mqtt/6.1.6/README.md | 54 + stable/zwavejs2mqtt/6.1.6/app-readme.md | 3 + .../6.1.6/charts/common-6.3.7.tgz | Bin 0 -> 22932 bytes stable/zwavejs2mqtt/6.1.6/ix_values.yaml | 63 + stable/zwavejs2mqtt/6.1.6/questions.yaml | 777 +++++++++++ .../zwavejs2mqtt/6.1.6/templates/common.yaml | 1 + stable/zwavejs2mqtt/6.1.6/test_values.yaml | 103 ++ stable/zwavejs2mqtt/6.1.6/values.yaml | 0 610 files changed, 45227 insertions(+) create mode 100644 deprecated/nzbhydra/6.1.5/CONFIG.md create mode 100644 deprecated/nzbhydra/6.1.5/Chart.lock create mode 100644 deprecated/nzbhydra/6.1.5/Chart.yaml create mode 100644 deprecated/nzbhydra/6.1.5/README.md create mode 100644 deprecated/nzbhydra/6.1.5/app-readme.md create mode 100644 deprecated/nzbhydra/6.1.5/charts/common-6.3.7.tgz create mode 100644 deprecated/nzbhydra/6.1.5/ix_values.yaml create mode 100644 deprecated/nzbhydra/6.1.5/questions.yaml create mode 100644 deprecated/nzbhydra/6.1.5/templates/common.yaml create mode 100644 deprecated/nzbhydra/6.1.5/test_values.yaml create mode 100644 deprecated/nzbhydra/6.1.5/values.yaml create mode 100644 develop/prototype-gui/1.2.7/CONFIG.md create mode 100644 develop/prototype-gui/1.2.7/Chart.lock create mode 100644 develop/prototype-gui/1.2.7/Chart.yaml create mode 100644 develop/prototype-gui/1.2.7/README.md create mode 100644 develop/prototype-gui/1.2.7/app-readme.md create mode 100644 develop/prototype-gui/1.2.7/charts/common-6.3.7.tgz create mode 100644 develop/prototype-gui/1.2.7/ix_values.yaml create mode 100644 develop/prototype-gui/1.2.7/questions.yaml create mode 100644 develop/prototype-gui/1.2.7/templates/common.yaml create mode 100644 develop/prototype-gui/1.2.7/test_values.yaml create mode 100644 develop/prototype-gui/1.2.7/values.yaml create mode 100644 incubator/airsonic/1.1.5/CONFIG.md create mode 100644 incubator/airsonic/1.1.5/Chart.lock create mode 100644 incubator/airsonic/1.1.5/Chart.yaml create mode 100644 incubator/airsonic/1.1.5/README.md create mode 100644 incubator/airsonic/1.1.5/app-readme.md create mode 100644 incubator/airsonic/1.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/airsonic/1.1.5/ix_values.yaml create mode 100644 incubator/airsonic/1.1.5/questions.yaml create mode 100644 incubator/airsonic/1.1.5/templates/common.yaml create mode 100644 incubator/airsonic/1.1.5/test_values.yaml create mode 100644 incubator/airsonic/1.1.5/values.yaml create mode 100644 incubator/appdaemon/3.1.5/CONFIG.md create mode 100644 incubator/appdaemon/3.1.5/Chart.lock create mode 100644 incubator/appdaemon/3.1.5/Chart.yaml create mode 100644 incubator/appdaemon/3.1.5/README.md create mode 100644 incubator/appdaemon/3.1.5/app-readme.md create mode 100644 incubator/appdaemon/3.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/appdaemon/3.1.5/ix_values.yaml create mode 100644 incubator/appdaemon/3.1.5/questions.yaml create mode 100644 incubator/appdaemon/3.1.5/templates/common.yaml create mode 100644 incubator/appdaemon/3.1.5/test_values.yaml create mode 100644 incubator/appdaemon/3.1.5/values.yaml create mode 100644 incubator/bazarr/6.1.5/CONFIG.md create mode 100644 incubator/bazarr/6.1.5/Chart.lock create mode 100644 incubator/bazarr/6.1.5/Chart.yaml create mode 100644 incubator/bazarr/6.1.5/README.md create mode 100644 incubator/bazarr/6.1.5/app-readme.md create mode 100644 incubator/bazarr/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/bazarr/6.1.5/ix_values.yaml create mode 100644 incubator/bazarr/6.1.5/questions.yaml create mode 100644 incubator/bazarr/6.1.5/templates/common.yaml create mode 100644 incubator/bazarr/6.1.5/test_values.yaml create mode 100644 incubator/bazarr/6.1.5/values.yaml create mode 100644 incubator/calibre-web/6.1.5/CONFIG.md create mode 100644 incubator/calibre-web/6.1.5/Chart.lock create mode 100644 incubator/calibre-web/6.1.5/Chart.yaml create mode 100644 incubator/calibre-web/6.1.5/README.md create mode 100644 incubator/calibre-web/6.1.5/app-readme.md create mode 100644 incubator/calibre-web/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/calibre-web/6.1.5/ix_values.yaml create mode 100644 incubator/calibre-web/6.1.5/questions.yaml create mode 100644 incubator/calibre-web/6.1.5/templates/common.yaml create mode 100644 incubator/calibre-web/6.1.5/test_values.yaml create mode 100644 incubator/calibre-web/6.1.5/values.yaml create mode 100644 incubator/deluge/6.1.5/CONFIG.md create mode 100644 incubator/deluge/6.1.5/Chart.lock create mode 100644 incubator/deluge/6.1.5/Chart.yaml create mode 100644 incubator/deluge/6.1.5/README.md create mode 100644 incubator/deluge/6.1.5/app-readme.md create mode 100644 incubator/deluge/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/deluge/6.1.5/ix_values.yaml create mode 100644 incubator/deluge/6.1.5/questions.yaml create mode 100644 incubator/deluge/6.1.5/templates/common.yaml create mode 100644 incubator/deluge/6.1.5/test_values.yaml create mode 100644 incubator/deluge/6.1.5/values.yaml create mode 100644 incubator/fireflyiii/4.2.2/CONFIG.md create mode 100644 incubator/fireflyiii/4.2.2/Chart.lock create mode 100644 incubator/fireflyiii/4.2.2/Chart.yaml create mode 100644 incubator/fireflyiii/4.2.2/README.md create mode 100644 incubator/fireflyiii/4.2.2/app-readme.md create mode 100644 incubator/fireflyiii/4.2.2/charts/common-6.3.7.tgz create mode 100644 incubator/fireflyiii/4.2.2/charts/postgresql-10.5.0.tgz create mode 100644 incubator/fireflyiii/4.2.2/ix_values.yaml create mode 100644 incubator/fireflyiii/4.2.2/questions.yaml create mode 100644 incubator/fireflyiii/4.2.2/templates/common.yaml create mode 100644 incubator/fireflyiii/4.2.2/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.2.2/test_values.yaml create mode 100644 incubator/fireflyiii/4.2.2/values.yaml create mode 100644 incubator/freshrss/6.1.5/CONFIG.md create mode 100644 incubator/freshrss/6.1.5/Chart.lock create mode 100644 incubator/freshrss/6.1.5/Chart.yaml create mode 100644 incubator/freshrss/6.1.5/README.md create mode 100644 incubator/freshrss/6.1.5/app-readme.md create mode 100644 incubator/freshrss/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/freshrss/6.1.5/ix_values.yaml create mode 100644 incubator/freshrss/6.1.5/questions.yaml create mode 100644 incubator/freshrss/6.1.5/templates/common.yaml create mode 100644 incubator/freshrss/6.1.5/test_values.yaml create mode 100644 incubator/freshrss/6.1.5/values.yaml create mode 100644 incubator/gaps/6.1.5/CONFIG.md create mode 100644 incubator/gaps/6.1.5/Chart.lock create mode 100644 incubator/gaps/6.1.5/Chart.yaml create mode 100644 incubator/gaps/6.1.5/README.md create mode 100644 incubator/gaps/6.1.5/app-readme.md create mode 100644 incubator/gaps/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/gaps/6.1.5/ix_values.yaml create mode 100644 incubator/gaps/6.1.5/questions.yaml create mode 100644 incubator/gaps/6.1.5/templates/common.yaml create mode 100644 incubator/gaps/6.1.5/test_values.yaml create mode 100644 incubator/gaps/6.1.5/values.yaml create mode 100644 incubator/grocy/6.1.5/CONFIG.md create mode 100644 incubator/grocy/6.1.5/Chart.lock create mode 100644 incubator/grocy/6.1.5/Chart.yaml create mode 100644 incubator/grocy/6.1.5/README.md create mode 100644 incubator/grocy/6.1.5/app-readme.md create mode 100644 incubator/grocy/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/grocy/6.1.5/ix_values.yaml create mode 100644 incubator/grocy/6.1.5/questions.yaml create mode 100644 incubator/grocy/6.1.5/templates/common.yaml create mode 100644 incubator/grocy/6.1.5/test_values.yaml create mode 100644 incubator/grocy/6.1.5/values.yaml create mode 100644 incubator/haste-server/1.1.5/CONFIG.md create mode 100644 incubator/haste-server/1.1.5/Chart.lock create mode 100644 incubator/haste-server/1.1.5/Chart.yaml create mode 100644 incubator/haste-server/1.1.5/README.md create mode 100644 incubator/haste-server/1.1.5/app-readme.md create mode 100644 incubator/haste-server/1.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/haste-server/1.1.5/ix_values.yaml create mode 100644 incubator/haste-server/1.1.5/questions.yaml create mode 100644 incubator/haste-server/1.1.5/templates/common.yaml create mode 100644 incubator/haste-server/1.1.5/test_values.yaml create mode 100644 incubator/haste-server/1.1.5/values.yaml create mode 100644 incubator/heimdall/6.1.5/CONFIG.md create mode 100644 incubator/heimdall/6.1.5/Chart.lock create mode 100644 incubator/heimdall/6.1.5/Chart.yaml create mode 100644 incubator/heimdall/6.1.5/README.md create mode 100644 incubator/heimdall/6.1.5/app-readme.md create mode 100644 incubator/heimdall/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/heimdall/6.1.5/ix_values.yaml create mode 100644 incubator/heimdall/6.1.5/questions.yaml create mode 100644 incubator/heimdall/6.1.5/templates/common.yaml create mode 100644 incubator/heimdall/6.1.5/test_values.yaml create mode 100644 incubator/heimdall/6.1.5/values.yaml create mode 100644 incubator/lazylibrarian/6.1.5/CONFIG.md create mode 100644 incubator/lazylibrarian/6.1.5/Chart.lock create mode 100644 incubator/lazylibrarian/6.1.5/Chart.yaml create mode 100644 incubator/lazylibrarian/6.1.5/README.md create mode 100644 incubator/lazylibrarian/6.1.5/app-readme.md create mode 100644 incubator/lazylibrarian/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/lazylibrarian/6.1.5/ix_values.yaml create mode 100644 incubator/lazylibrarian/6.1.5/questions.yaml create mode 100644 incubator/lazylibrarian/6.1.5/templates/common.yaml create mode 100644 incubator/lazylibrarian/6.1.5/test_values.yaml create mode 100644 incubator/lazylibrarian/6.1.5/values.yaml create mode 100644 incubator/lychee/6.1.5/CONFIG.md create mode 100644 incubator/lychee/6.1.5/Chart.lock create mode 100644 incubator/lychee/6.1.5/Chart.yaml create mode 100644 incubator/lychee/6.1.5/README.md create mode 100644 incubator/lychee/6.1.5/app-readme.md create mode 100644 incubator/lychee/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/lychee/6.1.5/ix_values.yaml create mode 100644 incubator/lychee/6.1.5/questions.yaml create mode 100644 incubator/lychee/6.1.5/templates/common.yaml create mode 100644 incubator/lychee/6.1.5/test_values.yaml create mode 100644 incubator/lychee/6.1.5/values.yaml create mode 100644 incubator/mealie/1.1.5/CONFIG.md create mode 100644 incubator/mealie/1.1.5/Chart.lock create mode 100644 incubator/mealie/1.1.5/Chart.yaml create mode 100644 incubator/mealie/1.1.5/README.md create mode 100644 incubator/mealie/1.1.5/app-readme.md create mode 100644 incubator/mealie/1.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/mealie/1.1.5/ix_values.yaml create mode 100644 incubator/mealie/1.1.5/questions.yaml create mode 100644 incubator/mealie/1.1.5/templates/common.yaml create mode 100644 incubator/mealie/1.1.5/test_values.yaml create mode 100644 incubator/mealie/1.1.5/values.yaml create mode 100644 incubator/mosquitto/1.1.6/CONFIG.md create mode 100644 incubator/mosquitto/1.1.6/Chart.lock create mode 100644 incubator/mosquitto/1.1.6/Chart.yaml create mode 100644 incubator/mosquitto/1.1.6/README.md create mode 100644 incubator/mosquitto/1.1.6/app-readme.md create mode 100644 incubator/mosquitto/1.1.6/charts/common-6.3.7.tgz create mode 100644 incubator/mosquitto/1.1.6/ix_values.yaml create mode 100644 incubator/mosquitto/1.1.6/questions.yaml create mode 100644 incubator/mosquitto/1.1.6/templates/common.yaml create mode 100644 incubator/mosquitto/1.1.6/templates/configmap.yaml create mode 100644 incubator/mosquitto/1.1.6/test_values.yaml create mode 100644 incubator/mosquitto/1.1.6/values.yaml create mode 100644 incubator/navidrome/6.1.5/CONFIG.md create mode 100644 incubator/navidrome/6.1.5/Chart.lock create mode 100644 incubator/navidrome/6.1.5/Chart.yaml create mode 100644 incubator/navidrome/6.1.5/README.md create mode 100644 incubator/navidrome/6.1.5/app-readme.md create mode 100644 incubator/navidrome/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/navidrome/6.1.5/ix_values.yaml create mode 100644 incubator/navidrome/6.1.5/questions.yaml create mode 100644 incubator/navidrome/6.1.5/templates/common.yaml create mode 100644 incubator/navidrome/6.1.5/test_values.yaml create mode 100644 incubator/navidrome/6.1.5/values.yaml create mode 100644 incubator/node-red/6.1.5/CONFIG.md create mode 100644 incubator/node-red/6.1.5/Chart.lock create mode 100644 incubator/node-red/6.1.5/Chart.yaml create mode 100644 incubator/node-red/6.1.5/README.md create mode 100644 incubator/node-red/6.1.5/app-readme.md create mode 100644 incubator/node-red/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/node-red/6.1.5/ix_values.yaml create mode 100644 incubator/node-red/6.1.5/questions.yaml create mode 100644 incubator/node-red/6.1.5/templates/common.yaml create mode 100644 incubator/node-red/6.1.5/test_values.yaml create mode 100644 incubator/node-red/6.1.5/values.yaml create mode 100644 incubator/nzbget/6.1.5/CONFIG.md create mode 100644 incubator/nzbget/6.1.5/Chart.lock create mode 100644 incubator/nzbget/6.1.5/Chart.yaml create mode 100644 incubator/nzbget/6.1.5/README.md create mode 100644 incubator/nzbget/6.1.5/app-readme.md create mode 100644 incubator/nzbget/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/nzbget/6.1.5/ix_values.yaml create mode 100644 incubator/nzbget/6.1.5/questions.yaml create mode 100644 incubator/nzbget/6.1.5/templates/common.yaml create mode 100644 incubator/nzbget/6.1.5/test_values.yaml create mode 100644 incubator/nzbget/6.1.5/values.yaml create mode 100644 incubator/organizr/6.1.5/CONFIG.md create mode 100644 incubator/organizr/6.1.5/Chart.lock create mode 100644 incubator/organizr/6.1.5/Chart.yaml create mode 100644 incubator/organizr/6.1.5/README.md create mode 100644 incubator/organizr/6.1.5/app-readme.md create mode 100644 incubator/organizr/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/organizr/6.1.5/ix_values.yaml create mode 100644 incubator/organizr/6.1.5/questions.yaml create mode 100644 incubator/organizr/6.1.5/templates/common.yaml create mode 100644 incubator/organizr/6.1.5/test_values.yaml create mode 100644 incubator/organizr/6.1.5/values.yaml create mode 100644 incubator/podgrab/4.1.5/CONFIG.md create mode 100644 incubator/podgrab/4.1.5/Chart.lock create mode 100644 incubator/podgrab/4.1.5/Chart.yaml create mode 100644 incubator/podgrab/4.1.5/README.md create mode 100644 incubator/podgrab/4.1.5/app-readme.md create mode 100644 incubator/podgrab/4.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/podgrab/4.1.5/ix_values.yaml create mode 100644 incubator/podgrab/4.1.5/questions.yaml create mode 100644 incubator/podgrab/4.1.5/templates/common.yaml create mode 100644 incubator/podgrab/4.1.5/test_values.yaml create mode 100644 incubator/podgrab/4.1.5/values.yaml create mode 100644 incubator/prowlarr/1.1.6/CONFIG.md create mode 100644 incubator/prowlarr/1.1.6/Chart.lock create mode 100644 incubator/prowlarr/1.1.6/Chart.yaml create mode 100644 incubator/prowlarr/1.1.6/README.md create mode 100644 incubator/prowlarr/1.1.6/app-readme.md create mode 100644 incubator/prowlarr/1.1.6/charts/common-6.3.7.tgz create mode 100644 incubator/prowlarr/1.1.6/ix_values.yaml create mode 100644 incubator/prowlarr/1.1.6/questions.yaml create mode 100644 incubator/prowlarr/1.1.6/templates/common.yaml create mode 100644 incubator/prowlarr/1.1.6/test_values.yaml create mode 100644 incubator/prowlarr/1.1.6/values.yaml create mode 100644 incubator/qbittorrent/6.1.5/CONFIG.md create mode 100644 incubator/qbittorrent/6.1.5/Chart.lock create mode 100644 incubator/qbittorrent/6.1.5/Chart.yaml create mode 100644 incubator/qbittorrent/6.1.5/README.md create mode 100644 incubator/qbittorrent/6.1.5/app-readme.md create mode 100644 incubator/qbittorrent/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/qbittorrent/6.1.5/ix_values.yaml create mode 100644 incubator/qbittorrent/6.1.5/questions.yaml create mode 100644 incubator/qbittorrent/6.1.5/templates/_configmap.tpl create mode 100644 incubator/qbittorrent/6.1.5/templates/common.yaml create mode 100644 incubator/qbittorrent/6.1.5/test_values.yaml create mode 100644 incubator/qbittorrent/6.1.5/values.yaml create mode 100644 incubator/readarr/6.1.6/CONFIG.md create mode 100644 incubator/readarr/6.1.6/Chart.lock create mode 100644 incubator/readarr/6.1.6/Chart.yaml create mode 100644 incubator/readarr/6.1.6/README.md create mode 100644 incubator/readarr/6.1.6/app-readme.md create mode 100644 incubator/readarr/6.1.6/charts/common-6.3.7.tgz create mode 100644 incubator/readarr/6.1.6/ix_values.yaml create mode 100644 incubator/readarr/6.1.6/questions.yaml create mode 100644 incubator/readarr/6.1.6/templates/common.yaml create mode 100644 incubator/readarr/6.1.6/test_values.yaml create mode 100644 incubator/readarr/6.1.6/values.yaml create mode 100644 incubator/reg/1.1.5/CONFIG.md create mode 100644 incubator/reg/1.1.5/Chart.lock create mode 100644 incubator/reg/1.1.5/Chart.yaml create mode 100644 incubator/reg/1.1.5/README.md create mode 100644 incubator/reg/1.1.5/app-readme.md create mode 100644 incubator/reg/1.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/reg/1.1.5/ci/ct-values.yaml create mode 100644 incubator/reg/1.1.5/ix_values.yaml create mode 100644 incubator/reg/1.1.5/questions.yaml create mode 100644 incubator/reg/1.1.5/templates/common.yaml create mode 100644 incubator/reg/1.1.5/test_values.yaml create mode 100644 incubator/reg/1.1.5/values.yaml create mode 100644 incubator/sabnzbd/6.1.5/CONFIG.md create mode 100644 incubator/sabnzbd/6.1.5/Chart.lock create mode 100644 incubator/sabnzbd/6.1.5/Chart.yaml create mode 100644 incubator/sabnzbd/6.1.5/README.md create mode 100644 incubator/sabnzbd/6.1.5/app-readme.md create mode 100644 incubator/sabnzbd/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/sabnzbd/6.1.5/ix_values.yaml create mode 100644 incubator/sabnzbd/6.1.5/questions.yaml create mode 100644 incubator/sabnzbd/6.1.5/templates/common.yaml create mode 100644 incubator/sabnzbd/6.1.5/test_values.yaml create mode 100644 incubator/sabnzbd/6.1.5/values.yaml create mode 100644 incubator/thelounge/1.1.5/CONFIG.md create mode 100644 incubator/thelounge/1.1.5/Chart.lock create mode 100644 incubator/thelounge/1.1.5/Chart.yaml create mode 100644 incubator/thelounge/1.1.5/README.md create mode 100644 incubator/thelounge/1.1.5/app-readme.md create mode 100644 incubator/thelounge/1.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/thelounge/1.1.5/ix_values.yaml create mode 100644 incubator/thelounge/1.1.5/questions.yaml create mode 100644 incubator/thelounge/1.1.5/templates/common.yaml create mode 100644 incubator/thelounge/1.1.5/test_values.yaml create mode 100644 incubator/thelounge/1.1.5/values.yaml create mode 100644 incubator/tvheadend/7.1.5/CONFIG.md create mode 100644 incubator/tvheadend/7.1.5/Chart.lock create mode 100644 incubator/tvheadend/7.1.5/Chart.yaml create mode 100644 incubator/tvheadend/7.1.5/README.md create mode 100644 incubator/tvheadend/7.1.5/app-readme.md create mode 100644 incubator/tvheadend/7.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/tvheadend/7.1.5/ix_values.yaml create mode 100644 incubator/tvheadend/7.1.5/questions.yaml create mode 100644 incubator/tvheadend/7.1.5/templates/common.yaml create mode 100644 incubator/tvheadend/7.1.5/test_values.yaml create mode 100644 incubator/tvheadend/7.1.5/values.yaml create mode 100644 incubator/unifi/6.1.5/CONFIG.md create mode 100644 incubator/unifi/6.1.5/Chart.lock create mode 100644 incubator/unifi/6.1.5/Chart.yaml create mode 100644 incubator/unifi/6.1.5/README.md create mode 100644 incubator/unifi/6.1.5/app-readme.md create mode 100644 incubator/unifi/6.1.5/charts/common-6.3.7.tgz create mode 100644 incubator/unifi/6.1.5/ix_values.yaml create mode 100644 incubator/unifi/6.1.5/questions.yaml create mode 100644 incubator/unifi/6.1.5/templates/common.yaml create mode 100644 incubator/unifi/6.1.5/test_values.yaml create mode 100644 incubator/unifi/6.1.5/values.yaml create mode 100644 incubator/unpackerr/1.1.6/CONFIG.md create mode 100644 incubator/unpackerr/1.1.6/Chart.lock create mode 100644 incubator/unpackerr/1.1.6/Chart.yaml create mode 100644 incubator/unpackerr/1.1.6/README.md create mode 100644 incubator/unpackerr/1.1.6/app-readme.md create mode 100644 incubator/unpackerr/1.1.6/charts/common-6.3.7.tgz create mode 100644 incubator/unpackerr/1.1.6/ix_values.yaml create mode 100644 incubator/unpackerr/1.1.6/questions.yaml create mode 100644 incubator/unpackerr/1.1.6/templates/common.yaml create mode 100644 incubator/unpackerr/1.1.6/test_values.yaml create mode 100644 incubator/unpackerr/1.1.6/values.yaml create mode 100644 stable/collabora-online/6.1.5/CONFIG.md create mode 100644 stable/collabora-online/6.1.5/Chart.lock create mode 100644 stable/collabora-online/6.1.5/Chart.yaml create mode 100644 stable/collabora-online/6.1.5/README.md create mode 100644 stable/collabora-online/6.1.5/app-readme.md create mode 100644 stable/collabora-online/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/collabora-online/6.1.5/ix_values.yaml create mode 100644 stable/collabora-online/6.1.5/questions.yaml create mode 100644 stable/collabora-online/6.1.5/templates/common.yaml create mode 100644 stable/collabora-online/6.1.5/test_values.yaml create mode 100644 stable/collabora-online/6.1.5/values.yaml create mode 100644 stable/deepstack-cpu/4.1.5/CONFIG.md create mode 100644 stable/deepstack-cpu/4.1.5/Chart.lock create mode 100644 stable/deepstack-cpu/4.1.5/Chart.yaml create mode 100644 stable/deepstack-cpu/4.1.5/README.md create mode 100644 stable/deepstack-cpu/4.1.5/app-readme.md create mode 100644 stable/deepstack-cpu/4.1.5/charts/common-6.3.7.tgz create mode 100644 stable/deepstack-cpu/4.1.5/ix_values.yaml create mode 100644 stable/deepstack-cpu/4.1.5/questions.yaml create mode 100644 stable/deepstack-cpu/4.1.5/templates/common.yaml create mode 100644 stable/deepstack-cpu/4.1.5/test_values.yaml create mode 100644 stable/deepstack-cpu/4.1.5/values.yaml create mode 100644 stable/emby/6.1.5/CONFIG.md create mode 100644 stable/emby/6.1.5/Chart.lock create mode 100644 stable/emby/6.1.5/Chart.yaml create mode 100644 stable/emby/6.1.5/README.md create mode 100644 stable/emby/6.1.5/app-readme.md create mode 100644 stable/emby/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/emby/6.1.5/ix_values.yaml create mode 100644 stable/emby/6.1.5/questions.yaml create mode 100644 stable/emby/6.1.5/templates/common.yaml create mode 100644 stable/emby/6.1.5/test_values.yaml create mode 100644 stable/emby/6.1.5/values.yaml create mode 100644 stable/esphome/6.1.5/CONFIG.md create mode 100644 stable/esphome/6.1.5/Chart.lock create mode 100644 stable/esphome/6.1.5/Chart.yaml create mode 100644 stable/esphome/6.1.5/README.md create mode 100644 stable/esphome/6.1.5/app-readme.md create mode 100644 stable/esphome/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/esphome/6.1.5/ix_values.yaml create mode 100644 stable/esphome/6.1.5/questions.yaml create mode 100644 stable/esphome/6.1.5/templates/common.yaml create mode 100644 stable/esphome/6.1.5/test_values.yaml create mode 100644 stable/esphome/6.1.5/values.yaml create mode 100644 stable/handbrake/6.1.5/CONFIG.md create mode 100644 stable/handbrake/6.1.5/Chart.lock create mode 100644 stable/handbrake/6.1.5/Chart.yaml create mode 100644 stable/handbrake/6.1.5/README.md create mode 100644 stable/handbrake/6.1.5/app-readme.md create mode 100644 stable/handbrake/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/handbrake/6.1.5/ix_values.yaml create mode 100644 stable/handbrake/6.1.5/questions.yaml create mode 100644 stable/handbrake/6.1.5/templates/common.yaml create mode 100644 stable/handbrake/6.1.5/test_values.yaml create mode 100644 stable/handbrake/6.1.5/values.yaml create mode 100644 stable/home-assistant/6.1.7/CONFIG.md create mode 100644 stable/home-assistant/6.1.7/Chart.lock create mode 100644 stable/home-assistant/6.1.7/Chart.yaml create mode 100644 stable/home-assistant/6.1.7/README.md create mode 100644 stable/home-assistant/6.1.7/app-readme.md create mode 100644 stable/home-assistant/6.1.7/charts/common-6.3.7.tgz create mode 100644 stable/home-assistant/6.1.7/ix_values.yaml create mode 100644 stable/home-assistant/6.1.7/questions.yaml create mode 100644 stable/home-assistant/6.1.7/templates/common.yaml create mode 100644 stable/home-assistant/6.1.7/templates/secret.yaml create mode 100644 stable/home-assistant/6.1.7/test_values.yaml create mode 100644 stable/home-assistant/6.1.7/values.yaml create mode 100644 stable/jackett/6.1.7/CONFIG.md create mode 100644 stable/jackett/6.1.7/Chart.lock create mode 100644 stable/jackett/6.1.7/Chart.yaml create mode 100644 stable/jackett/6.1.7/README.md create mode 100644 stable/jackett/6.1.7/app-readme.md create mode 100644 stable/jackett/6.1.7/charts/common-6.3.7.tgz create mode 100644 stable/jackett/6.1.7/ix_values.yaml create mode 100644 stable/jackett/6.1.7/questions.yaml create mode 100644 stable/jackett/6.1.7/templates/common.yaml create mode 100644 stable/jackett/6.1.7/test_values.yaml create mode 100644 stable/jackett/6.1.7/values.yaml create mode 100644 stable/jellyfin/6.1.5/CONFIG.md create mode 100644 stable/jellyfin/6.1.5/Chart.lock create mode 100644 stable/jellyfin/6.1.5/Chart.yaml create mode 100644 stable/jellyfin/6.1.5/README.md create mode 100644 stable/jellyfin/6.1.5/app-readme.md create mode 100644 stable/jellyfin/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/jellyfin/6.1.5/ix_values.yaml create mode 100644 stable/jellyfin/6.1.5/questions.yaml create mode 100644 stable/jellyfin/6.1.5/templates/common.yaml create mode 100644 stable/jellyfin/6.1.5/test_values.yaml create mode 100644 stable/jellyfin/6.1.5/values.yaml create mode 100644 stable/kms/6.1.6/CONFIG.md create mode 100644 stable/kms/6.1.6/Chart.lock create mode 100644 stable/kms/6.1.6/Chart.yaml create mode 100644 stable/kms/6.1.6/README.md create mode 100644 stable/kms/6.1.6/app-readme.md create mode 100644 stable/kms/6.1.6/charts/common-6.3.7.tgz create mode 100644 stable/kms/6.1.6/ix_values.yaml create mode 100644 stable/kms/6.1.6/questions.yaml create mode 100644 stable/kms/6.1.6/templates/common.yaml create mode 100644 stable/kms/6.1.6/test_values.yaml create mode 100644 stable/kms/6.1.6/values.yaml create mode 100644 stable/lidarr/6.1.5/CONFIG.md create mode 100644 stable/lidarr/6.1.5/Chart.lock create mode 100644 stable/lidarr/6.1.5/Chart.yaml create mode 100644 stable/lidarr/6.1.5/README.md create mode 100644 stable/lidarr/6.1.5/app-readme.md create mode 100644 stable/lidarr/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/lidarr/6.1.5/ix_values.yaml create mode 100644 stable/lidarr/6.1.5/questions.yaml create mode 100644 stable/lidarr/6.1.5/templates/common.yaml create mode 100644 stable/lidarr/6.1.5/test_values.yaml create mode 100644 stable/lidarr/6.1.5/values.yaml create mode 100644 stable/ombi/6.1.7/CONFIG.md create mode 100644 stable/ombi/6.1.7/Chart.lock create mode 100644 stable/ombi/6.1.7/Chart.yaml create mode 100644 stable/ombi/6.1.7/README.md create mode 100644 stable/ombi/6.1.7/app-readme.md create mode 100644 stable/ombi/6.1.7/charts/common-6.3.7.tgz create mode 100644 stable/ombi/6.1.7/ix_values.yaml create mode 100644 stable/ombi/6.1.7/questions.yaml create mode 100644 stable/ombi/6.1.7/templates/common.yaml create mode 100644 stable/ombi/6.1.7/test_values.yaml create mode 100644 stable/ombi/6.1.7/values.yaml create mode 100644 stable/plex/5.1.6/CONFIG.md create mode 100644 stable/plex/5.1.6/Chart.lock create mode 100644 stable/plex/5.1.6/Chart.yaml create mode 100644 stable/plex/5.1.6/README.md create mode 100644 stable/plex/5.1.6/app-readme.md create mode 100644 stable/plex/5.1.6/charts/common-6.3.7.tgz create mode 100644 stable/plex/5.1.6/ix_values.yaml create mode 100644 stable/plex/5.1.6/questions.yaml create mode 100644 stable/plex/5.1.6/templates/common.yaml create mode 100644 stable/plex/5.1.6/test_values.yaml create mode 100644 stable/plex/5.1.6/values.yaml create mode 100644 stable/radarr/6.1.5/CONFIG.md create mode 100644 stable/radarr/6.1.5/Chart.lock create mode 100644 stable/radarr/6.1.5/Chart.yaml create mode 100644 stable/radarr/6.1.5/README.md create mode 100644 stable/radarr/6.1.5/app-readme.md create mode 100644 stable/radarr/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/radarr/6.1.5/ix_values.yaml create mode 100644 stable/radarr/6.1.5/questions.yaml create mode 100644 stable/radarr/6.1.5/templates/common.yaml create mode 100644 stable/radarr/6.1.5/test_values.yaml create mode 100644 stable/radarr/6.1.5/values.yaml create mode 100644 stable/sonarr/6.1.5/CONFIG.md create mode 100644 stable/sonarr/6.1.5/Chart.lock create mode 100644 stable/sonarr/6.1.5/Chart.yaml create mode 100644 stable/sonarr/6.1.5/README.md create mode 100644 stable/sonarr/6.1.5/app-readme.md create mode 100644 stable/sonarr/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/sonarr/6.1.5/ix_values.yaml create mode 100644 stable/sonarr/6.1.5/questions.yaml create mode 100644 stable/sonarr/6.1.5/templates/common.yaml create mode 100644 stable/sonarr/6.1.5/test_values.yaml create mode 100644 stable/sonarr/6.1.5/values.yaml create mode 100644 stable/syncthing/6.1.5/CONFIG.md create mode 100644 stable/syncthing/6.1.5/Chart.lock create mode 100644 stable/syncthing/6.1.5/Chart.yaml create mode 100644 stable/syncthing/6.1.5/README.md create mode 100644 stable/syncthing/6.1.5/app-readme.md create mode 100644 stable/syncthing/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/syncthing/6.1.5/ix_values.yaml create mode 100644 stable/syncthing/6.1.5/questions.yaml create mode 100644 stable/syncthing/6.1.5/templates/common.yaml create mode 100644 stable/syncthing/6.1.5/test_values.yaml create mode 100644 stable/syncthing/6.1.5/values.yaml create mode 100644 stable/tautulli/6.1.5/CONFIG.md create mode 100644 stable/tautulli/6.1.5/Chart.lock create mode 100644 stable/tautulli/6.1.5/Chart.yaml create mode 100644 stable/tautulli/6.1.5/README.md create mode 100644 stable/tautulli/6.1.5/app-readme.md create mode 100644 stable/tautulli/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/tautulli/6.1.5/ix_values.yaml create mode 100644 stable/tautulli/6.1.5/questions.yaml create mode 100644 stable/tautulli/6.1.5/templates/common.yaml create mode 100644 stable/tautulli/6.1.5/test_values.yaml create mode 100644 stable/tautulli/6.1.5/values.yaml create mode 100644 stable/traefik/6.1.5/CONFIG.md create mode 100644 stable/traefik/6.1.5/Chart.lock create mode 100644 stable/traefik/6.1.5/Chart.yaml create mode 100644 stable/traefik/6.1.5/LICENSE create mode 100644 stable/traefik/6.1.5/README.md create mode 100644 stable/traefik/6.1.5/app-readme.md create mode 100644 stable/traefik/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/traefik/6.1.5/crds/ingressroute.yaml create mode 100644 stable/traefik/6.1.5/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/6.1.5/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/6.1.5/crds/middlewares.yaml create mode 100644 stable/traefik/6.1.5/crds/serverstransports.yaml create mode 100644 stable/traefik/6.1.5/crds/tlsoptions.yaml create mode 100644 stable/traefik/6.1.5/crds/tlsstores.yaml create mode 100644 stable/traefik/6.1.5/crds/traefikservices.yaml create mode 100644 stable/traefik/6.1.5/ix_values.yaml create mode 100644 stable/traefik/6.1.5/questions.yaml create mode 100644 stable/traefik/6.1.5/templates/_helpers.tpl create mode 100644 stable/traefik/6.1.5/templates/_podtemplate.tpl create mode 100644 stable/traefik/6.1.5/templates/custom/common.yaml create mode 100644 stable/traefik/6.1.5/templates/custom/portal.yaml create mode 100644 stable/traefik/6.1.5/templates/daemonset.yaml create mode 100644 stable/traefik/6.1.5/templates/dashboard-hook-ingressroute.yaml create mode 100644 stable/traefik/6.1.5/templates/deployment.yaml create mode 100644 stable/traefik/6.1.5/templates/gateway.yaml create mode 100644 stable/traefik/6.1.5/templates/gatewayclass.yaml create mode 100644 stable/traefik/6.1.5/templates/hpa.yaml create mode 100644 stable/traefik/6.1.5/templates/ingressclass.yaml create mode 100644 stable/traefik/6.1.5/templates/poddisruptionbudget.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/clusterrole.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/clusterrolebinding.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/podsecuritypolicy.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/role.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/rolebinding.yaml create mode 100644 stable/traefik/6.1.5/templates/rbac/serviceaccount.yaml create mode 100644 stable/traefik/6.1.5/templates/service.yaml create mode 100644 stable/traefik/6.1.5/templates/tlsoption.yaml create mode 100644 stable/traefik/6.1.5/test_values.yaml create mode 100644 stable/traefik/6.1.5/values.yaml create mode 100644 stable/transmission/6.1.5/CONFIG.md create mode 100644 stable/transmission/6.1.5/Chart.lock create mode 100644 stable/transmission/6.1.5/Chart.yaml create mode 100644 stable/transmission/6.1.5/README.md create mode 100644 stable/transmission/6.1.5/app-readme.md create mode 100644 stable/transmission/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/transmission/6.1.5/ix_values.yaml create mode 100644 stable/transmission/6.1.5/questions.yaml create mode 100644 stable/transmission/6.1.5/templates/common.yaml create mode 100644 stable/transmission/6.1.5/test_values.yaml create mode 100644 stable/transmission/6.1.5/values.yaml create mode 100644 stable/truecommand/6.1.5/CONFIG.md create mode 100644 stable/truecommand/6.1.5/Chart.lock create mode 100644 stable/truecommand/6.1.5/Chart.yaml create mode 100644 stable/truecommand/6.1.5/README.md create mode 100644 stable/truecommand/6.1.5/app-readme.md create mode 100644 stable/truecommand/6.1.5/charts/common-6.3.7.tgz create mode 100644 stable/truecommand/6.1.5/ix_values.yaml create mode 100644 stable/truecommand/6.1.5/questions.yaml create mode 100644 stable/truecommand/6.1.5/templates/common.yaml create mode 100644 stable/truecommand/6.1.5/test_values.yaml create mode 100644 stable/truecommand/6.1.5/values.yaml create mode 100644 stable/vaultwarden/3.2.2/CONFIG.md create mode 100644 stable/vaultwarden/3.2.2/Chart.lock create mode 100644 stable/vaultwarden/3.2.2/Chart.yaml create mode 100644 stable/vaultwarden/3.2.2/README.md create mode 100644 stable/vaultwarden/3.2.2/app-readme.md create mode 100644 stable/vaultwarden/3.2.2/charts/common-6.3.7.tgz create mode 100644 stable/vaultwarden/3.2.2/charts/postgresql-10.5.0.tgz create mode 100644 stable/vaultwarden/3.2.2/ix_values.yaml create mode 100644 stable/vaultwarden/3.2.2/questions.yaml create mode 100644 stable/vaultwarden/3.2.2/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.2.2/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.2.2/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.2.2/templates/common.yaml create mode 100644 stable/vaultwarden/3.2.2/test_values.yaml create mode 100644 stable/vaultwarden/3.2.2/values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/CONFIG.md create mode 100644 stable/zwavejs2mqtt/6.1.6/Chart.lock create mode 100644 stable/zwavejs2mqtt/6.1.6/Chart.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/README.md create mode 100644 stable/zwavejs2mqtt/6.1.6/app-readme.md create mode 100644 stable/zwavejs2mqtt/6.1.6/charts/common-6.3.7.tgz create mode 100644 stable/zwavejs2mqtt/6.1.6/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/questions.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/test_values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.6/values.yaml diff --git a/deprecated/nzbhydra/6.1.5/CONFIG.md b/deprecated/nzbhydra/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/deprecated/nzbhydra/6.1.5/Chart.lock b/deprecated/nzbhydra/6.1.5/Chart.lock new file mode 100644 index 00000000000..4e26a6daa9e --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:59.118118492Z" diff --git a/deprecated/nzbhydra/6.1.5/Chart.yaml b/deprecated/nzbhydra/6.1.5/Chart.yaml new file mode 100644 index 00000000000..4989e09f535 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/deprecated/nzbhydra/6.1.5/README.md b/deprecated/nzbhydra/6.1.5/README.md new file mode 100644 index 00000000000..c2333961dd9 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +Usenet meta search + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `nzbhydra` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbhydra` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/deprecated/nzbhydra/6.1.5/app-readme.md b/deprecated/nzbhydra/6.1.5/app-readme.md new file mode 100644 index 00000000000..2012c83a622 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Usenet meta search +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/deprecated/nzbhydra/6.1.5/charts/common-6.3.7.tgz b/deprecated/nzbhydra/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/deprecated/nzbhydra/6.1.5/ix_values.yaml b/deprecated/nzbhydra/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..057c2c67a5d --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/deprecated/nzbhydra/6.1.5/questions.yaml b/deprecated/nzbhydra/6.1.5/questions.yaml new file mode 100644 index 00000000000..457413fcda2 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5076 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36041 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/deprecated/nzbhydra/6.1.5/templates/common.yaml b/deprecated/nzbhydra/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/deprecated/nzbhydra/6.1.5/test_values.yaml b/deprecated/nzbhydra/6.1.5/test_values.yaml new file mode 100644 index 00000000000..5c988926a65 --- /dev/null +++ b/deprecated/nzbhydra/6.1.5/test_values.yaml @@ -0,0 +1,62 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5076 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/deprecated/nzbhydra/6.1.5/values.yaml b/deprecated/nzbhydra/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/develop/prototype-gui/1.2.7/CONFIG.md b/develop/prototype-gui/1.2.7/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/develop/prototype-gui/1.2.7/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/develop/prototype-gui/1.2.7/Chart.lock b/develop/prototype-gui/1.2.7/Chart.lock new file mode 100644 index 00000000000..778f149e1b8 --- /dev/null +++ b/develop/prototype-gui/1.2.7/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:58.165599777Z" diff --git a/develop/prototype-gui/1.2.7/Chart.yaml b/develop/prototype-gui/1.2.7/Chart.yaml new file mode 100644 index 00000000000..2a7286f9421 --- /dev/null +++ b/develop/prototype-gui/1.2.7/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +deprecated: false +description: App to test GUI prototypes +home: https://github.com/truecharts/apps/tree/master/charts/develop/prototype-gui +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: +- dev +- prototype +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: prototype-gui +sources: null +type: application +version: 1.2.7 diff --git a/develop/prototype-gui/1.2.7/README.md b/develop/prototype-gui/1.2.7/README.md new file mode 100644 index 00000000000..5b44b1dae6d --- /dev/null +++ b/develop/prototype-gui/1.2.7/README.md @@ -0,0 +1,49 @@ +# 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) + +App to test GUI prototypes + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `prototype-gui` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prototype-gui` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/develop/prototype-gui/1.2.7/app-readme.md b/develop/prototype-gui/1.2.7/app-readme.md new file mode 100644 index 00000000000..f1bf7dc8109 --- /dev/null +++ b/develop/prototype-gui/1.2.7/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +App to test GUI prototypes diff --git a/develop/prototype-gui/1.2.7/charts/common-6.3.7.tgz b/develop/prototype-gui/1.2.7/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/develop/prototype-gui/1.2.7/ix_values.yaml b/develop/prototype-gui/1.2.7/ix_values.yaml new file mode 100644 index 00000000000..1061fbbd45d --- /dev/null +++ b/develop/prototype-gui/1.2.7/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.263 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/develop/prototype-gui/1.2.7/questions.yaml b/develop/prototype-gui/1.2.7/questions.yaml new file mode 100644 index 00000000000..c8fc843abaf --- /dev/null +++ b/develop/prototype-gui/1.2.7/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" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "(Advanced) Enable Host Networking" + schema: + type: boolean + default: false + + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "(Advanced) LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Custom 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "(Advanced) Enable privileged mode" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "(Advanced) When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "(Advanced) Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "2Gi" + - variable: requests + label: "(Advanced) Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "50Mi" diff --git a/develop/prototype-gui/1.2.7/templates/common.yaml b/develop/prototype-gui/1.2.7/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/develop/prototype-gui/1.2.7/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/develop/prototype-gui/1.2.7/test_values.yaml b/develop/prototype-gui/1.2.7/test_values.yaml new file mode 100644 index 00000000000..0d015da4054 --- /dev/null +++ b/develop/prototype-gui/1.2.7/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.329 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/develop/prototype-gui/1.2.7/values.yaml b/develop/prototype-gui/1.2.7/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/airsonic/1.1.5/CONFIG.md b/incubator/airsonic/1.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/airsonic/1.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/airsonic/1.1.5/Chart.lock b/incubator/airsonic/1.1.5/Chart.lock new file mode 100644 index 00000000000..e01415575c6 --- /dev/null +++ b/incubator/airsonic/1.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:25.850854719Z" diff --git a/incubator/airsonic/1.1.5/Chart.yaml b/incubator/airsonic/1.1.5/Chart.yaml new file mode 100644 index 00000000000..e23d5399e83 --- /dev/null +++ b/incubator/airsonic/1.1.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +description: Airsonic is a Free and Open Source community driven media server +home: https://github.com/truecharts/apps/tree/master/charts/incubator/airsonic +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-logo.png +keywords: +- airsonic +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: airsonic +sources: +- https://github.com/airsonic/airsonic +- https://github.com/linuxserver/docker-airsonic +- https://github.com/k8s-at-home/charts/tree/master/charts/airsonic +version: 1.1.5 diff --git a/incubator/airsonic/1.1.5/README.md b/incubator/airsonic/1.1.5/README.md new file mode 100644 index 00000000000..9e5471b665e --- /dev/null +++ b/incubator/airsonic/1.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `airsonic` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `airsonic` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/airsonic/1.1.5/app-readme.md b/incubator/airsonic/1.1.5/app-readme.md new file mode 100644 index 00000000000..02ff47fc823 --- /dev/null +++ b/incubator/airsonic/1.1.5/app-readme.md @@ -0,0 +1 @@ +Airsonic is a Free and Open Source community driven media server diff --git a/incubator/airsonic/1.1.5/charts/common-6.3.7.tgz b/incubator/airsonic/1.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/airsonic/1.1.5/ix_values.yaml b/incubator/airsonic/1.1.5/ix_values.yaml new file mode 100644 index 00000000000..8771a6489cf --- /dev/null +++ b/incubator/airsonic/1.1.5/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/airsonic/1.1.5/questions.yaml b/incubator/airsonic/1.1.5/questions.yaml new file mode 100644 index 00000000000..a2b64349ee6 --- /dev/null +++ b/incubator/airsonic/1.1.5/questions.yaml @@ -0,0 +1,555 @@ +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: 36053 + 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/airsonic/1.1.5/templates/common.yaml b/incubator/airsonic/1.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/airsonic/1.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/airsonic/1.1.5/test_values.yaml b/incubator/airsonic/1.1.5/test_values.yaml new file mode 100644 index 00000000000..a704a092be3 --- /dev/null +++ b/incubator/airsonic/1.1.5/test_values.yaml @@ -0,0 +1,60 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-airsonic#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + CONTEXT_PATH: # "url-base" + # -- For passing additional java options. For some reverse proxies, you may need to pass `JAVA_OPTS=-Dserver.use-forward-headers=true` for airsonic to generate the proper URL schemes. + JAVA_OPTS: + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 4040 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + music: + enabled: false + mountPath: /music + playlists: + enabled: false + mountPath: /playlists + podcasts: + enabled: false + mountPath: /podcasts + media: + enabled: false + mountPath: /media diff --git a/incubator/airsonic/1.1.5/values.yaml b/incubator/airsonic/1.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/appdaemon/3.1.5/CONFIG.md b/incubator/appdaemon/3.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/appdaemon/3.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/appdaemon/3.1.5/Chart.lock b/incubator/appdaemon/3.1.5/Chart.lock new file mode 100644 index 00000000000..f9271471d78 --- /dev/null +++ b/incubator/appdaemon/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:26.758352126Z" diff --git a/incubator/appdaemon/3.1.5/Chart.yaml b/incubator/appdaemon/3.1.5/Chart.yaml new file mode 100644 index 00000000000..8706010c4cf --- /dev/null +++ b/incubator/appdaemon/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/appdaemon/3.1.5/README.md b/incubator/appdaemon/3.1.5/README.md new file mode 100644 index 00000000000..2da7ab26bbb --- /dev/null +++ b/incubator/appdaemon/3.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 3.1.2](https://img.shields.io/badge/Version-3.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `appdaemon` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `appdaemon` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/appdaemon/3.1.5/app-readme.md b/incubator/appdaemon/3.1.5/app-readme.md new file mode 100644 index 00000000000..083a4a25f67 --- /dev/null +++ b/incubator/appdaemon/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution diff --git a/incubator/appdaemon/3.1.5/charts/common-6.3.7.tgz b/incubator/appdaemon/3.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/appdaemon/3.1.5/ix_values.yaml b/incubator/appdaemon/3.1.5/ix_values.yaml new file mode 100644 index 00000000000..ef02d27c01d --- /dev/null +++ b/incubator/appdaemon/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: acockburn/appdaemon + pullPolicy: IfNotPresent + tag: "4.0.8" + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/appdaemon/3.1.5/questions.yaml b/incubator/appdaemon/3.1.5/questions.yaml new file mode 100644 index 00000000000..d5503b9e260 --- /dev/null +++ b/incubator/appdaemon/3.1.5/questions.yaml @@ -0,0 +1,485 @@ +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: "" + required: true + - variable: LATITUDE + label: "Latitude" + description: "Latitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + 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: 36052 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/appdaemon/3.1.5/templates/common.yaml b/incubator/appdaemon/3.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/appdaemon/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/appdaemon/3.1.5/test_values.yaml b/incubator/appdaemon/3.1.5/test_values.yaml new file mode 100644 index 00000000000..5038768a3f7 --- /dev/null +++ b/incubator/appdaemon/3.1.5/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://0.0.0.0:5050" + +service: + main: + ports: + main: + port: 5050 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51050 + protocol: TCP + +hostPathMounts: + - name: config + enabled: true + mountPath: /conf + type: emptyDir diff --git a/incubator/appdaemon/3.1.5/values.yaml b/incubator/appdaemon/3.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bazarr/6.1.5/CONFIG.md b/incubator/bazarr/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/bazarr/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/bazarr/6.1.5/Chart.lock b/incubator/bazarr/6.1.5/Chart.lock new file mode 100644 index 00000000000..e29e7f1c593 --- /dev/null +++ b/incubator/bazarr/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:27.668466601Z" diff --git a/incubator/bazarr/6.1.5/Chart.yaml b/incubator/bazarr/6.1.5/Chart.yaml new file mode 100644 index 00000000000..b122564c52e --- /dev/null +++ b/incubator/bazarr/6.1.5/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/bazarr/6.1.5/README.md b/incubator/bazarr/6.1.5/README.md new file mode 100644 index 00000000000..53d43687885 --- /dev/null +++ b/incubator/bazarr/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `bazarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `bazarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/bazarr/6.1.5/app-readme.md b/incubator/bazarr/6.1.5/app-readme.md new file mode 100644 index 00000000000..d983e4cb852 --- /dev/null +++ b/incubator/bazarr/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Bazarr is a companion application to Bazarr and Radarr. It manages and diff --git a/incubator/bazarr/6.1.5/charts/common-6.3.7.tgz b/incubator/bazarr/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/bazarr/6.1.5/ix_values.yaml b/incubator/bazarr/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..a24f5dba0c4 --- /dev/null +++ b/incubator/bazarr/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/bazarr/6.1.5/questions.yaml b/incubator/bazarr/6.1.5/questions.yaml new file mode 100644 index 00000000000..a0e10cb3215 --- /dev/null +++ b/incubator/bazarr/6.1.5/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6767 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36025 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/bazarr/6.1.5/templates/common.yaml b/incubator/bazarr/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bazarr/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bazarr/6.1.5/test_values.yaml b/incubator/bazarr/6.1.5/test_values.yaml new file mode 100644 index 00000000000..4b2e3faafc5 --- /dev/null +++ b/incubator/bazarr/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6767 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/bazarr/6.1.5/values.yaml b/incubator/bazarr/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre-web/6.1.5/CONFIG.md b/incubator/calibre-web/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/calibre-web/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/calibre-web/6.1.5/Chart.lock b/incubator/calibre-web/6.1.5/Chart.lock new file mode 100644 index 00000000000..19d094159f2 --- /dev/null +++ b/incubator/calibre-web/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:28.61353593Z" diff --git a/incubator/calibre-web/6.1.5/Chart.yaml b/incubator/calibre-web/6.1.5/Chart.yaml new file mode 100644 index 00000000000..5361678a3b6 --- /dev/null +++ b/incubator/calibre-web/6.1.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/calibre-web/6.1.5/README.md b/incubator/calibre-web/6.1.5/README.md new file mode 100644 index 00000000000..49f2aeb758d --- /dev/null +++ b/incubator/calibre-web/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `calibre-web` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre-web` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/calibre-web/6.1.5/app-readme.md b/incubator/calibre-web/6.1.5/app-readme.md new file mode 100644 index 00000000000..e5b39d2720c --- /dev/null +++ b/incubator/calibre-web/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre-Web is a web app providing a clean interface for browsing, reading diff --git a/incubator/calibre-web/6.1.5/charts/common-6.3.7.tgz b/incubator/calibre-web/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/calibre-web/6.1.5/ix_values.yaml b/incubator/calibre-web/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/incubator/calibre-web/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/calibre-web/6.1.5/questions.yaml b/incubator/calibre-web/6.1.5/questions.yaml new file mode 100644 index 00000000000..4262a29ccb7 --- /dev/null +++ b/incubator/calibre-web/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8083 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36015 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/calibre-web/6.1.5/templates/common.yaml b/incubator/calibre-web/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/calibre-web/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/calibre-web/6.1.5/test_values.yaml b/incubator/calibre-web/6.1.5/test_values.yaml new file mode 100644 index 00000000000..240957f08b5 --- /dev/null +++ b/incubator/calibre-web/6.1.5/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Calibre-Web. + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8083 + +env: {} + # TZ: + # PUID: + # PGID: + # UMASK: + # DOCKER_MODS: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/calibre-web/6.1.5/values.yaml b/incubator/calibre-web/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deluge/6.1.5/CONFIG.md b/incubator/deluge/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/deluge/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/deluge/6.1.5/Chart.lock b/incubator/deluge/6.1.5/Chart.lock new file mode 100644 index 00000000000..0c81683af11 --- /dev/null +++ b/incubator/deluge/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:29.517109283Z" diff --git a/incubator/deluge/6.1.5/Chart.yaml b/incubator/deluge/6.1.5/Chart.yaml new file mode 100644 index 00000000000..1dfdaaf4a7f --- /dev/null +++ b/incubator/deluge/6.1.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/deluge/6.1.5/README.md b/incubator/deluge/6.1.5/README.md new file mode 100644 index 00000000000..9828773a773 --- /dev/null +++ b/incubator/deluge/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `deluge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deluge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/deluge/6.1.5/app-readme.md b/incubator/deluge/6.1.5/app-readme.md new file mode 100644 index 00000000000..0bce0f81e82 --- /dev/null +++ b/incubator/deluge/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Deluge App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Deluge App for TrueNAS SCALE diff --git a/incubator/deluge/6.1.5/charts/common-6.3.7.tgz b/incubator/deluge/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 zcmV)%K#jj2iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9syS2N%xwpCZm-UU!?Y+&vfb|EUrSViH zfyH0e?~TiD-0$RpIsOq9CC<_@m~ReXo~xf}mZCw7%Ba9OVQ;>z(un>A5`0m>;s#8z z0-O~UV#B8#OtTppgDD|-IUbEJF_~5uVU*2Aq^MBD%8X#1mm^XjG@8MZpkgH6^MN?P z5k(|Hz&RwaC_@gaDp3(-DM2Y=P^;12?)Lin-pw$xUn0q57)mQ%pgt)#3?EmFf@ZW83UY7vj3_9hgoqs03e05y&3}m zsET9^tbz*4)vqXt|Er9qSw&DfOwh#zPA|hWQLug}QVh$Dzx{2?1B(|Etspl!8p|dQ z=CVDz;a0de=-2;Z{?B1jq4I$QK>PgP+TGjTvgiNa_RiD%e~jlc$u3|r9suwR42R$p z5dc$=%~4U{7_kXXrU>K(n&1y0o3LM#DoN--6vOrhQQCk)%b}Fu0io$o;=BJ zW+)|VAckm`r6nRDD?mvgL6a&e5g7o$r&wLsWK^0F$U$Z)LtYmgX>djg!2syB#^Cmo z4lsciC|Lv+ub_iDu4WggpdA&X5*H{2c@|T_RG>V;5iG}GqlIHtep$d6fsz!EpvxOp z^xLceM~awo4a^xgxy)e9e2bz2L4v?aj3%&3$SQzo4Blo*g44@)c?^l@2ny>|wB{5! zf&Gvkp#%}s1W|+Mz>XLzC>Ve*)2yIl1()=jq@RwZLI*)#Xw9#AY+;(g51>ln9O8tI zHC9Xey$G1HDlRzy_Lo&v>sqUB4hteD45)vp>G78LC{2L`80Vi1u4l0tB5lm1qcn1DUQaBuf|BP|T1lZpP zP?W(bW2X{q6PT2UvAMWJWK0=dk1-*7XE=SUCN+4*=JgDIFyF1OD=3F2@7@ud;NMt7 zPf!t|l+aN?3%;n!y+O0AxM?jqC{Z!T5ju#XtV&5O_;VED2}UKjo+2_u1%N;l1(25o zm{oOTGBP%%k`0+njd7+=$yi!8q31i&alWhwcrsfA#I6BG_Ov1-LRIXFH2>4&#R zV=%iJ=CCZO7A~6m2I3T;bdHNGWukEo3rxp%8G&RgUdw48Fd-1>swiAXuXCm@@s-r>_Ukz@aKKcm~*m()qVVHdDU=2*YrI z(m89vGpZN}nt1aCN9hol6xmF5X1NB?2RO?q&z^yw7^gtNDUjofstL1fjcY!4-~#bNLm1C+O6fSu6UEH4mv2s9ADq2>|Kq{ycQ3~va5R(Gq$A2lJEMDr3PwT1 zDx>HqyH2lR5rc!1SG4jeLdwjd)=-fmg31tQqd1Go5rO4ZIl}3$C?dlc5;%l8lPk1y zMp~~9Wv>p=hde9MFwf#4HJ6GRFH2kbBPES>gly~a4@WQGA0NDV$z=xs6O5AhEt<&R z;>`&p(=nR|VVcE=a$zu#y($(4D)lG$@(s*ceO_A{O7zQc2J<14nzS?@!i}Q*wJJ6Q zhgC_k8ORHq6`0(BD1jwkabi4~pn?u*LS+OS+!r@ozC=?LS5)T9dWW>yF+%~Kf%2v# zXf~v68Ab&rID&~>M3N-CF6Er3as`5j)1aU-S_kT<0t>INXy*=Nm|mhHtIAp0>V)7@@s|Ns24BWWn6`6PoJeXXys4Nc$icrQq zy}Hy^m=uBuI66L+d@0w&c&Z91_0u>br4U(Q25&%t$}E{9kd{f7T~#^2Wl3jcmVz>y zA@EN%)hN^|FBvU|3@n#P0O%r+K0`4=88Riw*mNI*U_&l1FPSJE3FU&3Cl)G7TsCpb zVm6?~s#sDn{PWKRn*8$1N{euavNS?DDMzy2Fy#!!=_UP`QlX*Ai*hImj-K)L1*exo zGDY(B>VPi;r~Kz@oL-f}xD!)Ru${N+6h#%Ak%w7I&X$?xK`rl<9UGove4 ztxA?X;U##2qMIl|K0vB~u4M8FNmpS&4dg>vx&(B&4#EG>#aFBzfG)8p1~`=~G*vWV zIiyyPSzFhAH54$8u^8FWoiWuwocK

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/deluge/6.1.5/ix_values.yaml b/incubator/deluge/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/incubator/deluge/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/deluge/6.1.5/questions.yaml b/incubator/deluge/6.1.5/questions.yaml new file mode 100644 index 00000000000..a3466d75f73 --- /dev/null +++ b/incubator/deluge/6.1.5/questions.yaml @@ -0,0 +1,724 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + ## Portal Button + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + ## Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Australia/Hobart" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + ## Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + ## Enable Host Network + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8112 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36026 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/deluge/6.1.5/templates/common.yaml b/incubator/deluge/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deluge/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deluge/6.1.5/test_values.yaml b/incubator/deluge/6.1.5/test_values.yaml new file mode 100644 index 00000000000..3c8f28d1d26 --- /dev/null +++ b/incubator/deluge/6.1.5/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for deluge. + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8112 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51413 + protocol: TCP + udp: + enabled: true + port: 51413 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/deluge/6.1.5/values.yaml b/incubator/deluge/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/fireflyiii/4.2.2/CONFIG.md b/incubator/fireflyiii/4.2.2/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/fireflyiii/4.2.2/Chart.lock b/incubator/fireflyiii/4.2.2/Chart.lock new file mode 100644 index 00000000000..e86d2d1c65f --- /dev/null +++ b/incubator/fireflyiii/4.2.2/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.0 +digest: sha256:9a6660d5c343021f5243468da5588ba18d08ddd3430e998a76811c3b60414336 +generated: "2021-06-20T09:59:32.973072668Z" diff --git a/incubator/fireflyiii/4.2.2/Chart.yaml b/incubator/fireflyiii/4.2.2/Chart.yaml new file mode 100644 index 00000000000..a4d540a0f93 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.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: 4.2.2 diff --git a/incubator/fireflyiii/4.2.2/README.md b/incubator/fireflyiii/4.2.2/README.md new file mode 100644 index 00000000000..54d181719c1 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.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) + +A free and open source personal finance manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.4.9 | +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `fireflyiii` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `fireflyiii` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/fireflyiii/4.2.2/app-readme.md b/incubator/fireflyiii/4.2.2/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/app-readme.md @@ -0,0 +1,3 @@ +A free and open source personal finance manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A free and open source personal finance manager diff --git a/incubator/fireflyiii/4.2.2/charts/common-6.3.7.tgz b/incubator/fireflyiii/4.2.2/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.2.2/charts/postgresql-10.5.0.tgz b/incubator/fireflyiii/4.2.2/charts/postgresql-10.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72309c29cf1d0e33056d63289d1a13899aa50d30 GIT binary patch literal 49174 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 literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.2.2/ix_values.yaml b/incubator/fireflyiii/4.2.2/ix_values.yaml new file mode 100644 index 00000000000..a8ea761002b --- /dev/null +++ b/incubator/fireflyiii/4.2.2/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: fireflyiii + DB_DATABASE: fireflyiii + DB_CONNECTION: pgsql + DB_PORT: 5432 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: fireflyiii + postgresqlDatabase: fireflyiii + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/fireflyiii/4.2.2/questions.yaml b/incubator/fireflyiii/4.2.2/questions.yaml new file mode 100644 index 00000000000..c9df7f29875 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/questions.yaml @@ -0,0 +1,842 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36048 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/fireflyiii/4.2.2/templates/common.yaml b/incubator/fireflyiii/4.2.2/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/4.2.2/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/fireflyiii/4.2.2/templates/secrets.yaml b/incubator/fireflyiii/4.2.2/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/templates/secrets.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} + postgresql_host: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque diff --git a/incubator/fireflyiii/4.2.2/test_values.yaml b/incubator/fireflyiii/4.2.2/test_values.yaml new file mode 100644 index 00000000000..d05a4af4796 --- /dev/null +++ b/incubator/fireflyiii/4.2.2/test_values.yaml @@ -0,0 +1,82 @@ +# Default values for fireflyIII. + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: firefly + DB_DATABASE: firefly + DB_CONNECTION: pgsql + DB_PORT: 5432 + APP_KEY: AGcfkCUS233ZWmBXztYbdyCs2u7kkz55 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html/storage/upload" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: firefly + postgresqlDatabase: firefly + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/incubator/fireflyiii/4.2.2/values.yaml b/incubator/fireflyiii/4.2.2/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/freshrss/6.1.5/CONFIG.md b/incubator/freshrss/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/freshrss/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/freshrss/6.1.5/Chart.lock b/incubator/freshrss/6.1.5/Chart.lock new file mode 100644 index 00000000000..3865b794e0e --- /dev/null +++ b/incubator/freshrss/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:36.627493368Z" diff --git a/incubator/freshrss/6.1.5/Chart.yaml b/incubator/freshrss/6.1.5/Chart.yaml new file mode 100644 index 00000000000..5270458973e --- /dev/null +++ b/incubator/freshrss/6.1.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/freshrss/6.1.5/README.md b/incubator/freshrss/6.1.5/README.md new file mode 100644 index 00000000000..f74143bfe11 --- /dev/null +++ b/incubator/freshrss/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `freshrss` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `freshrss` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/freshrss/6.1.5/app-readme.md b/incubator/freshrss/6.1.5/app-readme.md new file mode 100644 index 00000000000..7d8a844b9cc --- /dev/null +++ b/incubator/freshrss/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +FreshRSS is a self-hosted RSS feed aggregator +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FreshRSS is a self-hosted RSS feed aggregator diff --git a/incubator/freshrss/6.1.5/charts/common-6.3.7.tgz b/incubator/freshrss/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/freshrss/6.1.5/ix_values.yaml b/incubator/freshrss/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..98641a23823 --- /dev/null +++ b/incubator/freshrss/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/freshrss/6.1.5/questions.yaml b/incubator/freshrss/6.1.5/questions.yaml new file mode 100644 index 00000000000..fd9e3abec77 --- /dev/null +++ b/incubator/freshrss/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36029 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/freshrss/6.1.5/templates/common.yaml b/incubator/freshrss/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/freshrss/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/freshrss/6.1.5/test_values.yaml b/incubator/freshrss/6.1.5/test_values.yaml new file mode 100644 index 00000000000..8cadee1dd69 --- /dev/null +++ b/incubator/freshrss/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for FreshRSS. + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/freshrss/6.1.5/values.yaml b/incubator/freshrss/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gaps/6.1.5/CONFIG.md b/incubator/gaps/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/gaps/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/gaps/6.1.5/Chart.lock b/incubator/gaps/6.1.5/Chart.lock new file mode 100644 index 00000000000..cb284dbd51c --- /dev/null +++ b/incubator/gaps/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:37.555890637Z" diff --git a/incubator/gaps/6.1.5/Chart.yaml b/incubator/gaps/6.1.5/Chart.yaml new file mode 100644 index 00000000000..b4c7e33005f --- /dev/null +++ b/incubator/gaps/6.1.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/gaps/6.1.5/README.md b/incubator/gaps/6.1.5/README.md new file mode 100644 index 00000000000..b38d707d483 --- /dev/null +++ b/incubator/gaps/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `gaps` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gaps` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/gaps/6.1.5/app-readme.md b/incubator/gaps/6.1.5/app-readme.md new file mode 100644 index 00000000000..2333306b1d5 --- /dev/null +++ b/incubator/gaps/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Gaps searches through your Plex Server or local folders for all movies, diff --git a/incubator/gaps/6.1.5/charts/common-6.3.7.tgz b/incubator/gaps/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/gaps/6.1.5/ix_values.yaml b/incubator/gaps/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/incubator/gaps/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/gaps/6.1.5/questions.yaml b/incubator/gaps/6.1.5/questions.yaml new file mode 100644 index 00000000000..ff744424e18 --- /dev/null +++ b/incubator/gaps/6.1.5/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8484 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36030 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/gaps/6.1.5/templates/common.yaml b/incubator/gaps/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gaps/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gaps/6.1.5/test_values.yaml b/incubator/gaps/6.1.5/test_values.yaml new file mode 100644 index 00000000000..c7555ac8822 --- /dev/null +++ b/incubator/gaps/6.1.5/test_values.yaml @@ -0,0 +1,24 @@ +# Default values for Gaps. + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8484 + +env: {} + # TZ: UTC + +persistence: + data: + enabled: true + mountPath: "/usr/data" + type: emptyDir diff --git a/incubator/gaps/6.1.5/values.yaml b/incubator/gaps/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/grocy/6.1.5/CONFIG.md b/incubator/grocy/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/grocy/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/grocy/6.1.5/Chart.lock b/incubator/grocy/6.1.5/Chart.lock new file mode 100644 index 00000000000..ce306a963f9 --- /dev/null +++ b/incubator/grocy/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:38.517331716Z" diff --git a/incubator/grocy/6.1.5/Chart.yaml b/incubator/grocy/6.1.5/Chart.yaml new file mode 100644 index 00000000000..831f7c68501 --- /dev/null +++ b/incubator/grocy/6.1.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/grocy/6.1.5/README.md b/incubator/grocy/6.1.5/README.md new file mode 100644 index 00000000000..6ac696bfe77 --- /dev/null +++ b/incubator/grocy/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `grocy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `grocy` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/grocy/6.1.5/app-readme.md b/incubator/grocy/6.1.5/app-readme.md new file mode 100644 index 00000000000..de807b7ad25 --- /dev/null +++ b/incubator/grocy/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ERP beyond your fridge - grocy is a web-based self-hosted groceries & diff --git a/incubator/grocy/6.1.5/charts/common-6.3.7.tgz b/incubator/grocy/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/grocy/6.1.5/ix_values.yaml b/incubator/grocy/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..f646426e755 --- /dev/null +++ b/incubator/grocy/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/grocy/6.1.5/questions.yaml b/incubator/grocy/6.1.5/questions.yaml new file mode 100644 index 00000000000..d56a7595712 --- /dev/null +++ b/incubator/grocy/6.1.5/questions.yaml @@ -0,0 +1,606 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36031 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/grocy/6.1.5/templates/common.yaml b/incubator/grocy/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/grocy/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/grocy/6.1.5/test_values.yaml b/incubator/grocy/6.1.5/test_values.yaml new file mode 100644 index 00000000000..66f3d07f06c --- /dev/null +++ b/incubator/grocy/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for grocy. + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/grocy/6.1.5/values.yaml b/incubator/grocy/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/haste-server/1.1.5/CONFIG.md b/incubator/haste-server/1.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/haste-server/1.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/haste-server/1.1.5/Chart.lock b/incubator/haste-server/1.1.5/Chart.lock new file mode 100644 index 00000000000..57ff5dc8a14 --- /dev/null +++ b/incubator/haste-server/1.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:39.461387139Z" diff --git a/incubator/haste-server/1.1.5/Chart.yaml b/incubator/haste-server/1.1.5/Chart.yaml new file mode 100644 index 00000000000..56648168f4d --- /dev/null +++ b/incubator/haste-server/1.1.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/haste-server/1.1.5/README.md b/incubator/haste-server/1.1.5/README.md new file mode 100644 index 00000000000..639245c20fa --- /dev/null +++ b/incubator/haste-server/1.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `haste-server` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `haste-server` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/haste-server/1.1.5/app-readme.md b/incubator/haste-server/1.1.5/app-readme.md new file mode 100644 index 00000000000..dd4cf171e08 --- /dev/null +++ b/incubator/haste-server/1.1.5/app-readme.md @@ -0,0 +1 @@ +Simple text sharing diff --git a/incubator/haste-server/1.1.5/charts/common-6.3.7.tgz b/incubator/haste-server/1.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/haste-server/1.1.5/ix_values.yaml b/incubator/haste-server/1.1.5/ix_values.yaml new file mode 100644 index 00000000000..a9ee0bcb65b --- /dev/null +++ b/incubator/haste-server/1.1.5/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/haste-server/1.1.5/questions.yaml b/incubator/haste-server/1.1.5/questions.yaml new file mode 100644 index 00000000000..cad110ee40c --- /dev/null +++ b/incubator/haste-server/1.1.5/questions.yaml @@ -0,0 +1,553 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: STORAGE_FILEPATH + label: "STORAGE_FILEPATH" + schema: + type: string + default: "/config" + - variable: STORAGE_TYPE + label: "STORAGE_TYPE" + schema: + type: string + default: "file" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7777 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36055 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/haste-server/1.1.5/templates/common.yaml b/incubator/haste-server/1.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/haste-server/1.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/haste-server/1.1.5/test_values.yaml b/incubator/haste-server/1.1.5/test_values.yaml new file mode 100644 index 00000000000..942cc592bd5 --- /dev/null +++ b/incubator/haste-server/1.1.5/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/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + +strategy: + type: Recreate + +# -- environment variables. See [image docs](https://github.com/seejohnrun/haste-server) for more details. +# @default -- See below +env: + # -- filepath for persistance + STORAGE_FILEPATH: "/config" + # -- sets backend + STORAGE_TYPE: "file" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 7777 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/haste-server/1.1.5/values.yaml b/incubator/haste-server/1.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/heimdall/6.1.5/CONFIG.md b/incubator/heimdall/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/heimdall/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/heimdall/6.1.5/Chart.lock b/incubator/heimdall/6.1.5/Chart.lock new file mode 100644 index 00000000000..22c34f5fe3a --- /dev/null +++ b/incubator/heimdall/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:40.378225806Z" diff --git a/incubator/heimdall/6.1.5/Chart.yaml b/incubator/heimdall/6.1.5/Chart.yaml new file mode 100644 index 00000000000..e725e797db4 --- /dev/null +++ b/incubator/heimdall/6.1.5/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/heimdall/6.1.5/README.md b/incubator/heimdall/6.1.5/README.md new file mode 100644 index 00000000000..09eddbba410 --- /dev/null +++ b/incubator/heimdall/6.1.5/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `heimdall` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `heimdall` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/heimdall/6.1.5/app-readme.md b/incubator/heimdall/6.1.5/app-readme.md new file mode 100644 index 00000000000..3fb24ea7f1b --- /dev/null +++ b/incubator/heimdall/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +An Application dashboard and launcher +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An Application dashboard and launcher diff --git a/incubator/heimdall/6.1.5/charts/common-6.3.7.tgz b/incubator/heimdall/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/heimdall/6.1.5/ix_values.yaml b/incubator/heimdall/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/incubator/heimdall/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/heimdall/6.1.5/questions.yaml b/incubator/heimdall/6.1.5/questions.yaml new file mode 100644 index 00000000000..ab9b4bbee26 --- /dev/null +++ b/incubator/heimdall/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/heimdall/6.1.5/templates/common.yaml b/incubator/heimdall/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/heimdall/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/heimdall/6.1.5/test_values.yaml b/incubator/heimdall/6.1.5/test_values.yaml new file mode 100644 index 00000000000..658614359ea --- /dev/null +++ b/incubator/heimdall/6.1.5/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for grocy. + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +probes: + startup: + enabled: true + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/heimdall/6.1.5/values.yaml b/incubator/heimdall/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lazylibrarian/6.1.5/CONFIG.md b/incubator/lazylibrarian/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lazylibrarian/6.1.5/Chart.lock b/incubator/lazylibrarian/6.1.5/Chart.lock new file mode 100644 index 00000000000..fa182b560b0 --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:41.334002274Z" diff --git a/incubator/lazylibrarian/6.1.5/Chart.yaml b/incubator/lazylibrarian/6.1.5/Chart.yaml new file mode 100644 index 00000000000..a2b6aa37523 --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/lazylibrarian/6.1.5/README.md b/incubator/lazylibrarian/6.1.5/README.md new file mode 100644 index 00000000000..364a16a27da --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `lazylibrarian` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lazylibrarian` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lazylibrarian/6.1.5/app-readme.md b/incubator/lazylibrarian/6.1.5/app-readme.md new file mode 100644 index 00000000000..c67c1844868 --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Get all your books, like series with Sonarr... +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Get all your books, like series with Sonarr... diff --git a/incubator/lazylibrarian/6.1.5/charts/common-6.3.7.tgz b/incubator/lazylibrarian/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/lazylibrarian/6.1.5/ix_values.yaml b/incubator/lazylibrarian/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lazylibrarian/6.1.5/questions.yaml b/incubator/lazylibrarian/6.1.5/questions.yaml new file mode 100644 index 00000000000..f063edc9c3d --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5299 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lazylibrarian/6.1.5/templates/common.yaml b/incubator/lazylibrarian/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lazylibrarian/6.1.5/test_values.yaml b/incubator/lazylibrarian/6.1.5/test_values.yaml new file mode 100644 index 00000000000..6bba6ace4dc --- /dev/null +++ b/incubator/lazylibrarian/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for LazyLibrarian. + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5299 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lazylibrarian/6.1.5/values.yaml b/incubator/lazylibrarian/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lychee/6.1.5/CONFIG.md b/incubator/lychee/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lychee/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lychee/6.1.5/Chart.lock b/incubator/lychee/6.1.5/Chart.lock new file mode 100644 index 00000000000..baf90170364 --- /dev/null +++ b/incubator/lychee/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:42.228656017Z" diff --git a/incubator/lychee/6.1.5/Chart.yaml b/incubator/lychee/6.1.5/Chart.yaml new file mode 100644 index 00000000000..7e596ba8e0d --- /dev/null +++ b/incubator/lychee/6.1.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/lychee/6.1.5/README.md b/incubator/lychee/6.1.5/README.md new file mode 100644 index 00000000000..aa434e835bb --- /dev/null +++ b/incubator/lychee/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `lychee` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lychee` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lychee/6.1.5/app-readme.md b/incubator/lychee/6.1.5/app-readme.md new file mode 100644 index 00000000000..792e9d50ab7 --- /dev/null +++ b/incubator/lychee/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Lychee is a free photo-management tool, which runs on your server or web-space +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Lychee is a free photo-management tool, which runs on your server or diff --git a/incubator/lychee/6.1.5/charts/common-6.3.7.tgz b/incubator/lychee/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/lychee/6.1.5/ix_values.yaml b/incubator/lychee/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..63bb15faef3 --- /dev/null +++ b/incubator/lychee/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lychee/6.1.5/questions.yaml b/incubator/lychee/6.1.5/questions.yaml new file mode 100644 index 00000000000..4846842195f --- /dev/null +++ b/incubator/lychee/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36034 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lychee/6.1.5/templates/common.yaml b/incubator/lychee/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lychee/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lychee/6.1.5/test_values.yaml b/incubator/lychee/6.1.5/test_values.yaml new file mode 100644 index 00000000000..fefa59b25b6 --- /dev/null +++ b/incubator/lychee/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Lychee. + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # PHP_TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lychee/6.1.5/values.yaml b/incubator/lychee/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mealie/1.1.5/CONFIG.md b/incubator/mealie/1.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mealie/1.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mealie/1.1.5/Chart.lock b/incubator/mealie/1.1.5/Chart.lock new file mode 100644 index 00000000000..64e85f41fdc --- /dev/null +++ b/incubator/mealie/1.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:43.172753534Z" diff --git a/incubator/mealie/1.1.5/Chart.yaml b/incubator/mealie/1.1.5/Chart.yaml new file mode 100644 index 00000000000..66f69cc7297 --- /dev/null +++ b/incubator/mealie/1.1.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/mealie/1.1.5/README.md b/incubator/mealie/1.1.5/README.md new file mode 100644 index 00000000000..e7c5ffbf7a7 --- /dev/null +++ b/incubator/mealie/1.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `mealie` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mealie` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mealie/1.1.5/app-readme.md b/incubator/mealie/1.1.5/app-readme.md new file mode 100644 index 00000000000..53470db1cd0 --- /dev/null +++ b/incubator/mealie/1.1.5/app-readme.md @@ -0,0 +1 @@ +Mealie is a self hosted recipe manager and meal planner with a RestAPI diff --git a/incubator/mealie/1.1.5/charts/common-6.3.7.tgz b/incubator/mealie/1.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/mealie/1.1.5/ix_values.yaml b/incubator/mealie/1.1.5/ix_values.yaml new file mode 100644 index 00000000000..92027f7dd62 --- /dev/null +++ b/incubator/mealie/1.1.5/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.4.3 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mealie/1.1.5/questions.yaml b/incubator/mealie/1.1.5/questions.yaml new file mode 100644 index 00000000000..92699684fd7 --- /dev/null +++ b/incubator/mealie/1.1.5/questions.yaml @@ -0,0 +1,548 @@ +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: 36056 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/data/" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mealie/1.1.5/templates/common.yaml b/incubator/mealie/1.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/mealie/1.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/mealie/1.1.5/test_values.yaml b/incubator/mealie/1.1.5/test_values.yaml new file mode 100644 index 00000000000..8262b72c2e7 --- /dev/null +++ b/incubator/mealie/1.1.5/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.4.3 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hay-kot.github.io/mealie/getting-started/install/#env-variables) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application database type + DB_TYPE: sqlite + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data/ diff --git a/incubator/mealie/1.1.5/values.yaml b/incubator/mealie/1.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mosquitto/1.1.6/CONFIG.md b/incubator/mosquitto/1.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mosquitto/1.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mosquitto/1.1.6/Chart.lock b/incubator/mosquitto/1.1.6/Chart.lock new file mode 100644 index 00000000000..4806458b804 --- /dev/null +++ b/incubator/mosquitto/1.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:44.145738907Z" diff --git a/incubator/mosquitto/1.1.6/Chart.yaml b/incubator/mosquitto/1.1.6/Chart.yaml new file mode 100644 index 00000000000..f26840f7b39 --- /dev/null +++ b/incubator/mosquitto/1.1.6/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +deprecated: false +description: Eclipse Mosquitto - An open source MQTT broker +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mosquitto +icon: https://raw.githubusercontent.com/eclipse/mosquitto/master/logo/mosquitto-logo-min.svg +keywords: +- mosquitto +- MQTT +- eclipse-iot +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: mosquitto +sources: +- https://github.com/eclipse/mosquitto +type: application +version: 1.1.6 diff --git a/incubator/mosquitto/1.1.6/README.md b/incubator/mosquitto/1.1.6/README.md new file mode 100644 index 00000000000..9d71dbea3f9 --- /dev/null +++ b/incubator/mosquitto/1.1.6/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.3](https://img.shields.io/badge/Version-1.1.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `mosquitto` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mosquitto` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mosquitto/1.1.6/app-readme.md b/incubator/mosquitto/1.1.6/app-readme.md new file mode 100644 index 00000000000..93652bac7a6 --- /dev/null +++ b/incubator/mosquitto/1.1.6/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Eclipse Mosquitto - An open source MQTT broker diff --git a/incubator/mosquitto/1.1.6/charts/common-6.3.7.tgz b/incubator/mosquitto/1.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/mosquitto/1.1.6/ix_values.yaml b/incubator/mosquitto/1.1.6/ix_values.yaml new file mode 100644 index 00000000000..b638fcf296e --- /dev/null +++ b/incubator/mosquitto/1.1.6/ix_values.yaml @@ -0,0 +1,18 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mosquitto/1.1.6/questions.yaml b/incubator/mosquitto/1.1.6/questions.yaml new file mode 100644 index 00000000000..8c6888e9170 --- /dev/null +++ b/incubator/mosquitto/1.1.6/questions.yaml @@ -0,0 +1,768 @@ +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: 36061 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mosquitto/1.1.6/templates/common.yaml b/incubator/mosquitto/1.1.6/templates/common.yaml new file mode 100644 index 00000000000..15d4d961a1c --- /dev/null +++ b/incubator/mosquitto/1.1.6/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Append the configMap volume to the volumes */}} +{{- define "mosquitto.configVolume" -}} +enabled: "true" +mountPath: "/mosquitto/config/mosquitto.conf" +subPath: "mosquitto.conf" +type: "custom" +volumeSpec: + configMap: + name: {{ template "common.names.fullname" . }}-config +{{- end -}} +{{- $_ := set .Values.persistence "mosquitto-config" (include "mosquitto.configVolume" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/mosquitto/1.1.6/templates/configmap.yaml b/incubator/mosquitto/1.1.6/templates/configmap.yaml new file mode 100644 index 00000000000..489d68b0ea5 --- /dev/null +++ b/incubator/mosquitto/1.1.6/templates/configmap.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-config + labels: + {{- include "common.labels" . | nindent 4 }} +data: + mosquitto.conf: | + listener {{ .Values.service.main.ports.main.port }} + {{- if .Values.auth.enabled }} + allow_anonymous false + {{- else }} + allow_anonymous true + {{- end }} + {{- if .Values.persistence.data.enabled }} + persistence true + persistence_location {{ .Values.persistence.data.mountPath }} + autosave_interval 1800 + {{- end }} + {{- if .Values.persistence.configinc.enabled }} + include_dir {{ .Values.persistence.configinc.mountPath }} + {{- end }} diff --git a/incubator/mosquitto/1.1.6/test_values.yaml b/incubator/mosquitto/1.1.6/test_values.yaml new file mode 100644 index 00000000000..cda69f06c35 --- /dev/null +++ b/incubator/mosquitto/1.1.6/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + protocol: TCP + enabled: true + port: 1883 + +auth: + # -- By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config. + enabled: false + +persistence: + # -- Configure a persistent volume to place mosquitto data in. + # When enabled, this enables `persistence` and `persistence_location` in the mosquitto config. + # @default -- See values.yaml + data: + enabled: false + mountPath: /mosquitto/data + # -- Configure a persistent volume to place *.conf mosquitto-config-files in. + # When enabled, this gets set as `include_dir` in the mosquitto config. + # @default -- See values.yaml + configinc: + enabled: false + mountPath: /mosquitto/configinc + accessMode: ReadWriteOnce + size: 100Mi diff --git a/incubator/mosquitto/1.1.6/values.yaml b/incubator/mosquitto/1.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/navidrome/6.1.5/CONFIG.md b/incubator/navidrome/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/navidrome/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/navidrome/6.1.5/Chart.lock b/incubator/navidrome/6.1.5/Chart.lock new file mode 100644 index 00000000000..a34aa7b8bba --- /dev/null +++ b/incubator/navidrome/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:45.078461794Z" diff --git a/incubator/navidrome/6.1.5/Chart.yaml b/incubator/navidrome/6.1.5/Chart.yaml new file mode 100644 index 00000000000..e8309b0789f --- /dev/null +++ b/incubator/navidrome/6.1.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/navidrome/6.1.5/README.md b/incubator/navidrome/6.1.5/README.md new file mode 100644 index 00000000000..55b2cc48984 --- /dev/null +++ b/incubator/navidrome/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `navidrome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `navidrome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/navidrome/6.1.5/app-readme.md b/incubator/navidrome/6.1.5/app-readme.md new file mode 100644 index 00000000000..4f10b994279 --- /dev/null +++ b/incubator/navidrome/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Navidrome is an open source web-based music collection server and streamer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Navidrome is an open source web-based music collection server and streamer diff --git a/incubator/navidrome/6.1.5/charts/common-6.3.7.tgz b/incubator/navidrome/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/navidrome/6.1.5/ix_values.yaml b/incubator/navidrome/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..864240f8e68 --- /dev/null +++ b/incubator/navidrome/6.1.5/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.43.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/navidrome/6.1.5/questions.yaml b/incubator/navidrome/6.1.5/questions.yaml new file mode 100644 index 00000000000..d2a38582d29 --- /dev/null +++ b/incubator/navidrome/6.1.5/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4533 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/navidrome/6.1.5/templates/common.yaml b/incubator/navidrome/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/navidrome/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/navidrome/6.1.5/test_values.yaml b/incubator/navidrome/6.1.5/test_values.yaml new file mode 100644 index 00000000000..fa731fdee65 --- /dev/null +++ b/incubator/navidrome/6.1.5/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.43.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 4533 + +env: + ND_SCANINTERVAL: "15m" + ND_LOGLEVEL: "info" + ND_SESSIONTIMEOUT: "24h" + ND_ENABLETRANSCODINGCONFIG: "true" + ND_MUSICFOLDER: "/music" + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/navidrome/6.1.5/values.yaml b/incubator/navidrome/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/node-red/6.1.5/CONFIG.md b/incubator/node-red/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/node-red/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/node-red/6.1.5/Chart.lock b/incubator/node-red/6.1.5/Chart.lock new file mode 100644 index 00000000000..960fa02b2f9 --- /dev/null +++ b/incubator/node-red/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:45.963234703Z" diff --git a/incubator/node-red/6.1.5/Chart.yaml b/incubator/node-red/6.1.5/Chart.yaml new file mode 100644 index 00000000000..61a3098c3a2 --- /dev/null +++ b/incubator/node-red/6.1.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/node-red/6.1.5/README.md b/incubator/node-red/6.1.5/README.md new file mode 100644 index 00000000000..7e2fe870bae --- /dev/null +++ b/incubator/node-red/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `node-red` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `node-red` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/node-red/6.1.5/app-readme.md b/incubator/node-red/6.1.5/app-readme.md new file mode 100644 index 00000000000..6ecbe710e71 --- /dev/null +++ b/incubator/node-red/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Node-RED is low-code programming for event-driven applications +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Node-RED is low-code programming for event-driven applications diff --git a/incubator/node-red/6.1.5/charts/common-6.3.7.tgz b/incubator/node-red/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/node-red/6.1.5/ix_values.yaml b/incubator/node-red/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..1a08797f274 --- /dev/null +++ b/incubator/node-red/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/node-red/6.1.5/questions.yaml b/incubator/node-red/6.1.5/questions.yaml new file mode 100644 index 00000000000..35a175907bb --- /dev/null +++ b/incubator/node-red/6.1.5/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1880 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36028 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/node-red/6.1.5/templates/common.yaml b/incubator/node-red/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/node-red/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/node-red/6.1.5/test_values.yaml b/incubator/node-red/6.1.5/test_values.yaml new file mode 100644 index 00000000000..a6ddda7114e --- /dev/null +++ b/incubator/node-red/6.1.5/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +strategy: + type: Recreate + +# See more environment varaibles in the node-red documentation +# https://nodered.org/docs/getting-started/docker +env: {} + # TZ: + # NODE_OPTIONS: + # NODE_RED_ENABLE_PROJECTS: + # NODE_RED_ENABLE_SAFE_MODE: + # FLOWS: + +service: + main: + ports: + main: + port: 1880 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/node-red/6.1.5/values.yaml b/incubator/node-red/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nzbget/6.1.5/CONFIG.md b/incubator/nzbget/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/nzbget/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/nzbget/6.1.5/Chart.lock b/incubator/nzbget/6.1.5/Chart.lock new file mode 100644 index 00000000000..cc3a9e842cb --- /dev/null +++ b/incubator/nzbget/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:46.883161469Z" diff --git a/incubator/nzbget/6.1.5/Chart.yaml b/incubator/nzbget/6.1.5/Chart.yaml new file mode 100644 index 00000000000..3a26680da51 --- /dev/null +++ b/incubator/nzbget/6.1.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/nzbget/6.1.5/README.md b/incubator/nzbget/6.1.5/README.md new file mode 100644 index 00000000000..702d0038550 --- /dev/null +++ b/incubator/nzbget/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `nzbget` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbget` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nzbget/6.1.5/app-readme.md b/incubator/nzbget/6.1.5/app-readme.md new file mode 100644 index 00000000000..bde861cf216 --- /dev/null +++ b/incubator/nzbget/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +NZBGet is a Usenet downloader client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +NZBGet is a Usenet downloader client diff --git a/incubator/nzbget/6.1.5/charts/common-6.3.7.tgz b/incubator/nzbget/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/nzbget/6.1.5/ix_values.yaml b/incubator/nzbget/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..ef8e5a4f233 --- /dev/null +++ b/incubator/nzbget/6.1.5/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/nzbget/6.1.5/questions.yaml b/incubator/nzbget/6.1.5/questions.yaml new file mode 100644 index 00000000000..c4f48e3803d --- /dev/null +++ b/incubator/nzbget/6.1.5/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6789 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36021 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/nzbget/6.1.5/templates/common.yaml b/incubator/nzbget/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nzbget/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nzbget/6.1.5/test_values.yaml b/incubator/nzbget/6.1.5/test_values.yaml new file mode 100644 index 00000000000..355d869f8c7 --- /dev/null +++ b/incubator/nzbget/6.1.5/test_values.yaml @@ -0,0 +1,31 @@ +# Default values for nzbget. + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6789 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/nzbget/6.1.5/values.yaml b/incubator/nzbget/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/organizr/6.1.5/CONFIG.md b/incubator/organizr/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/organizr/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/organizr/6.1.5/Chart.lock b/incubator/organizr/6.1.5/Chart.lock new file mode 100644 index 00000000000..3df6ef7c19f --- /dev/null +++ b/incubator/organizr/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:47.8085907Z" diff --git a/incubator/organizr/6.1.5/Chart.yaml b/incubator/organizr/6.1.5/Chart.yaml new file mode 100644 index 00000000000..501b645b5fd --- /dev/null +++ b/incubator/organizr/6.1.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/organizr/6.1.5/README.md b/incubator/organizr/6.1.5/README.md new file mode 100644 index 00000000000..c2cae416d20 --- /dev/null +++ b/incubator/organizr/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `organizr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `organizr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/organizr/6.1.5/app-readme.md b/incubator/organizr/6.1.5/app-readme.md new file mode 100644 index 00000000000..0bfeec6a4ef --- /dev/null +++ b/incubator/organizr/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +HTPC/Homelab Services Organizer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HTPC/Homelab Services Organizer diff --git a/incubator/organizr/6.1.5/charts/common-6.3.7.tgz b/incubator/organizr/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/organizr/6.1.5/ix_values.yaml b/incubator/organizr/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/incubator/organizr/6.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/organizr/6.1.5/questions.yaml b/incubator/organizr/6.1.5/questions.yaml new file mode 100644 index 00000000000..f4348d4ba38 --- /dev/null +++ b/incubator/organizr/6.1.5/questions.yaml @@ -0,0 +1,717 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36046 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/organizr/6.1.5/templates/common.yaml b/incubator/organizr/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/organizr/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/organizr/6.1.5/test_values.yaml b/incubator/organizr/6.1.5/test_values.yaml new file mode 100644 index 00000000000..e61f52c2663 --- /dev/null +++ b/incubator/organizr/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Organizr. + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/organizr/6.1.5/values.yaml b/incubator/organizr/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/podgrab/4.1.5/CONFIG.md b/incubator/podgrab/4.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/podgrab/4.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/podgrab/4.1.5/Chart.lock b/incubator/podgrab/4.1.5/Chart.lock new file mode 100644 index 00000000000..e21dd603529 --- /dev/null +++ b/incubator/podgrab/4.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:48.741077541Z" diff --git a/incubator/podgrab/4.1.5/Chart.yaml b/incubator/podgrab/4.1.5/Chart.yaml new file mode 100644 index 00000000000..e9154f153e3 --- /dev/null +++ b/incubator/podgrab/4.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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://truecharts.org/_static/img/podgrab-icon.png +keywords: +- podgrab +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: podgrab +sources: +- https://github.com/akhilrex/podgrab +- https://hub.docker.com/r/akhilrex/podgrab +type: application +version: 4.1.5 diff --git a/incubator/podgrab/4.1.5/README.md b/incubator/podgrab/4.1.5/README.md new file mode 100644 index 00000000000..3e8138a6285 --- /dev/null +++ b/incubator/podgrab/4.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `podgrab` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `podgrab` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/podgrab/4.1.5/app-readme.md b/incubator/podgrab/4.1.5/app-readme.md new file mode 100644 index 00000000000..6d69d3a84c9 --- /dev/null +++ b/incubator/podgrab/4.1.5/app-readme.md @@ -0,0 +1,3 @@ +A self-hosted podcast manager to download episodes as soon as they become live. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A self-hosted podcast manager to download episodes as soon as they become diff --git a/incubator/podgrab/4.1.5/charts/common-6.3.7.tgz b/incubator/podgrab/4.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 z3j|}#{wfJ9NRL^jjEqIM)l$>8Eolx2R0L#^sd06;hkND?oOgD&QvyHeV@f%R#_?HKB&d+1ZI` z9WJT98!Jni4ORMmME^Nel3XM*{sB8~DBh?A;7XVU_el-@De8Po=S4Dp>tqM8Km zp{PDT$XHa+|4@U`Y}JxSqZ{}aHXKj6JY9G&3OVc^ilq*8$pcZq{zDBzy-iCVgf7tc z7=l|JL+#l!a7GE6A()ncnjNqN5X|5QJga7usGV=N*7rAd)~P8*>#|O!M1m>@7u<7! z2^+Jed%W*>hxP8dQ)QD~tN6~g+PFS6cm@t?ZAq1kU`q8P7{}bvLX{zAtHqdYj>6&w zT%j9K;u%h0A=Rg^sV?}n1QU9d6H#EyoOw8H%%T!71GMCSYi)2$rn>GMYO3++#CCJ= zjFKsxVJnqT^|)rV2GWeXJV+FV;i@+7m4&xc~%ghd11te z=C!m@P0QVVNK-vt8`51OgdvkMq#oRz1Dw`VB^@KYW0W&qbPRC~&K*ZN=eT!>dxp8O zG%ye;+rX>qWCa;pWlw0iyvRrvWl5-gJFRjCL-Pxt(SLQqMe`5>(Kk^zQ9z_La@k+VP;Zo)bJ~(5)sZ z6Sbb0Y%hW})mrzt_sy8atkv9MJ4HbAJg_gJ*}La8=yTd*rP#EH#mcF5gOV{gRXe53 z64jSeoR$Q^7-SO-4=sJ3GZd^hLfXT^`%XC&i>W7l_a*N-U7WEMyr#XT+8z&*c}z-X zF*;FWKrL&pGZ_B^CNPaq!FuUfmeU1csdMVSejw%Yp^%xwlQyuPX_C^hb798mWr51F z&&pgEz2DL-;P{tjQDA|kS=2C>X0^%HDz!w_`>xFbj8AGwEDydmE9SN>&dXbA(#OVi5QIeEH7_sd;+VJ2()^4ec2)fu#K_C7-18+I-QuimbD7L?`0y;po zM-Z^~%9cE{CfqbDNj=&0fy=(grFtkx|2``TRW#)e1yS*$E`m5cDGnC_8OryyIpf3n_`|@l>KlTrl)`KB)@CcA6qo4+V7xiE;W2)(H_W)jO{K%vv+uZkc9h?IV!bJ$A_;mYKBDE zf1Dz|O|SORnHm7Wckf=+7V=q9q2q&7aC&&~`Xz`^LGXlX2+}D)`zL}4Iz$CA91-U5 ze)+463^)eb3eC&EXiFc8I176hh4-eeLzm!wvajhk zzb2v4qqZT$-e-eW!|}$VFv_si|Hdoy&`xwrw9)Nq3JbHdt10u@6=IpsqcwnLIk`E) z#TuJPR5(*QxW`H}yz_aa;hJPcqyoiq77Tdu;~@}%PqffaI7ygThH=a`wq%5AA@mSd zj=?!rQ8)_zPfS%J8J|ep|CS}y3`s@b+_;mguD(5eKKf5e&iicgo=nkuUj6UqYoe&w zGNvWJ9)2yRcd28#sEFAe{QVnB5l6^~;{g!h84#OaT89X=A5V0!b$Au4j$-C)9#Vae zL#01|NRyj}TXaE=R})^D%@CQgK#8P89ONaQqZE|9 zRlHHn`c=w|LllD*jf_<`G&$(BN)oEb8<5y~$-KkNl||M-G|e&2H$Em~MdfreU z>cUxk4SBFzfhra>0ni6rvJo035YN`?P8Z%`^_@;ULw(YGNwUx(g~5>DWK}U_AT=7^ z2@@vD(qH8f5*D&_ZU8tBwE#j0%IadseeG!}how?l;(EeL>l$m$Hpm!}CpTK4n6$V2d>mmz!lVQq!b1XjW0 zdZ;ucxunP;Kzn3L7n}=3t`SNBO!Vl6fyU}ZIIY;r@Wr@TZQu5yB*bIaB3dtVl5|_X zk9ci|Z8$?Qu4XJCiU;Nf^|}QCndOrbth_yVGrWKiwcnY7z=F(H<=hZJ)wU1sXbG71 zH?3PL|B+aI*mpL6IAT+%FbCHu{tfYu|6tgE(bb!496u5yv$g5pJ1H0Icq#btS<3l?mbgnrI za2n$|jw_hZp1R@+Hi8k;m*c?ONQHNmH(+Y7m3Bs^=#>Ax0Jcqr%~pM*DT4V>yc;qfuVD2tRnNH6M!6hiX-Nu* zQ?h8dE03wh>E#g3xf@^v%MxFvEKZTGoug;;Uyds)RtNOgsraQueez*k0ytsYNH-cy zps12NMB?@#O=26uG#=Mz=2|+8M_2P!KRA8RIn~ z(U8$Fq|=%GIfR_@(ds~Jhnj~tAA?}yZ=2!9?u&3E+*n`dqg_$TBf*CtkS@n4n+5XS z_4RdVydM|}WP!@8Dk3B``Vx%z@xam(rW_7r6?L-o8Tbi-s;pp=+<*c_*=&Z=nE79{ zK&(1+PE=>^Uy^|Y!MWJtVlh8-utzwnN)9`kW>|B~RV6Ay9xDWsG6OiJ@{aBAO{q{T zx$CY3MU_&WNegQiCt(sy2s^X+>{(6B8Yru1N(p#_Q%w6gl*VzKDf?KqMXOe&yuF;A zlPpQHYn)zk@Clv9YXHW-RwXMiqZm>|#TYDZ`0=X(&9b>%w2I^gTojP8XF^Z`zOLE* zHTUfC?vW>9qP!Y|jrH}J_{}xsG1%CA@dmSZvS<6%FwTFA^Z)9c)95`+l91%fOasu7 z|6_A!$Ikz;y|MRn{{K;)+uPAM194K16gPQBMSbn4qk}_b`(V>91g{7`Bv7ClUjpX zq2=?)1cE0Z{86INPs@fvedDm)(99YFFfU34@6d@x(;J1U0dy1-fd1_&OLa^T)W?eh zS<6kDUN8h7L5kCu3di*t8S|KSB9wUyy71NI?t@O#p##v4(J0!A(*QGpH~}kpfm1R8 z!Er_a6v+*2VphH?R|6lZt9qx&&TjU6gKDPmqB5N3&_T7kju>XW%Zq(pTHaZ~8ue^H zwjSmV^t6Nvn$>!5d&4{{2u!>Ld1`U11Qjz}mQ>gDk>F)A`oN>!UZn&T6S|l?Nzfbd zxh1{(X|DfjzAa4)=vx0bch{};e`kAr{b~JwjEAlNOxISiGE^uarm55A?;@!XlW9sT zP+3<%cJV8UhzMDNMV--sYT+tmQr98;>%O@h42Q#ko|=qh4V!Nau5cQUYYGN4L|_aF z9II>#j!DanJ(-|EEv6zQ%ew~i@1|_r)`c^(H5^i0M1vWN1IgIwN-r!bCD>0rlFg%P zXhlM5hb9?}on*EVsR!0+bolAisFY_x+}UMrZ(aCYWjSE!Ea5#dgCv^1*1D#xb3$47 zwWF_gIe0m)1$b@10MKB!51otUA!UP!@`c&y2Jg)@Gj%~P-z{KjgaBZU-FvX;g-wP{ z@oQ@+_aU}Hu6}gLMW{AP@+@|Aq6Y7C%gaC7<5>Tde!naQpkw{t+TPo-*ZwR9ybK*-V;f>29?s9500v1rnyRjTpN;D>iwPDR%FEqa6rkyE3?I%Vk< zyP;SwOm06Zqfg4{pGX;P>VNVq$MW`oy7a%zjXhicTi@G#(*GXgq52Y2pAx4W#KsQJcOqY=IQd#1*n}E`szsJz#T?G$lNqfKVOJ(m#r3>CB)YSAf*RzM2o&e|Ce6egXlZOA%+H*$EB4 z)ug++KtXJU;o*IR3i5rH#Ha`~JT7_~>_-JrdnwNwqo}v;qy5nS90(CXsv>Qi60lDz zbE(lK9_mqF&-mwJ%Dz&o`<9sKY>7DcD(ma@YM58(rgSvnBbeZ# zBo5#vfT1?lzT8c+Kk(Dk|MGeC$nig0d-nYw+nXCt`ro5G%>SqBe<$@R9}!v2f`{An zLBCgzg~e#|K1an773xyB+wzfGS|6x@Bxt5fcKeL6A&r<^GZy{?mt^=AU0el7@DY&g zl(59Tt6;UEHxe{sN`bjja>)CR?~Zj;TSjCnd41lPre~)|v+I-BT`lG%e-~}0MQODe z3+!_Aa1E@kqY#Bs0n;i_B?_VZFw1XP-Bo=Z(+!Y(9(5WWvM)}4JoJn}&|IKtX{BDQ zpnuoN1Oqk&*moY@!(OZk^MO^<4?)_x_HzxdX17q{hPGA0AU4W}Ue&bOgBB)R$>qb! zZD=f_>l$6x#M{^2;G8w0ZfxzQMX~+dqW6n;eb*bB{|xi8RSaLoVu^xKkbfR6dU zy|vjm|FgHd^)&w<T{t-EN{iooh}g3+b=w~E95s+w}-a|?ACXT`+Be)=+Btl(U=E-E=sW_M)o&gqZCNZw^Kea00Blvff=~4KgPBx=s*OR)`k4SGdc9X`k zDB47w{CMajiWPQHBV87(jGpRND`O|FepfWhsHlNfsYeBx50%#T{&d?)V?;{NLur-ujdO|52V+ z{U2J||5ObLkY_P~YEby?fJ!B>?rR1Zc}#}7f+rUOi5I7r4Sy=rDyKO-76CHdYJpLc zU$WG{vdc`VsT<8VFA#y!Wbw=>xA~$PaX%|XE_4jl8Ec)mWFG*RaYf&AYP~vDz09B8 z)1GOOlzz^L3>M|ODEdc0WsEANXV0|WSC{+8mVs#&wi@mL=M0us&a0CZ)M3+VlNe6ekC~~Zz ztu5rKotN22o{8?h?d(C9b64rf-QRfp>wh!F(OunvUH*Ui&0PQ2_cosV|Bv!4wEn*o zLjtHV(P!c3_iTLk?p61i?@FsBC#@YR%h2m*KR&!{)IK!s&T*~Q!PSd0j8Ys%X*3CO zHkxk)V!1x%SzZqafzfn^QgWp3d~__?_`{H{+TmN2AXuVMtZVEg51Z6hV{t_f_?mrX zE&256Ygcg5LyIZ@{9oQV(2n`Pv$3&l@Bi&=Z9L8Y$9NW+|1e1!=R=p_`EQ&b)OPB{ zyG8YRR(G!Ad|U^_YQsVVH-vV`%dp|**S|MTo0(YmTY@$mp$Rm zbWowwq19`UV+dOZahAKD@|oYQEBVYW;c*UYeI%<{Z+)+C*S)>1_lo&Vy8#EzZXI%f zZBPdI{ZeUcUz*!Rg!dj_UFKS`$wnjCb-MOjAg-I|)fsymb+xS%H$}(Y_{9fy>v|U| zn`J%1bU(K)`}8dS`0YPCNA}$f!7lr6XLrN)|7<_Se?87~hxjjhV1QqkGAX~KKO3ZU0g;#Uu`A>3!xXMF3H-J@&ynlKVP|F{uqtX3Q2Z>BF+3Yw z76;s=4za@D7>DHrq=vR+9oDd#D2~4KcKA<8ySHI%U_*zgcmYW?tz#hnJG*e3eM-MC zhp-~qFxTglnkM(P2OHL2Fh$8MET^MsmR$v7kQZnu=KmV~yUH&M7^7y{;WfgSQxc3p zFx*%V90g()$2ZKg1V=Z)7_gUR6-5ZeC|+YfClDtnUgP3t$X+q06wXp*U$(`6=|MpS zqU!=VVfe=27|l^3KGiqNjy1cD^S(rc-+-vIT+^cPj0Nw&B*!TlZ-rahH_C8mtE59P zy1?nEoLX;(k@e!ELx~g9>-`#dKFwKP344$=biZhtU8i99))+poDy`{A~BUzLstO~od)+~Rbf7d=yaYkQ_*t@~4mKf9A1)*zCOznQ$&gu?t_)u*-i^R_ih@n@@^Q`H<$R=N}DY8EF+Tmh6}&u z+df#~$H{r2Rqn|4!tCKG9q60B_UsX3g$?ahumVyfTBNnd*hS@z`xYn?Ic1f&C$Rxh z9|ZKfHJSJ&ipN>ZyvKpwR!M-dV~~oHmXVtkU_}SdcNgTC4Zc4+I|*2$+sm8=_UJJO zzrC9x-`}-|Oz4un)=tq$(JSkHq2PCPv6`3K2BVEd69#u0bqsxzty0L()OtMWLtcJSJP zz;pJx@k3(>-;AgySpD0G!PJU1*!!f3e%{Bg|1B>MY-jw>maYHo?rc7t|9+HbVg1j} z54%i_&qyBY(fai8*ZXLEu0)-^wLMOp7I^tNR6YZLQ;XBTdLh{wY&nlu5be0u&zR@0 zJ}Mn(z2kDi&ujn9{hjapkJVMsBcY&21Jv1Y-+&iu`7<+o-QG&Q%=+GT?7@B6FY~~z zczl>fSF9?3sGx!r5KZuvIy7=sU7#XG1eGDqMw0DpiWg-WO%df2a~-)iBittp;eUl%y$N5uHtRVmpm(bR=~*wM?6xAmvnwIkhN59 z!>QAF$`tdrFujy%n0#NyzWL#U<{e5yv#Yu~!`F-wvB0c@2|Ld#+HJiw*yXIy4wU<% zouK(AA6MLP`mn@1bJelxlhPa@uTB;{r`2e7UR@-(oE~T7ErRjQK^%)K;J9Dl2%c=hJS`E{FZEm|_BBZgn``UI*avIf z0Q2m8IlrDAo@l#b^-jgv;mN?YS!(TNbncV2K`?OC73x*k!Jm~nub~vRYI{-KjwDxt zT;EY#T~&>gue2sK_Z?eISx>G)zgEzigl`-C4v)ih+JEo4igq6>u*3e_*xIr0f8N`B zivM|>r_ap_OeQk>4_x9oN-Z0(w_Rsz`^}pdPMFN@x^_WI`p}T{_KgdMulgv+NY zTwl%`?%^Ebgy&It4pu=xib}YO?{xRzb2~Z3T>`_n^TBkok)%`sVKt)EDIK@8h7t)AJxt$NImF^lzQGKEhS$ZD?y-9M~9hO|6OZX&CxDS z@wIMoR%vVG7ssnRvSxv)tfnZyDZn2N>#t=i-|7+X+M!o3&3)}UL931jtf(zHn|-0i zHcfk3?VLAyD~1~f|9+H* zU3PuQTYh#|C-?x1ZyC;18h%-YF{2K*!<5RCfnw} zk%jgi0-$sMuW|q9-rmN})BJyoht2v%Z%1iAQWLs=@_VR^Vr6*vn8^yz8 z10iy7dKprI#BUNX{o5s)%~5ff&2m^E5d7yxxbe5Z;l%6YXlNeg5freihJudtBb-@> zQxsh(W|V~EyIG7Kbz1A8b$GmAlZ<@UtL+>V5lVH&o+k}+IZvDX7cnpQ_5gOt|MjN- zZ)fW%{{K-PUH=pD%8RLfa%+T6K6&Deji0s~#OQaC#NNBx;)u1<#Y}iefrJNnF6H~D zPXn0eR>bpM%d+3B;yaGigfoLFyhQQvg73Vj6IQ2nuH~kfJrymu4`&-}7&__exb|AR zudZ2_9b8N!WVTFhj6F%$Kl0Ni|M}2)@bh2W+naX$-|qJM=9Bz?jEBjommhMN#*O$t zp1|2Bo^-*Yg$rCJ*#%6F^@B!sWSSQ0AuiDfcr7cc!vSg^tf-i4$7g9a@K45Zr&VvP zSZ$TC<$=jPg+)R%PEI*cvu*aGN+Ynl#s0)I8Amb<+*;byMhUx zV7gG`IqQ&c@Dt+DS$RTn(9S8r1&Ux*B2Z>C#0)qt)p<8gFiK(`W|-g^CMc$M9hu@1 ztX$l%En3JvR9(Vj0fUIuU^Wrnewo+N&5t!lL*Wy7{ z-;2OlLp87>Km{f4G7SV~B`sa`SB>NAeIrVhiOA<5uhwrS0x=V{Ax`C?&>iXUX2V>} z8D5HMXC1;(=((1!Kx?Qbam3%XW?G;;fe`}1{|!L!K3H77$X3~6U8t-FQN;3;lZ>{m zqa~$L=h&LPn%mYa81h5GM(?S#>zyHlt3IfynN*}PbkzY#@kh`Xkk?_Nd6)7c%TbZs zfC$n-AqR|k2g0I{x8wjC*w?7Eyt#22GH$!=z9E7o!a9W_4Rn#UXcfFYV? zX^A{=+1FFFFxZknf+khM0J|WciUKa!!f1joR}x$;%H8u%!3N##GKq0^@S z%LCvK?EhKcZR-C!dr$tKM|qfZdxMHgzD^`r1QW5si8u&p8Hi*K{F@N0e&>Zc%u1@< zvs4IxhCU&s1~B^Cpf%tdK7-;C6NwKt0DWtM_Fl+Z++KIm{$>gPw;{1Er07+2bind&UJ@@avv zKzUYTk`*_a<=*i2nso@gTs0lQ?EOiVBwE4*vreu)S|{yw=>+AeV&g&=A^fgz8ow&3 zLR8@NQngcLQwx1Ztvga}w4H5k& z*AF-Q>)Rrm^`n56H1C)ZP(Mo6)QoxIqDmtQrSsRgBo;yJRrC0%EX_?b^@}5SkZu%r zaM6Nb-96eI$il)1PPhxK%u$3VHw@v3gP3Fm?RH#bDK)TEjA_s|+}-04rE|TK>_pmy zJp9z*EgA2F=U3JT)#1BV-}}wU+JTJVd{HPT+I^+!4leS*#yjBt`aK(sQDXZ ze6rOe=8)C9kax)QW^s-98O$YI&4pxp_(TDoJ}S_gX>m#>2?^a0r9tZgODBc}T9X%Q zlE}HSYcsofTMb)9>$F!Kfq%9&A=8_bE!}OuA_cNr8lb5#PpUj#ay+K}GN7%;5m55z}$bf4@bOTAVJb1a)%4 zj<%_lFqUY5pIamao@ve5wARLE%uWqOzo@MSCdN+l7Ps45jcMT>h%T}V)Is&=n*rc< zE5D}ntfY(RVsRb037R$2J{>!uYz8;_s z`)_M&!_NP?xA7GJ^EeN;{|40l%d?o9bC^(T$#4IKgI)$;p2f`^oVqzhO)Y*xn+<9E zU8^>}*%;)_Es7Qy>)OuoBFFDT=EE z6%v;5qCcEzR+3{Lnn_D&KNo``6+HQOYi(^ojnlF=xz!KDI5&!zI-I8!8XS>P@>^V# zD*VC>HxV(8RXE*U=Oj5iCC zWnP5av8Y?_AP;2IQ4z;X6v4zKS`nEiU`0~8%BR6p#?yQJA0!xx zq=wqh`^$|qi;)U6{Pby{|GqzTsHMD=f8QS}$r4o5sbsaE3&Q?W?%6H#>7oDKI}1ct z{P*5=Bmdvd)>Hi7qdd%#;yKln!YAWg427?Uy2ngSEkrAq+5DK(XlVHbT?yTFd)l44 z&yxwzOaTa*dH#4dJ8o7#cVFwzVelQmgFL5VMZDv+hl~0tc<2cFKx>Z*l*Xvwo2z&?MlPhUw_mrSTo?_hpON^z$J(? zer>J{DP!sqLR+mpJMt^@Xo)_yBi3+c4!l6M>Of$i}EIKw7;AxFcH2&gwYE z>1t7rYo*N#XL3 zpFXkSVqS#CVMbL+vY8#^%fFR5id_2{o4&m`b6e2rWTR^xJ3;~}3j`cCcP?ta?t6>g zHe;4e1dh8ohORv)3t4Bi#1>gr-Ki`QHB!Z!Ujne&AXSWjDIxiHh>QbQ7ulty zR=}^Yl^4=ppitao+t@ns0gxAw)F96Itur17p1u)nAW?prMOW>uaI>`0GNx<@vb3I~ z!>*k?34ys&VRD2Lcyo%PER9QpRdim2jzXZFbP1lSXH|jDrUfdeSrRv4+a-DeCU}Oj zig-yjzxM>1qXIK;svD;9*$uI$>h1pXb1$}E;M1x9>DzmE)B?Ng|J_|H|HtOW`recN z_b3lDQTes1Z5{xBW(eOdv2E@@r*rwk8hDNgn)$Br)isV81$06elJS0RfR32VV6awg zmjU`W2&P%dDg|{QV8AXCW_XR*e+Q<0QA|Sd96Qo?Wm)+eLJR2Ty#glrOwVE9q;9s7 zA{_*~!K%`9s*5m)b#xTtlPNqks>|x4t|WepjX*z7K#2yUKrsFxO>X4QHUHHC z#p^K9yRzR|5)Gm?&gPL3ayGB84nC8@&dJPqL_#k^=|^Xz68qw1X!GkLTzN<*cTf5M zkoljsws-gJ`0w?dr~BU@en70r!L-VxnawF z9S#@&{DWcL))%*T9!q@QSa(cPKj4z!^pf9;Z_IU;Y3mx^lprtA1Qh_Lz$}g@{61A& zGOx9WNNSL|--fc|%7Q+&8>2HO|scaH#94VTJN-=pWcQlGnYBKqgC z{|0^il1zJUfq>oEc7zLae#y7i)lRxLp@W*C7*`EHl6Gm61Q+m8xy5hU!KJQ1!W$FS1m9 zkEV9PW=l9~YfHFWFmQw|8io1tamxLKt}TC8puY1caDxQ%EO2v0=;uE8BYF~q{ufSB zGQ*c?R-onM=+OVxced>PpUu7Xr~JQ<@;n14kPuX)B~=6X2msepl!A*2CoxVhK@OuU zc!|nz@C>k<;>DJ43Cbx-5^$Mh7hncSG{x!V8YoZ#37#V+qqO%hjR(&_iY{5851qJZ zf z{@=kf@FOg6R+Zq@(aUlW=0)}^ipU_uF@hsryvTkXg!3}WVl?_aNC`3j-@ZIJdh;@z z#Sej_eg1Fk>~7fiziqB>KHdNJD9(A=`tc`FhT>oW-T?;=RjqvO;ET=4) zREV?D1&lAzNE9BjvO}CsvSJ2#wC4Z6BsU4#pCphB%YRp}K&#-dKc6u*BEc60EN(i0 z)3QTRv=jDV@NJcfeQREY1)!W26=Fw#%faBAZ@$lFD2JD5{LMGuKPB!=}3iu?$5W3_b#J)5FUd)kQvncSQm|4nBh6 za5x0~fASCZzQzJR0`?yR`j#tkGn7(d>oi_taQ^rGjc{W(TpzBVv!Yyup{W0fZoo$% z_Q{Tf%}f6(qXM(r9Vkjh0smM2&-jb|8hivN-@Q5l9|2A&jPsq{7w4S3kKp8;@5{S4 z2dDo8A3-TE7dsEu*Ea+8-5J08k%vEh1m{2h;wbr}=0xsS)?bX>$dSdUM8zBx?A-Iu z>%W);4~MWK)1a%`hE*-iQq)#SIxIedi!7rf6wEXR-mcotG=mv4G zCdU~$5jVATLeb978&GJ$f=&(k$B1WirHs9mB`Q6L^z!`B;3Bo|v4}Ro_*T(4M@5;XBT;%7CAc5J#zM-r=iD{9 z##e@McAfU&fGl6-y-HhR*tpCA#&JWZI(~Wf{^01%t7A8@UEpk8>-2w4-@p0c=-um= zPIyfjAsFc_eT@rrS-~Q{Z};1Pd;{R>MG46?o1u}a(FaWSf^_VVCOIE!j40bo;ABg zSjt=wPM(MiKK`n8jvY^#3I4!ViW5}Ka9IkTI*Dv#@bxT8`pH5k)%w9#p9oeexLVf4 z)i6Gw3+U{9HS|9Ec$+GIN5%WTYIZ-Rx>NbJPUbqx^cfDuVNee-`t}FcNJ1Dzs4U-P zHsH4i#y=I9pdZpmvv(a3y1LgctoD`CX%%%;v!a|^>JP<@+(QF25)jt(pt6(W>2>k5;|@j4TN( zNR{_wqb%KziL!JD3!7XpDzF_`TdCR?7SS{IzoU z`zE3*rM^cyDMBN|959|=PCd5qdX$GL+t|N8Ix=)EXpdN!vLq3 z!C>%zg0{_4HhSpTu2M__URNt$k^+%vTCjq6ax*F`Oi(ab9SoQxP?pabD#cM5kJ_g`AOTQ-ID$T9|yvQm7vZ`R8O5S|h zTGjLw0=^Ob7@n;f9DQ4*D`X9%=z7J$snuTW{0lFs3ZM@;iU^7YbhE&x8c-lMzk{)e#pz{&PI(TD zaa~zryA6b+Y=3lt(@{AMJ~@EarBx{d3H$gOmz>BJB)6je+A#Xm6Vn<9hLOU@<0B_o z0eFrS648#}k@&n{YR+l%ij4(cgLb*JWHOk*rqbi=T z+JD`rpDeI772iUf9B0=ns3^jhMUfRNt0oxhoNnzfd;?QFK|H~^VhTkEwqTh+L z27=}!Hpw|COH}a7+>bNza+Z^ul_pBFW}Odh4ZPqiYU8g2T&oxQ3fJ-L%E4-Q zIK@d^pmfE9Ku(GAzJ~PY^H<&`mw?Yk&^QOpJ`OeE?YkpcV5y zgBsFbE34rOCw{d_LG!G8la>FjV8Ua0R+@dXX3=9$1ohXdnDTuE^+9o2-a|@zMKpzb zPx(wi+(9_Q;2p9ThhXj89_vPavk* zwD8DiI+of6G^>4Q=}c=ss%WMN|EO}Aw(Y@$^2>C7cbV)J$uHBn1*C^)HXpa3ewof2 za{8a>hA~Y^YA2XlE~0cE^1t`l$M@OfJxb@gC}n6G4Y-xr>c%3MlB($<=i4NMjkbBn znb5NP+u>#(A|?WGz{}m1;efc3zaD<8426wO66zS>N!P%?B_b-osH2Z%ISfAg2`}T)7p}H6&WLJ#5 zMHBu9m8APjET>t_^KkWOM-9C(iq=42;ig3_40_{V&6;iQ;`s3oM=#$WAG~?Fl-4L{ z9h6G%XzZHnO-j!xrAPmB%=+kGxBt4eZsq;gr+aCzf9*nb@W>I zd;@c?AYP%B#w>0sy?%xLWjgPnudBPodTQ(}4z3Wm_$^x!$s3qE@Q6w>{|2xBGf&n0 zi>=f_m5!#qbL*G?AN}NRlxi5i@QOE!50Ex-AFTGG-`nYZ zQ1`{rVP3s~`Ol&kegXRm;}UJCm+5@XM7T@~iuS<$_874^_V##uhKZhHxK4 z%Vk(`5M#j9`ZWjSF$e-(Q=%>AU)_2(zj#b46Q?f^-@ZJnH5>l5Rxl-cQdB5u&v>o3-IABNUcaR$(CEUnS2z48-FXFXo1y)qzg zpVf7fcaNUXDLeHo&7YOBcSk3_9j;EwXx)1g#)15)G>9)`$<%8;-ipaYc*}apuMYCU z@i)=L@bmgF9Thz*o*cz%paD=&XsmH}L?Xt&ABmh~8lo1*1HaW`AFSU&aj*~@?>)`D zw^~7A``g}&gnK9v^^qI>#I}+fLSq>3gL8#MJEk+X$F;h{QGdkh$c-qo28^a?kqSWN z-IM2!On3>zv!5`T@@4;x%3!=83N7{Vh@ZD`_>bh#urW}_!QR01ra2JsZ)glQzH?K0 zD$*e@NTHG2bPQ%U><`Bv6v>u@*^R&y7=@-;NpeW0!x$2Hx1Nx>5nH)P!8Z!1+>KyF zX1RwhG+#1V8rB%i{VY=)V@1yI<3ahxQloiv{#iz+pupB9dZ7k!;B=GkB;4%eFGjDb3jsB2O$WtP+C)<`!pDhs^0*hgbSOt#CK>bhp> zMdc9_UhF(krxU%LRpSL(YR!EwT7S7y$Gq0b`(BK32G8t`PVx+q;G>Ow^I|j^vj9dk z_aZbtwY2~9XwIhk{G>TQu;#2QD=iANarMT1^k^NQrG3i%pt?jo-kkMak!JO0x!LzDb8z z$URE4d^$IodbS27 z?el-zyHEFjJj&De{2#E6^gYB8K#?2h0nPwgkQ;{pfq97Uk9H1_H^2WuK$~6elYkAT z(m&5`a&+I_8uoa%Y`8Z1El=Ly-j1)S1Ac?i+?{dn%^0{Ed-FA#G0+oO>E^-_M6)bC zMJ)&ajO(rTV^*Qm_vRO)L#wYhR#E5PENPITH)o0bI2D(7o%+HSY(n(gzV1ee3Blen zYn)2*lcLOH9~EZsgh9j?z2Bi}cjoNs>nlKW$2a7ydKW`&#nDDJ%;{2%?kV*HRY4{c^1Ei70Jp7-rF4Lxc^~&b8o}G z|8Hk!<4OO2jORcI&;d!TPRL8YYhd)DCc?M_66a>7O~3AYWnxL8z1XN?7s+Bm&!*)j+2wy9!|da z(;m0#XQKq3-e}*~G7UPPtXd?@eCFH*bJp=}8u0P5rrNDLHfkrs--7#td(2Z7` zE6YGvk82OQy1@M-tXg`dN03y%h4>931&%(~O5Ec9lgUg?tGcn^ad~-o^6nkM3I2^G zkvu^~gi-=8Q6Kr-Pa^v;?C-Aogsf`A*lNUW5am@c2D|Iclc-vw-k@1l+&pl*T9EAT z-KA+W1~3?dJzwh%v)Khs`>6-_@0`bJwd~L}(9VFTmGAy5-@+a``C7<25nQg47s~E-#{s&Y%cz=2Yg+qOpInCz_89&@aZSZ?v;TJb|MoWa?EJsmdr$d)ALsc} z{D0!YnPvO?Y_NYO|DI@jKYw0>QBD6{la~&E-IC8|3Y?x}_upq_`{_*{G2SBtphMmC z`oIKztv;_KT=sN&{jBBM;ui)v4rqF^`t+fMyQnDF4$@c#Ejvl_Ct7lo#t(#c6gIAQ z+UK`9v89Gz<{i_hxwcU z**q`Vbs@00X{*u2DU(sgX;Mh0GO5_-A4le`U`+_;eTI@JZy5V{ejmO8*KpC-7KXwz zaOjA9EJl0S#2D@44*f`N3|C^cUK99XCa=a^Nnw-0e-^7-^h3`R6oS=@xS8cby@*@c zBFYgxFG{?v5+sdttCDV`7qpoF_(PLur9b?&B^JN0=_-M(8C2J2H0U5~aWsE&wB9`L zOO=^6LfNb`xnz?-NX{o;JC_z|Ha`oXX0$lT+N;wn$>h7Hz=m zzdCz;+UhYnDY7|^@05}I9;-4*)S68H*mu}(trbhfwSE5Q&{5m72r`a{r;nit__2Nm z0%sCUH$6JbkFz?f=NHHF&%-nir+Asq47^y&-N}d$3E$L z_tW)S7I(UA+{2Gzq@GCHg4;+^p5`d(Ruegx7LNf*N; zHM>|=97sp}$L{Xtjurp0yR)(R6#wxU&zBPaaZ(Sx|IRL!9R}io{%48?F(g)ol_+*RrM`V`wvp`voIfE7cEOyDS*@e$0 z`9908ggx@#*@b0`3}HpGp|^wq&`xjJTUjYLhI^Ivav@GDU2!8VfUTV{ztf+?jbB2J;qb*c}A3 z825T!9hnA|QBe+6_FemfoqP33pf5$B_Y~GPEutfZcSkGgPj$*OM3%v7c#2>V)ww;p z(w;7arB6atMgO9yRQnNbu8~sId&dL61x*&yPg6E?W9nr^URAR~qlQe>TF;8Q_dMPw zlOXGsZPoGfyIir|LX9^~tf$>hx@3p;BJR!(N5z9C>brX}ok06u+U{4A+;HxxB^_q7 z8BF7@)4;Vl(^CgoME6)g=U80VSWL%QM7QX#Q!JuOETBUyt~)HMGxXIJ?r|jCt5}PX z=~t|UD?n@Rw^<>zZ6WA=N_JP;5rMo_8y{WZbW~31Dm{$YT0PCKQ!soBc6MKkcXnR@ z!O(xD%`bG^{mZ^w*>il_*-&}^tZqL%`=kJmnE?2AdMerRJAe8SLcyOB4wm|B&siW zXYt7;j!!D=k6Y@)SCr1flXtIJgp`Z{K0!;cNf|<;3`5D zv>)cEC~%DShwZdAh&t9PyDw;10#VJ26kJ?0E+hQ2Xsr1>>KR$ArWDa;RA5{IK)Kpi zan%qz^KIQ>KA)1TfS2@Bxr{4e{AX%4JPY3Ta;GV-;~Rru=(tsceOu=IDK(sq`D2mf zxXAM~f(iQHZ%>yjYz(?i4-a0y98x5H((s3&s56Y{tD#RCv0NO zT#MeF#7~Q9YRvWheLDLVIQv*5F%l4KFk6D>?|4Ft$7>cAIx?RM|D8v16f z<5KRzpN!vc^)zM#JBWzLbyi$`0h59~turIViF0n8QH9xkGvu^xV#5*=Q0Z$Y*l*d+ zzjNN{U}a)UKebP@?vF9+%*`!r4BT%T9;M|;mf+~-OPPcn(=a$ps*<4MTU=OHFBK>$ zXURP$PcIzzoA(9^c_!-Ex@PqaOe>gZK1Cuq1p<+ulunj`cR-~l@F%`5*&4GGC&92Dr{DAO8Uu~1dOSa zGzd6vCBT=ZM1>oidx)}}Lj3*HL|)QFuA@CDz(r=89$C^p!$ohFD|Hq7Tm+x4jr)gL zVdo_7n8Vus!YhJi_57WynDcW5R`c?XP3FL8YQ18kgL{d&-rD#|ZgMmRhzi3aT-eN> z;LAk-#*n~82|yn(v)q|mb<9ApKTT4YhkwX|vhUVH4x#apM}ANZz6qAKD7#LtVG$pk zymA+y52k(Q|4g4D%L6zDK>{yOQUVyxw~U46WcO^1M8C{7@Ip$($o(`OaQrdsAr7H0?$3SIF!CPcbzt3RoDul9deV1ol8ffx`-My z8?KGSCQo`MR#K~(L7}Og_(qr5<>nIhxEB95WITeMf{~O z5FEBaVmMGFT=C;AN6E-66Wqx zSG5oqMSouZrQH>0nO*L5x2DM`=5X&@6pnGSV#r}BXT$&wmK_$y3ABWN1L+;^NKmqA z32j#sbLq`jWcoOuq3&YBf{_apk+6U7W`#NuHr;J4lgT0)pXG-!2u5UBUwH`@VhUm^&)yl6T1F=oox0!rs3&XwuG^vtP{%>qo17pcPGAz))D<)8++->)__T!hmJpFEXXA$1X z$DYUdYVNt--r0xU|NNJ6{!iSuxa>249rwR%?QS>D|Ltw>Je~i0jHmtl-()6_@;%;3 zKyf$dvQGorVE;@f0!7>VoeFF)s(CW7$x98(XV2o|c2RZh^|Meo5!~Rghm5<)jbtYD zO-CvdQRK@oTOKLmSum`xy&^9fziavu3tf+c1MWe5k`=@Z%ese$z&nUy@yn|6={cx;}AxwVVU+wOxE|w!SXaL%e9MC#v559f)n|rWfnRox^aZfA*XR z>p>(lcl~6t3z}>yJrsW7hd(trWzOb4E^Q`1QBgFFfdY}LNIe=p_~NAXojglkS*=k* z$AI)4Smkvyi;cnsd`BMhj+=Bk>NV#Pe>363zK?>$FGec~t=Q1>~^MX-H;c6PF$@Ke}W-Nn(J zF18>T=uQ{J_wMNK%%pYQ*!Y((S5iNT%Vmp8+4(+cCI`*^W!XWRW`x}$u>^(OE6p@4 z7SOxPHVtMYEaCx#TOV}Glx}_TEls=`2pgSr8;}B`3BC%&1?AyYb%BZ$5mbgalb%hX z|CePnMa&!triA3B3LOCtBrQGMdJ>nPNnC3E(JD06HXf`i^i86#3zY?;UGz3+AbN(m z(6Ln0y2izzGw4Jo&l7lJ6R|L#M4(Ll(!Kf7*_Q`eizYJ?p5_Hk$z&zaX#1)JX-2># ztI{}F)0p7dacN!a<~(^t1HC%uZcyd6^YlDDPtViS_xb+< P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/podgrab/4.1.5/ix_values.yaml b/incubator/podgrab/4.1.5/ix_values.yaml new file mode 100644 index 00000000000..30b72ab29c1 --- /dev/null +++ b/incubator/podgrab/4.1.5/ix_values.yaml @@ -0,0 +1,26 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/podgrab/4.1.5/questions.yaml b/incubator/podgrab/4.1.5/questions.yaml new file mode 100644 index 00000000000..f15e60dfb0e --- /dev/null +++ b/incubator/podgrab/4.1.5/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PASSWORD + label: "Password" + description: "Desired Password" + schema: + type: string + default: "" + required: false + - variable: CHECK_FREQUENCY + label: "Update Frequency" + description: "Interval to check for new podcasts" + schema: + type: int + default: 240 + required: true + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36047 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/podgrab/4.1.5/templates/common.yaml b/incubator/podgrab/4.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/podgrab/4.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/podgrab/4.1.5/test_values.yaml b/incubator/podgrab/4.1.5/test_values.yaml new file mode 100644 index 00000000000..b0e9dc7d774 --- /dev/null +++ b/incubator/podgrab/4.1.5/test_values.yaml @@ -0,0 +1,57 @@ +# Default values for podgrab. + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +env: + PASSWORD: secretpasswordgoeshere + CHECK_FREQUENCY: 240 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +hostPathMounts: + - name: assets + enabled: true + mountPath: "/assets" + type: emptyDir + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false diff --git a/incubator/podgrab/4.1.5/values.yaml b/incubator/podgrab/4.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/prowlarr/1.1.6/CONFIG.md b/incubator/prowlarr/1.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/prowlarr/1.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/prowlarr/1.1.6/Chart.lock b/incubator/prowlarr/1.1.6/Chart.lock new file mode 100644 index 00000000000..5acbcf06b2c --- /dev/null +++ b/incubator/prowlarr/1.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:49.621432448Z" diff --git a/incubator/prowlarr/1.1.6/Chart.yaml b/incubator/prowlarr/1.1.6/Chart.yaml new file mode 100644 index 00000000000..817317a0139 --- /dev/null +++ b/incubator/prowlarr/1.1.6/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/incubator/prowlarr/1.1.6/README.md b/incubator/prowlarr/1.1.6/README.md new file mode 100644 index 00000000000..4c3568ce709 --- /dev/null +++ b/incubator/prowlarr/1.1.6/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `prowlarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prowlarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/prowlarr/1.1.6/app-readme.md b/incubator/prowlarr/1.1.6/app-readme.md new file mode 100644 index 00000000000..e2143326076 --- /dev/null +++ b/incubator/prowlarr/1.1.6/app-readme.md @@ -0,0 +1 @@ +Indexer manager/proxy built on the popular arr net base stack to integrate diff --git a/incubator/prowlarr/1.1.6/charts/common-6.3.7.tgz b/incubator/prowlarr/1.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/prowlarr/1.1.6/ix_values.yaml b/incubator/prowlarr/1.1.6/ix_values.yaml new file mode 100644 index 00000000000..2a24b2b62f0 --- /dev/null +++ b/incubator/prowlarr/1.1.6/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/prowlarr + # -- image tag + tag: v0.1.0.458 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/prowlarr/1.1.6/questions.yaml b/incubator/prowlarr/1.1.6/questions.yaml new file mode 100644 index 00000000000..139b4bd88b0 --- /dev/null +++ b/incubator/prowlarr/1.1.6/questions.yaml @@ -0,0 +1,555 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9696 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9696 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36057 + 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/prowlarr/1.1.6/templates/common.yaml b/incubator/prowlarr/1.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/prowlarr/1.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/prowlarr/1.1.6/test_values.yaml b/incubator/prowlarr/1.1.6/test_values.yaml new file mode 100644 index 00000000000..53f8bc9d5e1 --- /dev/null +++ b/incubator/prowlarr/1.1.6/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/prowlarr + # -- image tag + tag: v0.1.0.458 + # -- 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: + port: 9696 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/prowlarr/1.1.6/values.yaml b/incubator/prowlarr/1.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/qbittorrent/6.1.5/CONFIG.md b/incubator/qbittorrent/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/qbittorrent/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/qbittorrent/6.1.5/Chart.lock b/incubator/qbittorrent/6.1.5/Chart.lock new file mode 100644 index 00000000000..6c71788a7bb --- /dev/null +++ b/incubator/qbittorrent/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:50.566865017Z" diff --git a/incubator/qbittorrent/6.1.5/Chart.yaml b/incubator/qbittorrent/6.1.5/Chart.yaml new file mode 100644 index 00000000000..96b608bc531 --- /dev/null +++ b/incubator/qbittorrent/6.1.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/qbittorrent/6.1.5/README.md b/incubator/qbittorrent/6.1.5/README.md new file mode 100644 index 00000000000..0da3d2911d3 --- /dev/null +++ b/incubator/qbittorrent/6.1.5/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `qbittorrent` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `qbittorrent` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/qbittorrent/6.1.5/app-readme.md b/incubator/qbittorrent/6.1.5/app-readme.md new file mode 100644 index 00000000000..5d26b483c2c --- /dev/null +++ b/incubator/qbittorrent/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +qBittorrent is a cross-platform free and open-source BitTorrent client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +qBittorrent is a cross-platform free and open-source BitTorrent client diff --git a/incubator/qbittorrent/6.1.5/charts/common-6.3.7.tgz b/incubator/qbittorrent/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/qbittorrent/6.1.5/ix_values.yaml b/incubator/qbittorrent/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..a2b08bf404d --- /dev/null +++ b/incubator/qbittorrent/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/qbittorrent/6.1.5/questions.yaml b/incubator/qbittorrent/6.1.5/questions.yaml new file mode 100644 index 00000000000..50fe811a90f --- /dev/null +++ b/incubator/qbittorrent/6.1.5/questions.yaml @@ -0,0 +1,794 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36039 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/qbittorrent/6.1.5/templates/_configmap.tpl b/incubator/qbittorrent/6.1.5/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/incubator/qbittorrent/6.1.5/templates/_configmap.tpl @@ -0,0 +1,32 @@ +{{/* Define the configmap */}} +{{- define "qbittorrent.configmap" -}} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-scripts + labels: + {{- include "common.labels" . | nindent 4 }} +data: + {{- $bittorrentPort := "" -}} + {{- $bittorrentPort = .Values.service.torrent.ports.tcp.port -}} + {{- if $bittorrentPort }} + 31-update-port: |- + #!/bin/bash + QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" + INCOMING_PORT={{- $bittorrentPort }} + + incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') + if [[ ! -z "${incoming_exist}" ]]; then + # Get line number of Incoming + LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) + sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} + else + echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} + fi + fi + {{- end }} +{{- end -}} diff --git a/incubator/qbittorrent/6.1.5/templates/common.yaml b/incubator/qbittorrent/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/incubator/qbittorrent/6.1.5/templates/common.yaml @@ -0,0 +1,6 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} + + +{{/* Render the configmap */}} +{{ include "qbittorrent.configmap" . }} diff --git a/incubator/qbittorrent/6.1.5/test_values.yaml b/incubator/qbittorrent/6.1.5/test_values.yaml new file mode 100644 index 00000000000..eb3c2a84503 --- /dev/null +++ b/incubator/qbittorrent/6.1.5/test_values.yaml @@ -0,0 +1,52 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +strategy: + type: Recreate + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # UMASK: 022 + +service: + main: + ports: + main: + port: 8080 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 6881 + protocol: TCP + udp: + enabled: true + port: 6881 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +additionalVolumes: + - name: qbittorrent-scripts + emptyDir: {} + ## When you want to enable automatic port configuration at startup, adjust this to: + # configMap: + # name: -scripts + # defaultMode: 511 + +additionalVolumeMounts: + - mountPath: /config/custom-cont-init.d + name: qbittorrent-scripts diff --git a/incubator/qbittorrent/6.1.5/values.yaml b/incubator/qbittorrent/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/readarr/6.1.6/CONFIG.md b/incubator/readarr/6.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/readarr/6.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/readarr/6.1.6/Chart.lock b/incubator/readarr/6.1.6/Chart.lock new file mode 100644 index 00000000000..1ccb98bc973 --- /dev/null +++ b/incubator/readarr/6.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:51.525696243Z" diff --git a/incubator/readarr/6.1.6/Chart.yaml b/incubator/readarr/6.1.6/Chart.yaml new file mode 100644 index 00000000000..7bfe6eb9e5e --- /dev/null +++ b/incubator/readarr/6.1.6/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/incubator/readarr/6.1.6/README.md b/incubator/readarr/6.1.6/README.md new file mode 100644 index 00000000000..4bc9ba2a1c8 --- /dev/null +++ b/incubator/readarr/6.1.6/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `readarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `readarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/readarr/6.1.6/app-readme.md b/incubator/readarr/6.1.6/app-readme.md new file mode 100644 index 00000000000..ec0ebb214b7 --- /dev/null +++ b/incubator/readarr/6.1.6/app-readme.md @@ -0,0 +1,3 @@ +A fork of Radarr to work with Books & AudioBooks +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A fork of Radarr to work with Books & AudioBooks diff --git a/incubator/readarr/6.1.6/charts/common-6.3.7.tgz b/incubator/readarr/6.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/readarr/6.1.6/ix_values.yaml b/incubator/readarr/6.1.6/ix_values.yaml new file mode 100644 index 00000000000..99441a45d6e --- /dev/null +++ b/incubator/readarr/6.1.6/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.736 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/readarr/6.1.6/questions.yaml b/incubator/readarr/6.1.6/questions.yaml new file mode 100644 index 00000000000..899d20b9bd7 --- /dev/null +++ b/incubator/readarr/6.1.6/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: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8787 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36038 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/readarr/6.1.6/templates/common.yaml b/incubator/readarr/6.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/readarr/6.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/readarr/6.1.6/test_values.yaml b/incubator/readarr/6.1.6/test_values.yaml new file mode 100644 index 00000000000..98ac3ae8e3e --- /dev/null +++ b/incubator/readarr/6.1.6/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.736 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8787 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/readarr/6.1.6/values.yaml b/incubator/readarr/6.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/reg/1.1.5/CONFIG.md b/incubator/reg/1.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/reg/1.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/reg/1.1.5/Chart.lock b/incubator/reg/1.1.5/Chart.lock new file mode 100644 index 00000000000..f2fd891de91 --- /dev/null +++ b/incubator/reg/1.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:52.496690148Z" diff --git a/incubator/reg/1.1.5/Chart.yaml b/incubator/reg/1.1.5/Chart.yaml new file mode 100644 index 00000000000..41e1c78669e --- /dev/null +++ b/incubator/reg/1.1.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/reg/1.1.5/README.md b/incubator/reg/1.1.5/README.md new file mode 100644 index 00000000000..1c5cdc4b5bb --- /dev/null +++ b/incubator/reg/1.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `reg` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `reg` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/reg/1.1.5/app-readme.md b/incubator/reg/1.1.5/app-readme.md new file mode 100644 index 00000000000..579122c7ecc --- /dev/null +++ b/incubator/reg/1.1.5/app-readme.md @@ -0,0 +1 @@ +Docker registry v2 command line client and repo listing generator with diff --git a/incubator/reg/1.1.5/charts/common-6.3.7.tgz b/incubator/reg/1.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/reg/1.1.5/ci/ct-values.yaml b/incubator/reg/1.1.5/ci/ct-values.yaml new file mode 100644 index 00000000000..7ec97337b23 --- /dev/null +++ b/incubator/reg/1.1.5/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + EXTRA_ARGS: "server --registry r.j3ss.co" diff --git a/incubator/reg/1.1.5/ix_values.yaml b/incubator/reg/1.1.5/ix_values.yaml new file mode 100644 index 00000000000..6ad228ab223 --- /dev/null +++ b/incubator/reg/1.1.5/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/reg/1.1.5/questions.yaml b/incubator/reg/1.1.5/questions.yaml new file mode 100644 index 00000000000..df414b5b8d2 --- /dev/null +++ b/incubator/reg/1.1.5/questions.yaml @@ -0,0 +1,543 @@ +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: 36058 + 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/reg/1.1.5/templates/common.yaml b/incubator/reg/1.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/reg/1.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/reg/1.1.5/test_values.yaml b/incubator/reg/1.1.5/test_values.yaml new file mode 100644 index 00000000000..c8102013d79 --- /dev/null +++ b/incubator/reg/1.1.5/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: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + +# -- environment variables. See more environment variables in the [reg documentation](https://github.com/genuinetools/reg). +env: + # -- Set the container timezone + TZ: UTC + # -- Set the server registry + # EXTRA_ARGS: "server --registry r.j3ss.co" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false diff --git a/incubator/reg/1.1.5/values.yaml b/incubator/reg/1.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/sabnzbd/6.1.5/CONFIG.md b/incubator/sabnzbd/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/sabnzbd/6.1.5/Chart.lock b/incubator/sabnzbd/6.1.5/Chart.lock new file mode 100644 index 00000000000..5ed1710fead --- /dev/null +++ b/incubator/sabnzbd/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:53.441942605Z" diff --git a/incubator/sabnzbd/6.1.5/Chart.yaml b/incubator/sabnzbd/6.1.5/Chart.yaml new file mode 100644 index 00000000000..0c2f7be9b85 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/sabnzbd/6.1.5/README.md b/incubator/sabnzbd/6.1.5/README.md new file mode 100644 index 00000000000..d713e25f27a --- /dev/null +++ b/incubator/sabnzbd/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `sabnzbd` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sabnzbd` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/sabnzbd/6.1.5/app-readme.md b/incubator/sabnzbd/6.1.5/app-readme.md new file mode 100644 index 00000000000..05e7f339851 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Free and easy binary newsreader +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Free and easy binary newsreader diff --git a/incubator/sabnzbd/6.1.5/charts/common-6.3.7.tgz b/incubator/sabnzbd/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 zcmV)%K#jj2iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9syS2N%xwpCZm-UU!?Y+&vfb|EUrSViH zfyH0e?~TiD-0$RpIsOq9CC<_@m~ReXo~xf}mZCw7%Ba9OVQ;>z(un>A5`0m>;s#8z z0-O~UV#B8#OtTppgDD|-IUbEJF_~5uVU*2Aq^MBD%8X#1mm^XjG@8MZpkgH6^MN?P z5k(|Hz&RwaC_@gaDp3(-DM2Y=P^;12?)Lin-pw$xUn0q57)mQ%pgt)#3?EmFf@ZW83UY7vj3_9hgoqs03e05y&3}m zsET9^tbz*4)vqXt|Er9qSw&DfOwh#zPA|hWQLug}QVh$Dzx{2?1B(|Etspl!8p|dQ z=CVDz;a0de=-2;Z{?B1jq4I$QK>PgP+TGjTvgiNa_RiD%e~jlc$u3|r9suwR42R$p z5dc$=%~4U{7_kXXrU>K(n&1y0o3LM#DoN--6vOrhQQCk)%b}Fu0io$o;=BJ zW+)|VAckm`r6nRDD?mvgL6a&e5g7o$r&wLsWK^0F$U$Z)LtYmgX>djg!2syB#^Cmo z4lsciC|Lv+ub_iDu4WggpdA&X5*H{2c@|T_RG>V;5iG}GqlIHtep$d6fsz!EpvxOp z^xLceM~awo4a^xgxy)e9e2bz2L4v?aj3%&3$SQzo4Blo*g44@)c?^l@2ny>|wB{5! zf&Gvkp#%}s1W|+Mz>XLzC>Ve*)2yIl1()=jq@RwZLI*)#Xw9#AY+;(g51>ln9O8tI zHC9Xey$G1HDlRzy_Lo&v>sqUB4hteD45)vp>G78LC{2L`80Vi1u4l0tB5lm1qcn1DUQaBuf|BP|T1lZpP zP?W(bW2X{q6PT2UvAMWJWK0=dk1-*7XE=SUCN+4*=JgDIFyF1OD=3F2@7@ud;NMt7 zPf!t|l+aN?3%;n!y+O0AxM?jqC{Z!T5ju#XtV&5O_;VED2}UKjo+2_u1%N;l1(25o zm{oOTGBP%%k`0+njd7+=$yi!8q31i&alWhwcrsfA#I6BG_Ov1-LRIXFH2>4&#R zV=%iJ=CCZO7A~6m2I3T;bdHNGWukEo3rxp%8G&RgUdw48Fd-1>swiAXuXCm@@s-r>_Ukz@aKKcm~*m()qVVHdDU=2*YrI z(m89vGpZN}nt1aCN9hol6xmF5X1NB?2RO?q&z^yw7^gtNDUjofstL1fjcY!4-~#bNLm1C+O6fSu6UEH4mv2s9ADq2>|Kq{ycQ3~va5R(Gq$A2lJEMDr3PwT1 zDx>HqyH2lR5rc!1SG4jeLdwjd)=-fmg31tQqd1Go5rO4ZIl}3$C?dlc5;%l8lPk1y zMp~~9Wv>p=hde9MFwf#4HJ6GRFH2kbBPES>gly~a4@WQGA0NDV$z=xs6O5AhEt<&R z;>`&p(=nR|VVcE=a$zu#y($(4D)lG$@(s*ceO_A{O7zQc2J<14nzS?@!i}Q*wJJ6Q zhgC_k8ORHq6`0(BD1jwkabi4~pn?u*LS+OS+!r@ozC=?LS5)T9dWW>yF+%~Kf%2v# zXf~v68Ab&rID&~>M3N-CF6Er3as`5j)1aU-S_kT<0t>INXy*=Nm|mhHtIAp0>V)7@@s|Ns24BWWn6`6PoJeXXys4Nc$icrQq zy}Hy^m=uBuI66L+d@0w&c&Z91_0u>br4U(Q25&%t$}E{9kd{f7T~#^2Wl3jcmVz>y zA@EN%)hN^|FBvU|3@n#P0O%r+K0`4=88Riw*mNI*U_&l1FPSJE3FU&3Cl)G7TsCpb zVm6?~s#sDn{PWKRn*8$1N{euavNS?DDMzy2Fy#!!=_UP`QlX*Ai*hImj-K)L1*exo zGDY(B>VPi;r~Kz@oL-f}xD!)Ru${N+6h#%Ak%w7I&X$?xK`rl<9UGove4 ztxA?X;U##2qMIl|K0vB~u4M8FNmpS&4dg>vx&(B&4#EG>#aFBzfG)8p1~`=~G*vWV zIiyyPSzFhAH54$8u^8FWoiWuwocK

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/sabnzbd/6.1.5/ix_values.yaml b/incubator/sabnzbd/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..5304a3a7655 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/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.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/sabnzbd/6.1.5/questions.yaml b/incubator/sabnzbd/6.1.5/questions.yaml new file mode 100644 index 00000000000..ba0e6316823 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/questions.yaml @@ -0,0 +1,654 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HOST_WHITELIST_ENTRIES + label: "HostName Whitelist" + description: "If you use a reverse proxy, you might need to enter your hostname's here (comma seperated)" + schema: + type: string + default: "" + required: false + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36045 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/sabnzbd/6.1.5/templates/common.yaml b/incubator/sabnzbd/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/sabnzbd/6.1.5/test_values.yaml b/incubator/sabnzbd/6.1.5/test_values.yaml new file mode 100644 index 00000000000..e143275e713 --- /dev/null +++ b/incubator/sabnzbd/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Sabnzbd. + +image: + repository: ghcr.io/k8s-at-home/sabnzbd + pullPolicy: IfNotPresent + tag: v3.3.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/sabnzbd/6.1.5/values.yaml b/incubator/sabnzbd/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/thelounge/1.1.5/CONFIG.md b/incubator/thelounge/1.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/thelounge/1.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/thelounge/1.1.5/Chart.lock b/incubator/thelounge/1.1.5/Chart.lock new file mode 100644 index 00000000000..29de5861dd2 --- /dev/null +++ b/incubator/thelounge/1.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:54.379835992Z" diff --git a/incubator/thelounge/1.1.5/Chart.yaml b/incubator/thelounge/1.1.5/Chart.yaml new file mode 100644 index 00000000000..057e92f6eed --- /dev/null +++ b/incubator/thelounge/1.1.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/thelounge/1.1.5/README.md b/incubator/thelounge/1.1.5/README.md new file mode 100644 index 00000000000..5c6d12360e7 --- /dev/null +++ b/incubator/thelounge/1.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `thelounge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `thelounge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/thelounge/1.1.5/app-readme.md b/incubator/thelounge/1.1.5/app-readme.md new file mode 100644 index 00000000000..3bea542e86c --- /dev/null +++ b/incubator/thelounge/1.1.5/app-readme.md @@ -0,0 +1 @@ +The Lounge, modern web IRC client designed for self-hosting diff --git a/incubator/thelounge/1.1.5/charts/common-6.3.7.tgz b/incubator/thelounge/1.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/thelounge/1.1.5/ix_values.yaml b/incubator/thelounge/1.1.5/ix_values.yaml new file mode 100644 index 00000000000..12e3b82367b --- /dev/null +++ b/incubator/thelounge/1.1.5/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/thelounge/1.1.5/questions.yaml b/incubator/thelounge/1.1.5/questions.yaml new file mode 100644 index 00000000000..112e56a4678 --- /dev/null +++ b/incubator/thelounge/1.1.5/questions.yaml @@ -0,0 +1,548 @@ +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: 36059 + 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/thelounge/1.1.5/templates/common.yaml b/incubator/thelounge/1.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/thelounge/1.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/thelounge/1.1.5/test_values.yaml b/incubator/thelounge/1.1.5/test_values.yaml new file mode 100644 index 00000000000..b92da5d94e9 --- /dev/null +++ b/incubator/thelounge/1.1.5/test_values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + +strategy: + type: Recreate + +# -- environment variables. See [image docs](https://hub.docker.com/r/thelounge/thelounge/) for more details. +# @default -- See below +env: + THELOUNGE_HOME: "/config" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9000 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/thelounge/1.1.5/values.yaml b/incubator/thelounge/1.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/tvheadend/7.1.5/CONFIG.md b/incubator/tvheadend/7.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/tvheadend/7.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/tvheadend/7.1.5/Chart.lock b/incubator/tvheadend/7.1.5/Chart.lock new file mode 100644 index 00000000000..0f81a16db05 --- /dev/null +++ b/incubator/tvheadend/7.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:55.322729269Z" diff --git a/incubator/tvheadend/7.1.5/Chart.yaml b/incubator/tvheadend/7.1.5/Chart.yaml new file mode 100644 index 00000000000..deac2e73f41 --- /dev/null +++ b/incubator/tvheadend/7.1.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/tvheadend/7.1.5/README.md b/incubator/tvheadend/7.1.5/README.md new file mode 100644 index 00000000000..9fd48d51480 --- /dev/null +++ b/incubator/tvheadend/7.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 7.1.2](https://img.shields.io/badge/Version-7.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `tvheadend` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tvheadend` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/tvheadend/7.1.5/app-readme.md b/incubator/tvheadend/7.1.5/app-readme.md new file mode 100644 index 00000000000..972a532e256 --- /dev/null +++ b/incubator/tvheadend/7.1.5/app-readme.md @@ -0,0 +1,3 @@ +TVheadend - a TV streaming server and digital video recorder +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +TVheadend - a TV streaming server and digital video recorder diff --git a/incubator/tvheadend/7.1.5/charts/common-6.3.7.tgz b/incubator/tvheadend/7.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/tvheadend/7.1.5/ix_values.yaml b/incubator/tvheadend/7.1.5/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/incubator/tvheadend/7.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/tvheadend/7.1.5/questions.yaml b/incubator/tvheadend/7.1.5/questions.yaml new file mode 100644 index 00000000000..c02981f9b5a --- /dev/null +++ b/incubator/tvheadend/7.1.5/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: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9981 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36042 + required: true + - variable: htsp + label: "HTSP Service" + description: "HTSP service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: htsp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9982 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36043 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/tvheadend/7.1.5/templates/common.yaml b/incubator/tvheadend/7.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/tvheadend/7.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/tvheadend/7.1.5/test_values.yaml b/incubator/tvheadend/7.1.5/test_values.yaml new file mode 100644 index 00000000000..2835710b41e --- /dev/null +++ b/incubator/tvheadend/7.1.5/test_values.yaml @@ -0,0 +1,36 @@ +# Default values for tvheadend. + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +strategy: + type: Recreate + +# See https://github.com/linuxserver/docker-tvheadend#parameters +env: {} + # PUID: 1000 + # PGID: 1000 + # TZ: Europe/London + # RUN_OPTS: + +service: + main: + ports: + main: + port: 9981 + htsp: + enabled: true + type: ClusterIP + ports: + htsp: + enabled: true + port: 9982 + protocol: TCP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/tvheadend/7.1.5/values.yaml b/incubator/tvheadend/7.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unifi/6.1.5/CONFIG.md b/incubator/unifi/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unifi/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unifi/6.1.5/Chart.lock b/incubator/unifi/6.1.5/Chart.lock new file mode 100644 index 00000000000..bceb79f3e08 --- /dev/null +++ b/incubator/unifi/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:56.264225681Z" diff --git a/incubator/unifi/6.1.5/Chart.yaml b/incubator/unifi/6.1.5/Chart.yaml new file mode 100644 index 00000000000..eed760f3323 --- /dev/null +++ b/incubator/unifi/6.1.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/incubator/unifi/6.1.5/README.md b/incubator/unifi/6.1.5/README.md new file mode 100644 index 00000000000..15ae1d22835 --- /dev/null +++ b/incubator/unifi/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `unifi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unifi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unifi/6.1.5/app-readme.md b/incubator/unifi/6.1.5/app-readme.md new file mode 100644 index 00000000000..0e6732e4033 --- /dev/null +++ b/incubator/unifi/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Ubiquiti Network's Unifi Controller +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Ubiquiti Network's Unifi Controller diff --git a/incubator/unifi/6.1.5/charts/common-6.3.7.tgz b/incubator/unifi/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/unifi/6.1.5/ix_values.yaml b/incubator/unifi/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..9fa028d1b5e --- /dev/null +++ b/incubator/unifi/6.1.5/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: 6.2.25 + pullPolicy: IfNotPresent + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unifi/6.1.5/questions.yaml b/incubator/unifi/6.1.5/questions.yaml new file mode 100644 index 00000000000..fd23ba05f87 --- /dev/null +++ b/incubator/unifi/6.1.5/questions.yaml @@ -0,0 +1,802 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8443 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36035 + required: true + - variable: comm + label: "Unifi Device Communication Service" + description: "Unifi Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36036 + required: true + - variable: stun + label: "STUN Device Communication Service" + description: "STUN Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: udp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3478 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36037 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unifi/6.1.5/templates/common.yaml b/incubator/unifi/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unifi/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unifi/6.1.5/test_values.yaml b/incubator/unifi/6.1.5/test_values.yaml new file mode 100644 index 00000000000..da696ca5e41 --- /dev/null +++ b/incubator/unifi/6.1.5/test_values.yaml @@ -0,0 +1,48 @@ +# Default values for Unifi. + +image: + repository: jacobalberty/unifi + tag: 6.2.25 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" + +service: + main: + ports: + main: + protocol: HTTPS + port: 8443 + comm: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 8080 + protocol: TCP + stun: + enabled: true + type: ClusterIP + ports: + udp: + enabled: true + port: 3478 + protocol: UDP + +env: + # TZ: + PUID: "568" + PGID: "568" + +persistence: + config: + enabled: true + mountPath: "/unifi" + type: emptyDir diff --git a/incubator/unifi/6.1.5/values.yaml b/incubator/unifi/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unpackerr/1.1.6/CONFIG.md b/incubator/unpackerr/1.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unpackerr/1.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unpackerr/1.1.6/Chart.lock b/incubator/unpackerr/1.1.6/Chart.lock new file mode 100644 index 00000000000..09e56227bca --- /dev/null +++ b/incubator/unpackerr/1.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:57.21727603Z" diff --git a/incubator/unpackerr/1.1.6/Chart.yaml b/incubator/unpackerr/1.1.6/Chart.yaml new file mode 100644 index 00000000000..98abe2c8b87 --- /dev/null +++ b/incubator/unpackerr/1.1.6/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/incubator/unpackerr/1.1.6/README.md b/incubator/unpackerr/1.1.6/README.md new file mode 100644 index 00000000000..1cece29651d --- /dev/null +++ b/incubator/unpackerr/1.1.6/README.md @@ -0,0 +1,54 @@ +# 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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `unpackerr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unpackerr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unpackerr/1.1.6/app-readme.md b/incubator/unpackerr/1.1.6/app-readme.md new file mode 100644 index 00000000000..92412a850ac --- /dev/null +++ b/incubator/unpackerr/1.1.6/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +This application runs as a daemon on your download host. It checks for diff --git a/incubator/unpackerr/1.1.6/charts/common-6.3.7.tgz b/incubator/unpackerr/1.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/incubator/unpackerr/1.1.6/ix_values.yaml b/incubator/unpackerr/1.1.6/ix_values.yaml new file mode 100644 index 00000000000..8e545f12bae --- /dev/null +++ b/incubator/unpackerr/1.1.6/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: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unpackerr/1.1.6/questions.yaml b/incubator/unpackerr/1.1.6/questions.yaml new file mode 100644 index 00000000000..bf8c9a1d8a2 --- /dev/null +++ b/incubator/unpackerr/1.1.6/questions.yaml @@ -0,0 +1,541 @@ +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: 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 + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unpackerr/1.1.6/templates/common.yaml b/incubator/unpackerr/1.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unpackerr/1.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unpackerr/1.1.6/test_values.yaml b/incubator/unpackerr/1.1.6/test_values.yaml new file mode 100644 index 00000000000..71c29ac7f97 --- /dev/null +++ b/incubator/unpackerr/1.1.6/test_values.yaml @@ -0,0 +1,45 @@ +# Default values for Sonarr. + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +strategy: + type: Recreate + +service: + main: + enabled: false + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + +persistence: + downloads: + enabled: true + type: emptyDir + mountPath: /downloads + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" diff --git a/incubator/unpackerr/1.1.6/values.yaml b/incubator/unpackerr/1.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/6.1.5/CONFIG.md b/stable/collabora-online/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/collabora-online/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/collabora-online/6.1.5/Chart.lock b/stable/collabora-online/6.1.5/Chart.lock new file mode 100644 index 00000000000..51e644ecf83 --- /dev/null +++ b/stable/collabora-online/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:00.893487687Z" diff --git a/stable/collabora-online/6.1.5/Chart.yaml b/stable/collabora-online/6.1.5/Chart.yaml new file mode 100644 index 00000000000..d6ad5e8594b --- /dev/null +++ b/stable/collabora-online/6.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/collabora-online/6.1.5/README.md b/stable/collabora-online/6.1.5/README.md new file mode 100644 index 00000000000..c0c9079a427 --- /dev/null +++ b/stable/collabora-online/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `collabora-online` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `collabora-online` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/collabora-online/6.1.5/app-readme.md b/stable/collabora-online/6.1.5/app-readme.md new file mode 100644 index 00000000000..f25a2567984 --- /dev/null +++ b/stable/collabora-online/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"Collabora Online Development Edition \u2013 an awesome, Online Office\ diff --git a/stable/collabora-online/6.1.5/charts/common-6.3.7.tgz b/stable/collabora-online/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/collabora-online/6.1.5/ix_values.yaml b/stable/collabora-online/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..1d389835183 --- /dev/null +++ b/stable/collabora-online/6.1.5/ix_values.yaml @@ -0,0 +1,14 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: collabora/code + tag: 6.4.9.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/collabora-online/6.1.5/questions.yaml b/stable/collabora-online/6.1.5/questions.yaml new file mode 100644 index 00000000000..c65eb9743e6 --- /dev/null +++ b/stable/collabora-online/6.1.5/questions.yaml @@ -0,0 +1,510 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/loleaflet/dist/admin/admin.html" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: domain + label: "Domain(s) using collabora" + description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains' + schema: + type: string + default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld' + required: true + - variable: username + label: "Username for WebUI" + schema: + type: string + default: "admin" + required: true + - variable: password + label: "Password for WebUI" + schema: + type: string + private: true + default: "" + required: true + - variable: dictionaries + label: "Dictionaries to use, leave empty to use all" + schema: + type: string + default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + - variable: extra_params + label: "Extra Parameters to add" + description: 'e.g. "–o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space' + schema: + type: string + default: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + - variable: server_name + label: "Server Name" + description: "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it." + schema: + type: string + default: 'collabora\.domain\.tld' + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9980 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9980 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36004 + required: true + # Reverse Proxy + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: 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.1.5/templates/common.yaml b/stable/collabora-online/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/6.1.5/test_values.yaml b/stable/collabora-online/6.1.5/test_values.yaml new file mode 100644 index 00000000000..ed35596f7a4 --- /dev/null +++ b/stable/collabora-online/6.1.5/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.9.2 + 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.1.5/values.yaml b/stable/collabora-online/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/4.1.5/CONFIG.md b/stable/deepstack-cpu/4.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/deepstack-cpu/4.1.5/Chart.lock b/stable/deepstack-cpu/4.1.5/Chart.lock new file mode 100644 index 00000000000..94069724256 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:01.934309763Z" diff --git a/stable/deepstack-cpu/4.1.5/Chart.yaml b/stable/deepstack-cpu/4.1.5/Chart.yaml new file mode 100644 index 00000000000..d0e8516fb21 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/deepstack-cpu/4.1.5/README.md b/stable/deepstack-cpu/4.1.5/README.md new file mode 100644 index 00000000000..71d5cc27d33 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `deepstack-cpu` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deepstack-cpu` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/deepstack-cpu/4.1.5/app-readme.md b/stable/deepstack-cpu/4.1.5/app-readme.md new file mode 100644 index 00000000000..26df7a8b5db --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/app-readme.md @@ -0,0 +1,3 @@ +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +DeepStack AI provides AI features including Face Recognition, Object diff --git a/stable/deepstack-cpu/4.1.5/charts/common-6.3.7.tgz b/stable/deepstack-cpu/4.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/4.1.5/ix_values.yaml b/stable/deepstack-cpu/4.1.5/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/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.1.5/questions.yaml b/stable/deepstack-cpu/4.1.5/questions.yaml new file mode 100644 index 00000000000..eced745a3cf --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/questions.yaml @@ -0,0 +1,660 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Configure Enviroment Variables + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: VISION-FACE + label: "VISION-FACE" + description: "Enables Face Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-DETECTION + label: "VISION-DETECTION" + description: "Enables Object Detection" + schema: + type: string + default: "True" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-SCENE + label: "VISION-SCENE" + description: "Enables Scene Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: MODE + label: "Mode" + description: "Sets the performance mode" + schema: + type: string + default: "Medium" + enum: + - value: "High" + description: "High" + - value: "Medium" + description: "Medium" + - value: "Low" + description: "Low" + - variable: MODELSTORE-DETECTION + label: "Custom Models Path" + description: "Change the path of the custom models (Optional)" + schema: + type: string + default: "/modelstore/detection" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36005 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/datastore" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: 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.1.5/templates/common.yaml b/stable/deepstack-cpu/4.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/4.1.5/test_values.yaml b/stable/deepstack-cpu/4.1.5/test_values.yaml new file mode 100644 index 00000000000..939cd7e6ce4 --- /dev/null +++ b/stable/deepstack-cpu/4.1.5/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.1.5/values.yaml b/stable/deepstack-cpu/4.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/6.1.5/CONFIG.md b/stable/emby/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/emby/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/emby/6.1.5/Chart.lock b/stable/emby/6.1.5/Chart.lock new file mode 100644 index 00000000000..b5e823c3d33 --- /dev/null +++ b/stable/emby/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:02.912386793Z" diff --git a/stable/emby/6.1.5/Chart.yaml b/stable/emby/6.1.5/Chart.yaml new file mode 100644 index 00000000000..3c2460e5209 --- /dev/null +++ b/stable/emby/6.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/emby/6.1.5/README.md b/stable/emby/6.1.5/README.md new file mode 100644 index 00000000000..d8e2f11e99d --- /dev/null +++ b/stable/emby/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `emby` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `emby` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/emby/6.1.5/app-readme.md b/stable/emby/6.1.5/app-readme.md new file mode 100644 index 00000000000..14cf8a3a658 --- /dev/null +++ b/stable/emby/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Emby Server is a home media server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Emby Server is a home media server diff --git a/stable/emby/6.1.5/charts/common-6.3.7.tgz b/stable/emby/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/emby/6.1.5/ix_values.yaml b/stable/emby/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..055f931cb08 --- /dev/null +++ b/stable/emby/6.1.5/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/emby/6.1.5/questions.yaml b/stable/emby/6.1.5/questions.yaml new file mode 100644 index 00000000000..488b5061ab1 --- /dev/null +++ b/stable/emby/6.1.5/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36006 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/emby/6.1.5/templates/common.yaml b/stable/emby/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/6.1.5/test_values.yaml b/stable/emby/6.1.5/test_values.yaml new file mode 100644 index 00000000000..d8b77253374 --- /dev/null +++ b/stable/emby/6.1.5/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for emby. + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/emby/6.1.5/values.yaml b/stable/emby/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/6.1.5/CONFIG.md b/stable/esphome/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/esphome/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/esphome/6.1.5/Chart.lock b/stable/esphome/6.1.5/Chart.lock new file mode 100644 index 00000000000..7255d8a199d --- /dev/null +++ b/stable/esphome/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:03.877530468Z" diff --git a/stable/esphome/6.1.5/Chart.yaml b/stable/esphome/6.1.5/Chart.yaml new file mode 100644 index 00000000000..9e09770dfdd --- /dev/null +++ b/stable/esphome/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/esphome/6.1.5/README.md b/stable/esphome/6.1.5/README.md new file mode 100644 index 00000000000..ce5b6cbc2b4 --- /dev/null +++ b/stable/esphome/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `esphome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `esphome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/esphome/6.1.5/app-readme.md b/stable/esphome/6.1.5/app-readme.md new file mode 100644 index 00000000000..1854a47b15a --- /dev/null +++ b/stable/esphome/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful diff --git a/stable/esphome/6.1.5/charts/common-6.3.7.tgz b/stable/esphome/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/esphome/6.1.5/ix_values.yaml b/stable/esphome/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..74246b558c1 --- /dev/null +++ b/stable/esphome/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.18.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/esphome/6.1.5/questions.yaml b/stable/esphome/6.1.5/questions.yaml new file mode 100644 index 00000000000..9be4769c307 --- /dev/null +++ b/stable/esphome/6.1.5/questions.yaml @@ -0,0 +1,750 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6052 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6052 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36007 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: platformio + label: "Platformio Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/.platformio" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/esphome/6.1.5/templates/common.yaml b/stable/esphome/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/6.1.5/test_values.yaml b/stable/esphome/6.1.5/test_values.yaml new file mode 100644 index 00000000000..2bc95bc967c --- /dev/null +++ b/stable/esphome/6.1.5/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for esphome. + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.18.0 + +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.1.5/values.yaml b/stable/esphome/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/6.1.5/CONFIG.md b/stable/handbrake/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/handbrake/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/handbrake/6.1.5/Chart.lock b/stable/handbrake/6.1.5/Chart.lock new file mode 100644 index 00000000000..e762f6f2a78 --- /dev/null +++ b/stable/handbrake/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:04.837460199Z" diff --git a/stable/handbrake/6.1.5/Chart.yaml b/stable/handbrake/6.1.5/Chart.yaml new file mode 100644 index 00000000000..c7b8153963a --- /dev/null +++ b/stable/handbrake/6.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/handbrake/6.1.5/README.md b/stable/handbrake/6.1.5/README.md new file mode 100644 index 00000000000..f19e5d17461 --- /dev/null +++ b/stable/handbrake/6.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `handbrake` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `handbrake` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/handbrake/6.1.5/app-readme.md b/stable/handbrake/6.1.5/app-readme.md new file mode 100644 index 00000000000..483e45f40d0 --- /dev/null +++ b/stable/handbrake/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HandBrake is a tool for converting video from nearly any format to a diff --git a/stable/handbrake/6.1.5/charts/common-6.3.7.tgz b/stable/handbrake/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/handbrake/6.1.5/ix_values.yaml b/stable/handbrake/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..a47a4681e9c --- /dev/null +++ b/stable/handbrake/6.1.5/ix_values.yaml @@ -0,0 +1,20 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +#All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/handbrake/6.1.5/questions.yaml b/stable/handbrake/6.1.5/questions.yaml new file mode 100644 index 00000000000..e0d5b270fe8 --- /dev/null +++ b/stable/handbrake/6.1.5/questions.yaml @@ -0,0 +1,816 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: gui + label: "GUI Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: DISPLAY_WIDTH + label: "DISPLAY_WIDTH" + description: "Width (in pixels) of the application's window." + schema: + type: string + default: "1280" + required: true + - variable: DISPLAY_HEIGHT + label: "DISPLAY_HEIGHT" + description: "Height (in pixels) of the application's window." + schema: + type: string + default: "768" + required: true + - variable: SECURE_CONNECTION + label: "SECURE_CONNECTION" + description: "When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section for more details." + schema: + type: string + default: "0" + required: true + - variable: VNC_PASSWORD + label: "VNC_PASSWORD" + description: "Password needed to connect to the application's GUI. See the VNC Password section for more details." + schema: + private: true + type: string + default: "" + - variable: autoconv + label: "Automated Conversion Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: AUTOMATED_CONVERSION_PRESET + label: "AUTOMATED_CONVERSION_PRESET" + description: "HandBrake preset used by the automatic video converter. Identification of a preset must follow the format /" + schema: + type: string + default: "General/Very Fast 1080p30" + required: true + - variable: AUTOMATED_CONVERSION_FORMAT + label: "AUTOMATED_CONVERSION_FORMAT" + description: "Video container format used by the automatic video converter for output files. This is typically the video filename extension." + schema: + type: string + default: "mp4" + required: true + - variable: AUTOMATED_CONVERSION_KEEP_SOURCE + label: "AUTOMATED_CONVERSION_KEEP_SOURCE" + description: "When set to 0, a video that has been successfully converted is removed from the watch folder." + schema: + type: string + default: "1" + required: true + - variable: AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION + label: "AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION" + description: "When set to ignore, a non-video file found in the watch folder is ignored. If set to copy, a non-video file is copied as-is to the output folder." + schema: + type: string + default: "ignore" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5800 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5800 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36002 + required: true + - variable: vnc + label: "VNC Service" + description: "VNC Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36003 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/handbrake/6.1.5/templates/common.yaml b/stable/handbrake/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/6.1.5/test_values.yaml b/stable/handbrake/6.1.5/test_values.yaml new file mode 100644 index 00000000000..9443c18f116 --- /dev/null +++ b/stable/handbrake/6.1.5/test_values.yaml @@ -0,0 +1,51 @@ +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5800 + vnc: + enabled: true + type: ClusterIP + ports: + vnc: + enabled: true + port: 5900 + protocol: "TCP" + +# All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + # Permissions Settings + PUID: "568" + PGID: "568" + # General Settings + KEEP_APP_RUNNING: "0" + CLEAN_TMP_DIR: "1" + # GUI Settings + DISPLAY_WIDTH: "1280" + DISPLAY_HEIGHT: "768" + SECURE_CONNECTION: "0" + VNC_PASSWORD: + # Automated Conversion Preset + AUTOMATED_CONVERSION_PRESET: "General/Very Fast 1080p30" + AUTOMATED_CONVERSION_FORMAT: "mp4" + AUTOMATED_CONVERSION_KEEP_SOURCE: "1" + AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION: "ignore" + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/handbrake/6.1.5/values.yaml b/stable/handbrake/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/6.1.7/CONFIG.md b/stable/home-assistant/6.1.7/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/home-assistant/6.1.7/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/home-assistant/6.1.7/Chart.lock b/stable/home-assistant/6.1.7/Chart.lock new file mode 100644 index 00000000000..912cb24b424 --- /dev/null +++ b/stable/home-assistant/6.1.7/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:05.788445539Z" diff --git a/stable/home-assistant/6.1.7/Chart.yaml b/stable/home-assistant/6.1.7/Chart.yaml new file mode 100644 index 00000000000..0e7a0e72b0b --- /dev/null +++ b/stable/home-assistant/6.1.7/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.7 diff --git a/stable/home-assistant/6.1.7/README.md b/stable/home-assistant/6.1.7/README.md new file mode 100644 index 00000000000..84a492043b3 --- /dev/null +++ b/stable/home-assistant/6.1.7/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `home-assistant` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `home-assistant` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/home-assistant/6.1.7/app-readme.md b/stable/home-assistant/6.1.7/app-readme.md new file mode 100644 index 00000000000..822d932e2e4 --- /dev/null +++ b/stable/home-assistant/6.1.7/app-readme.md @@ -0,0 +1,3 @@ +home-assistant App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +home-assistant App for TrueNAS SCALE diff --git a/stable/home-assistant/6.1.7/charts/common-6.3.7.tgz b/stable/home-assistant/6.1.7/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/home-assistant/6.1.7/ix_values.yaml b/stable/home-assistant/6.1.7/ix_values.yaml new file mode 100644 index 00000000000..716d3026667 --- /dev/null +++ b/stable/home-assistant/6.1.7/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.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/home-assistant/6.1.7/questions.yaml b/stable/home-assistant/6.1.7/questions.yaml new file mode 100644 index 00000000000..81d51d3a978 --- /dev/null +++ b/stable/home-assistant/6.1.7/questions.yaml @@ -0,0 +1,662 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: git + group: "Container Configuration" + label: "Home-Assistant Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + label: "Git deploy key" + schema: + type: string + default: "" + - variable: deployKeyBase64 + label: "Git KeyBase64 deploy key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8123 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8123 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36008 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/home-assistant/6.1.7/templates/common.yaml b/stable/home-assistant/6.1.7/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/6.1.7/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/6.1.7/templates/secret.yaml b/stable/home-assistant/6.1.7/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/6.1.7/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.1.7/test_values.yaml b/stable/home-assistant/6.1.7/test_values.yaml new file mode 100644 index 00000000000..8cd1809ee29 --- /dev/null +++ b/stable/home-assistant/6.1.7/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.5 + +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.1.7/values.yaml b/stable/home-assistant/6.1.7/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/6.1.7/CONFIG.md b/stable/jackett/6.1.7/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jackett/6.1.7/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jackett/6.1.7/Chart.lock b/stable/jackett/6.1.7/Chart.lock new file mode 100644 index 00000000000..01560ef82b5 --- /dev/null +++ b/stable/jackett/6.1.7/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:06.719261446Z" diff --git a/stable/jackett/6.1.7/Chart.yaml b/stable/jackett/6.1.7/Chart.yaml new file mode 100644 index 00000000000..bec1790dce1 --- /dev/null +++ b/stable/jackett/6.1.7/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.7 diff --git a/stable/jackett/6.1.7/README.md b/stable/jackett/6.1.7/README.md new file mode 100644 index 00000000000..544627c0ffd --- /dev/null +++ b/stable/jackett/6.1.7/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `jackett` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jackett` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jackett/6.1.7/app-readme.md b/stable/jackett/6.1.7/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/jackett/6.1.7/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/jackett/6.1.7/charts/common-6.3.7.tgz b/stable/jackett/6.1.7/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/jackett/6.1.7/ix_values.yaml b/stable/jackett/6.1.7/ix_values.yaml new file mode 100644 index 00000000000..47a94f56d06 --- /dev/null +++ b/stable/jackett/6.1.7/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.329 + +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.1.7/questions.yaml b/stable/jackett/6.1.7/questions.yaml new file mode 100644 index 00000000000..c987a31f514 --- /dev/null +++ b/stable/jackett/6.1.7/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jackett/6.1.7/templates/common.yaml b/stable/jackett/6.1.7/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/6.1.7/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/6.1.7/test_values.yaml b/stable/jackett/6.1.7/test_values.yaml new file mode 100644 index 00000000000..0d015da4054 --- /dev/null +++ b/stable/jackett/6.1.7/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.329 + +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.1.7/values.yaml b/stable/jackett/6.1.7/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/6.1.5/CONFIG.md b/stable/jellyfin/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jellyfin/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jellyfin/6.1.5/Chart.lock b/stable/jellyfin/6.1.5/Chart.lock new file mode 100644 index 00000000000..667650f9124 --- /dev/null +++ b/stable/jellyfin/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:07.653071902Z" diff --git a/stable/jellyfin/6.1.5/Chart.yaml b/stable/jellyfin/6.1.5/Chart.yaml new file mode 100644 index 00000000000..13c5463e05e --- /dev/null +++ b/stable/jellyfin/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/jellyfin/6.1.5/README.md b/stable/jellyfin/6.1.5/README.md new file mode 100644 index 00000000000..95e0dc4e096 --- /dev/null +++ b/stable/jellyfin/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `jellyfin` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jellyfin` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jellyfin/6.1.5/app-readme.md b/stable/jellyfin/6.1.5/app-readme.md new file mode 100644 index 00000000000..64d3430474f --- /dev/null +++ b/stable/jellyfin/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Jellyfin is a Free Software Media System +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Jellyfin is a Free Software Media System diff --git a/stable/jellyfin/6.1.5/charts/common-6.3.7.tgz b/stable/jellyfin/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/jellyfin/6.1.5/ix_values.yaml b/stable/jellyfin/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..13fabd7f7fe --- /dev/null +++ b/stable/jellyfin/6.1.5/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.5 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jellyfin/6.1.5/questions.yaml b/stable/jellyfin/6.1.5/questions.yaml new file mode 100644 index 00000000000..a2546f0f513 --- /dev/null +++ b/stable/jellyfin/6.1.5/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36010 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jellyfin/6.1.5/templates/common.yaml b/stable/jellyfin/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/6.1.5/test_values.yaml b/stable/jellyfin/6.1.5/test_values.yaml new file mode 100644 index 00000000000..0e62afd1831 --- /dev/null +++ b/stable/jellyfin/6.1.5/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for jellyfin. + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.5 + +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.1.5/values.yaml b/stable/jellyfin/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/6.1.6/CONFIG.md b/stable/kms/6.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/kms/6.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/kms/6.1.6/Chart.lock b/stable/kms/6.1.6/Chart.lock new file mode 100644 index 00000000000..52423010f31 --- /dev/null +++ b/stable/kms/6.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:08.583694421Z" diff --git a/stable/kms/6.1.6/Chart.yaml b/stable/kms/6.1.6/Chart.yaml new file mode 100644 index 00000000000..1aba36b3de0 --- /dev/null +++ b/stable/kms/6.1.6/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/stable/kms/6.1.6/README.md b/stable/kms/6.1.6/README.md new file mode 100644 index 00000000000..f827ffa2615 --- /dev/null +++ b/stable/kms/6.1.6/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.3](https://img.shields.io/badge/Version-6.1.3-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.3.4 | + +## Installing the Chart + +To install the chart with the release name `kms` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `kms` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/kms/6.1.6/app-readme.md b/stable/kms/6.1.6/app-readme.md new file mode 100644 index 00000000000..79791f43227 --- /dev/null +++ b/stable/kms/6.1.6/app-readme.md @@ -0,0 +1,3 @@ +Private Windows Activation Server for development and testing +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Private Windows Activation Server for development and testing diff --git a/stable/kms/6.1.6/charts/common-6.3.7.tgz b/stable/kms/6.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 zcmV)%K#jj2iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9syS2N%xwpCZm-UU!?Y+&vfb|EUrSViH zfyH0e?~TiD-0$RpIsOq9CC<_@m~ReXo~xf}mZCw7%Ba9OVQ;>z(un>A5`0m>;s#8z z0-O~UV#B8#OtTppgDD|-IUbEJF_~5uVU*2Aq^MBD%8X#1mm^XjG@8MZpkgH6^MN?P z5k(|Hz&RwaC_@gaDp3(-DM2Y=P^;12?)Lin-pw$xUn0q57)mQ%pgt)#3?EmFf@ZW83UY7vj3_9hgoqs03e05y&3}m zsET9^tbz*4)vqXt|Er9qSw&DfOwh#zPA|hWQLug}QVh$Dzx{2?1B(|Etspl!8p|dQ z=CVDz;a0de=-2;Z{?B1jq4I$QK>PgP+TGjTvgiNa_RiD%e~jlc$u3|r9suwR42R$p z5dc$=%~4U{7_kXXrU>K(n&1y0o3LM#DoN--6vOrhQQCk)%b}Fu0io$o;=BJ zW+)|VAckm`r6nRDD?mvgL6a&e5g7o$r&wLsWK^0F$U$Z)LtYmgX>djg!2syB#^Cmo z4lsciC|Lv+ub_iDu4WggpdA&X5*H{2c@|T_RG>V;5iG}GqlIHtep$d6fsz!EpvxOp z^xLceM~awo4a^xgxy)e9e2bz2L4v?aj3%&3$SQzo4Blo*g44@)c?^l@2ny>|wB{5! zf&Gvkp#%}s1W|+Mz>XLzC>Ve*)2yIl1()=jq@RwZLI*)#Xw9#AY+;(g51>ln9O8tI zHC9Xey$G1HDlRzy_Lo&v>sqUB4hteD45)vp>G78LC{2L`80Vi1u4l0tB5lm1qcn1DUQaBuf|BP|T1lZpP zP?W(bW2X{q6PT2UvAMWJWK0=dk1-*7XE=SUCN+4*=JgDIFyF1OD=3F2@7@ud;NMt7 zPf!t|l+aN?3%;n!y+O0AxM?jqC{Z!T5ju#XtV&5O_;VED2}UKjo+2_u1%N;l1(25o zm{oOTGBP%%k`0+njd7+=$yi!8q31i&alWhwcrsfA#I6BG_Ov1-LRIXFH2>4&#R zV=%iJ=CCZO7A~6m2I3T;bdHNGWukEo3rxp%8G&RgUdw48Fd-1>swiAXuXCm@@s-r>_Ukz@aKKcm~*m()qVVHdDU=2*YrI z(m89vGpZN}nt1aCN9hol6xmF5X1NB?2RO?q&z^yw7^gtNDUjofstL1fjcY!4-~#bNLm1C+O6fSu6UEH4mv2s9ADq2>|Kq{ycQ3~va5R(Gq$A2lJEMDr3PwT1 zDx>HqyH2lR5rc!1SG4jeLdwjd)=-fmg31tQqd1Go5rO4ZIl}3$C?dlc5;%l8lPk1y zMp~~9Wv>p=hde9MFwf#4HJ6GRFH2kbBPES>gly~a4@WQGA0NDV$z=xs6O5AhEt<&R z;>`&p(=nR|VVcE=a$zu#y($(4D)lG$@(s*ceO_A{O7zQc2J<14nzS?@!i}Q*wJJ6Q zhgC_k8ORHq6`0(BD1jwkabi4~pn?u*LS+OS+!r@ozC=?LS5)T9dWW>yF+%~Kf%2v# zXf~v68Ab&rID&~>M3N-CF6Er3as`5j)1aU-S_kT<0t>INXy*=Nm|mhHtIAp0>V)7@@s|Ns24BWWn6`6PoJeXXys4Nc$icrQq zy}Hy^m=uBuI66L+d@0w&c&Z91_0u>br4U(Q25&%t$}E{9kd{f7T~#^2Wl3jcmVz>y zA@EN%)hN^|FBvU|3@n#P0O%r+K0`4=88Riw*mNI*U_&l1FPSJE3FU&3Cl)G7TsCpb zVm6?~s#sDn{PWKRn*8$1N{euavNS?DDMzy2Fy#!!=_UP`QlX*Ai*hImj-K)L1*exo zGDY(B>VPi;r~Kz@oL-f}xD!)Ru${N+6h#%Ak%w7I&X$?xK`rl<9UGove4 ztxA?X;U##2qMIl|K0vB~u4M8FNmpS&4dg>vx&(B&4#EG>#aFBzfG)8p1~`=~G*vWV zIiyyPSzFhAH54$8u^8FWoiWuwocK

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/kms/6.1.6/ix_values.yaml b/stable/kms/6.1.6/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/6.1.6/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.1.6/questions.yaml b/stable/kms/6.1.6/questions.yaml new file mode 100644 index 00000000000..d366e84898b --- /dev/null +++ b/stable/kms/6.1.6/questions.yaml @@ -0,0 +1,394 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: false + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1688 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1688 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36011 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/kms/6.1.6/templates/common.yaml b/stable/kms/6.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/6.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/6.1.6/test_values.yaml b/stable/kms/6.1.6/test_values.yaml new file mode 100644 index 00000000000..8aabb450d99 --- /dev/null +++ b/stable/kms/6.1.6/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.1.6/values.yaml b/stable/kms/6.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/6.1.5/CONFIG.md b/stable/lidarr/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/lidarr/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/lidarr/6.1.5/Chart.lock b/stable/lidarr/6.1.5/Chart.lock new file mode 100644 index 00000000000..0db1520bb27 --- /dev/null +++ b/stable/lidarr/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:09.500109233Z" diff --git a/stable/lidarr/6.1.5/Chart.yaml b/stable/lidarr/6.1.5/Chart.yaml new file mode 100644 index 00000000000..84913bd24c0 --- /dev/null +++ b/stable/lidarr/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/lidarr/6.1.5/README.md b/stable/lidarr/6.1.5/README.md new file mode 100644 index 00000000000..07bf87425d2 --- /dev/null +++ b/stable/lidarr/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `lidarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lidarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/lidarr/6.1.5/app-readme.md b/stable/lidarr/6.1.5/app-readme.md new file mode 100644 index 00000000000..399c4eb028a --- /dev/null +++ b/stable/lidarr/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Looks and smells like Sonarr but made for music +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Looks and smells like Sonarr but made for music diff --git a/stable/lidarr/6.1.5/charts/common-6.3.7.tgz b/stable/lidarr/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 zcmV)%K#jj2iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9syS2N%xwpCZm-UU!?Y+&vfb|EUrSViH zfyH0e?~TiD-0$RpIsOq9CC<_@m~ReXo~xf}mZCw7%Ba9OVQ;>z(un>A5`0m>;s#8z z0-O~UV#B8#OtTppgDD|-IUbEJF_~5uVU*2Aq^MBD%8X#1mm^XjG@8MZpkgH6^MN?P z5k(|Hz&RwaC_@gaDp3(-DM2Y=P^;12?)Lin-pw$xUn0q57)mQ%pgt)#3?EmFf@ZW83UY7vj3_9hgoqs03e05y&3}m zsET9^tbz*4)vqXt|Er9qSw&DfOwh#zPA|hWQLug}QVh$Dzx{2?1B(|Etspl!8p|dQ z=CVDz;a0de=-2;Z{?B1jq4I$QK>PgP+TGjTvgiNa_RiD%e~jlc$u3|r9suwR42R$p z5dc$=%~4U{7_kXXrU>K(n&1y0o3LM#DoN--6vOrhQQCk)%b}Fu0io$o;=BJ zW+)|VAckm`r6nRDD?mvgL6a&e5g7o$r&wLsWK^0F$U$Z)LtYmgX>djg!2syB#^Cmo z4lsciC|Lv+ub_iDu4WggpdA&X5*H{2c@|T_RG>V;5iG}GqlIHtep$d6fsz!EpvxOp z^xLceM~awo4a^xgxy)e9e2bz2L4v?aj3%&3$SQzo4Blo*g44@)c?^l@2ny>|wB{5! zf&Gvkp#%}s1W|+Mz>XLzC>Ve*)2yIl1()=jq@RwZLI*)#Xw9#AY+;(g51>ln9O8tI zHC9Xey$G1HDlRzy_Lo&v>sqUB4hteD45)vp>G78LC{2L`80Vi1u4l0tB5lm1qcn1DUQaBuf|BP|T1lZpP zP?W(bW2X{q6PT2UvAMWJWK0=dk1-*7XE=SUCN+4*=JgDIFyF1OD=3F2@7@ud;NMt7 zPf!t|l+aN?3%;n!y+O0AxM?jqC{Z!T5ju#XtV&5O_;VED2}UKjo+2_u1%N;l1(25o zm{oOTGBP%%k`0+njd7+=$yi!8q31i&alWhwcrsfA#I6BG_Ov1-LRIXFH2>4&#R zV=%iJ=CCZO7A~6m2I3T;bdHNGWukEo3rxp%8G&RgUdw48Fd-1>swiAXuXCm@@s-r>_Ukz@aKKcm~*m()qVVHdDU=2*YrI z(m89vGpZN}nt1aCN9hol6xmF5X1NB?2RO?q&z^yw7^gtNDUjofstL1fjcY!4-~#bNLm1C+O6fSu6UEH4mv2s9ADq2>|Kq{ycQ3~va5R(Gq$A2lJEMDr3PwT1 zDx>HqyH2lR5rc!1SG4jeLdwjd)=-fmg31tQqd1Go5rO4ZIl}3$C?dlc5;%l8lPk1y zMp~~9Wv>p=hde9MFwf#4HJ6GRFH2kbBPES>gly~a4@WQGA0NDV$z=xs6O5AhEt<&R z;>`&p(=nR|VVcE=a$zu#y($(4D)lG$@(s*ceO_A{O7zQc2J<14nzS?@!i}Q*wJJ6Q zhgC_k8ORHq6`0(BD1jwkabi4~pn?u*LS+OS+!r@ozC=?LS5)T9dWW>yF+%~Kf%2v# zXf~v68Ab&rID&~>M3N-CF6Er3as`5j)1aU-S_kT<0t>INXy*=Nm|mhHtIAp0>V)7@@s|Ns24BWWn6`6PoJeXXys4Nc$icrQq zy}Hy^m=uBuI66L+d@0w&c&Z91_0u>br4U(Q25&%t$}E{9kd{f7T~#^2Wl3jcmVz>y zA@EN%)hN^|FBvU|3@n#P0O%r+K0`4=88Riw*mNI*U_&l1FPSJE3FU&3Cl)G7TsCpb zVm6?~s#sDn{PWKRn*8$1N{euavNS?DDMzy2Fy#!!=_UP`QlX*Ai*hImj-K)L1*exo zGDY(B>VPi;r~Kz@oL-f}xD!)Ru${N+6h#%Ak%w7I&X$?xK`rl<9UGove4 ztxA?X;U##2qMIl|K0vB~u4M8FNmpS&4dg>vx&(B&4#EG>#aFBzfG)8p1~`=~G*vWV zIiyyPSzFhAH54$8u^8FWoiWuwocK

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/lidarr/6.1.5/ix_values.yaml b/stable/lidarr/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..8e1f0287c69 --- /dev/null +++ b/stable/lidarr/6.1.5/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.2226 + +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.1.5/questions.yaml b/stable/lidarr/6.1.5/questions.yaml new file mode 100644 index 00000000000..8562768ab26 --- /dev/null +++ b/stable/lidarr/6.1.5/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8686 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8686 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36012 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/lidarr/6.1.5/templates/common.yaml b/stable/lidarr/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/6.1.5/test_values.yaml b/stable/lidarr/6.1.5/test_values.yaml new file mode 100644 index 00000000000..109af474bbe --- /dev/null +++ b/stable/lidarr/6.1.5/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.2226 + +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.1.5/values.yaml b/stable/lidarr/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.1.7/CONFIG.md b/stable/ombi/6.1.7/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/ombi/6.1.7/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/ombi/6.1.7/Chart.lock b/stable/ombi/6.1.7/Chart.lock new file mode 100644 index 00000000000..51d6b3aea3a --- /dev/null +++ b/stable/ombi/6.1.7/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:10.46484423Z" diff --git a/stable/ombi/6.1.7/Chart.yaml b/stable/ombi/6.1.7/Chart.yaml new file mode 100644 index 00000000000..12e38be7266 --- /dev/null +++ b/stable/ombi/6.1.7/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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://img3.androidappsapk.co/wiLDnuwrCWctiiW62ALcj4eIpNbzeRH_UNPo7eqlpYvGkCQYSTybaI4xVRLKGjnlamlV=s300 +keywords: +- ombi +- plex +- emby +- sonarr +- radarr +- couchpotato +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: ombi +sources: +- https://github.com/tidusjar/Ombi +type: application +version: 6.1.7 diff --git a/stable/ombi/6.1.7/README.md b/stable/ombi/6.1.7/README.md new file mode 100644 index 00000000000..ffc0ea8af03 --- /dev/null +++ b/stable/ombi/6.1.7/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `ombi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `ombi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/ombi/6.1.7/app-readme.md b/stable/ombi/6.1.7/app-readme.md new file mode 100644 index 00000000000..b573c95c432 --- /dev/null +++ b/stable/ombi/6.1.7/app-readme.md @@ -0,0 +1,3 @@ +Want a Movie or TV Show on Plex or Emby? Use Ombi! +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Want a Movie or TV Show on Plex or Emby? Use Ombi! diff --git a/stable/ombi/6.1.7/charts/common-6.3.7.tgz b/stable/ombi/6.1.7/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/ombi/6.1.7/ix_values.yaml b/stable/ombi/6.1.7/ix_values.yaml new file mode 100644 index 00000000000..ec5231f945e --- /dev/null +++ b/stable/ombi/6.1.7/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.1422 + +## +# 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.1.7/questions.yaml b/stable/ombi/6.1.7/questions.yaml new file mode 100644 index 00000000000..8fa61a5554e --- /dev/null +++ b/stable/ombi/6.1.7/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3579 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3579 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36013 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/ombi/6.1.7/templates/common.yaml b/stable/ombi/6.1.7/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/6.1.7/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/6.1.7/test_values.yaml b/stable/ombi/6.1.7/test_values.yaml new file mode 100644 index 00000000000..383db6aad93 --- /dev/null +++ b/stable/ombi/6.1.7/test_values.yaml @@ -0,0 +1,40 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1422 + +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.1.7/values.yaml b/stable/ombi/6.1.7/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/5.1.6/CONFIG.md b/stable/plex/5.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/plex/5.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/plex/5.1.6/Chart.lock b/stable/plex/5.1.6/Chart.lock new file mode 100644 index 00000000000..be844864d6c --- /dev/null +++ b/stable/plex/5.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:11.405284977Z" diff --git a/stable/plex/5.1.6/Chart.yaml b/stable/plex/5.1.6/Chart.yaml new file mode 100644 index 00000000000..8063cce3c68 --- /dev/null +++ b/stable/plex/5.1.6/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/stable/plex/5.1.6/README.md b/stable/plex/5.1.6/README.md new file mode 100644 index 00000000000..0caea193425 --- /dev/null +++ b/stable/plex/5.1.6/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 5.1.2](https://img.shields.io/badge/Version-5.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `plex` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `plex` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/plex/5.1.6/app-readme.md b/stable/plex/5.1.6/app-readme.md new file mode 100644 index 00000000000..4d5dfd7c1f2 --- /dev/null +++ b/stable/plex/5.1.6/app-readme.md @@ -0,0 +1,3 @@ +Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Plex Media Server diff --git a/stable/plex/5.1.6/charts/common-6.3.7.tgz b/stable/plex/5.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/plex/5.1.6/ix_values.yaml b/stable/plex/5.1.6/ix_values.yaml new file mode 100644 index 00000000000..9d1a18c2fb7 --- /dev/null +++ b/stable/plex/5.1.6/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +# 44=video 107=render +podSecurityContext: + supplementalGroups: [44, 107] + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/plex/5.1.6/questions.yaml b/stable/plex/5.1.6/questions.yaml new file mode 100644 index 00000000000..3f078133df4 --- /dev/null +++ b/stable/plex/5.1.6/questions.yaml @@ -0,0 +1,673 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: 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" + schema: + type: string + default: "" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!)" + schema: + type: string + default: "" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 32400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 32400 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 32400 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/plex/5.1.6/templates/common.yaml b/stable/plex/5.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/5.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/5.1.6/test_values.yaml b/stable/plex/5.1.6/test_values.yaml new file mode 100644 index 00000000000..7682d88cd14 --- /dev/null +++ b/stable/plex/5.1.6/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for Plex. + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 32400 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/plex/5.1.6/values.yaml b/stable/plex/5.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/6.1.5/CONFIG.md b/stable/radarr/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/radarr/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/radarr/6.1.5/Chart.lock b/stable/radarr/6.1.5/Chart.lock new file mode 100644 index 00000000000..9bd531eb576 --- /dev/null +++ b/stable/radarr/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:12.334308794Z" diff --git a/stable/radarr/6.1.5/Chart.yaml b/stable/radarr/6.1.5/Chart.yaml new file mode 100644 index 00000000000..9aa880b9450 --- /dev/null +++ b/stable/radarr/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/radarr/6.1.5/README.md b/stable/radarr/6.1.5/README.md new file mode 100644 index 00000000000..28512e3dcaf --- /dev/null +++ b/stable/radarr/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `radarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `radarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/radarr/6.1.5/app-readme.md b/stable/radarr/6.1.5/app-readme.md new file mode 100644 index 00000000000..a48f3396005 --- /dev/null +++ b/stable/radarr/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +A fork of Sonarr to work with movies à la Couchpotato +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"A fork of Sonarr to work with movies \xE0 la Couchpotato" diff --git a/stable/radarr/6.1.5/charts/common-6.3.7.tgz b/stable/radarr/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/radarr/6.1.5/ix_values.yaml b/stable/radarr/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..095e494f526 --- /dev/null +++ b/stable/radarr/6.1.5/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.1.5/questions.yaml b/stable/radarr/6.1.5/questions.yaml new file mode 100644 index 00000000000..50cc928ec78 --- /dev/null +++ b/stable/radarr/6.1.5/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7878 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7878 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36016 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/radarr/6.1.5/templates/common.yaml b/stable/radarr/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/6.1.5/test_values.yaml b/stable/radarr/6.1.5/test_values.yaml new file mode 100644 index 00000000000..64bfadaa7d0 --- /dev/null +++ b/stable/radarr/6.1.5/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.1.5/values.yaml b/stable/radarr/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/6.1.5/CONFIG.md b/stable/sonarr/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/sonarr/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/sonarr/6.1.5/Chart.lock b/stable/sonarr/6.1.5/Chart.lock new file mode 100644 index 00000000000..549a237b6b0 --- /dev/null +++ b/stable/sonarr/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:13.287222336Z" diff --git a/stable/sonarr/6.1.5/Chart.yaml b/stable/sonarr/6.1.5/Chart.yaml new file mode 100644 index 00000000000..dbc6171a444 --- /dev/null +++ b/stable/sonarr/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/sonarr/6.1.5/README.md b/stable/sonarr/6.1.5/README.md new file mode 100644 index 00000000000..79169b50882 --- /dev/null +++ b/stable/sonarr/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `sonarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sonarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/sonarr/6.1.5/app-readme.md b/stable/sonarr/6.1.5/app-readme.md new file mode 100644 index 00000000000..07c189ecff0 --- /dev/null +++ b/stable/sonarr/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Smart PVR for newsgroup and bittorrent users diff --git a/stable/sonarr/6.1.5/charts/common-6.3.7.tgz b/stable/sonarr/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/sonarr/6.1.5/ix_values.yaml b/stable/sonarr/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..0f7deb891f1 --- /dev/null +++ b/stable/sonarr/6.1.5/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.1196 + +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.1.5/questions.yaml b/stable/sonarr/6.1.5/questions.yaml new file mode 100644 index 00000000000..6f481889d30 --- /dev/null +++ b/stable/sonarr/6.1.5/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8989 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8989 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36017 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/sonarr/6.1.5/templates/common.yaml b/stable/sonarr/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/6.1.5/test_values.yaml b/stable/sonarr/6.1.5/test_values.yaml new file mode 100644 index 00000000000..504a54c0bd2 --- /dev/null +++ b/stable/sonarr/6.1.5/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.1196 + +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.1.5/values.yaml b/stable/sonarr/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/6.1.5/CONFIG.md b/stable/syncthing/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/syncthing/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/syncthing/6.1.5/Chart.lock b/stable/syncthing/6.1.5/Chart.lock new file mode 100644 index 00000000000..d2f51310410 --- /dev/null +++ b/stable/syncthing/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:14.265652408Z" diff --git a/stable/syncthing/6.1.5/Chart.yaml b/stable/syncthing/6.1.5/Chart.yaml new file mode 100644 index 00000000000..4502eef88f4 --- /dev/null +++ b/stable/syncthing/6.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/syncthing/6.1.5/README.md b/stable/syncthing/6.1.5/README.md new file mode 100644 index 00000000000..b317c141e85 --- /dev/null +++ b/stable/syncthing/6.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `syncthing` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `syncthing` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/syncthing/6.1.5/app-readme.md b/stable/syncthing/6.1.5/app-readme.md new file mode 100644 index 00000000000..7eaa0780e0e --- /dev/null +++ b/stable/syncthing/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +P2P file synchronization application +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +P2P file synchronization application diff --git a/stable/syncthing/6.1.5/charts/common-6.3.7.tgz b/stable/syncthing/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/syncthing/6.1.5/ix_values.yaml b/stable/syncthing/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..f193ef8abcf --- /dev/null +++ b/stable/syncthing/6.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/syncthing/6.1.5/questions.yaml b/stable/syncthing/6.1.5/questions.yaml new file mode 100644 index 00000000000..f33faf75cd6 --- /dev/null +++ b/stable/syncthing/6.1.5/questions.yaml @@ -0,0 +1,908 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8384 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8384 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36024 + required: true + - variable: listeners + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: discovery + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: discovery + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 21027 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 21027 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 21027 + required: true + + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/syncthing/6.1.5/templates/common.yaml b/stable/syncthing/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/6.1.5/test_values.yaml b/stable/syncthing/6.1.5/test_values.yaml new file mode 100644 index 00000000000..7510fdadbc0 --- /dev/null +++ b/stable/syncthing/6.1.5/test_values.yaml @@ -0,0 +1,38 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8384 + listeners: + ports: + tcp: + enabled: true + port: 22000 + protocol: TCP + udp: + enabled: true + port: 22000 + protocol: UDP + discovery: + ports: + discovery: + enabled: true + port: 21027 + protocol: UDP + +persistence: + config: + enabled: true + type: emptyDir + + mountPath: "/var/syncthing/" diff --git a/stable/syncthing/6.1.5/values.yaml b/stable/syncthing/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/6.1.5/CONFIG.md b/stable/tautulli/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/tautulli/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/tautulli/6.1.5/Chart.lock b/stable/tautulli/6.1.5/Chart.lock new file mode 100644 index 00000000000..dca3467d6f4 --- /dev/null +++ b/stable/tautulli/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:15.198244877Z" diff --git a/stable/tautulli/6.1.5/Chart.yaml b/stable/tautulli/6.1.5/Chart.yaml new file mode 100644 index 00000000000..e15dbe9279b --- /dev/null +++ b/stable/tautulli/6.1.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/tautulli/6.1.5/README.md b/stable/tautulli/6.1.5/README.md new file mode 100644 index 00000000000..7940748258b --- /dev/null +++ b/stable/tautulli/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `tautulli` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tautulli` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/tautulli/6.1.5/app-readme.md b/stable/tautulli/6.1.5/app-readme.md new file mode 100644 index 00000000000..4286929041b --- /dev/null +++ b/stable/tautulli/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +A Python based monitoring and tracking tool for Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Python based monitoring and tracking tool for Plex Media Server diff --git a/stable/tautulli/6.1.5/charts/common-6.3.7.tgz b/stable/tautulli/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/tautulli/6.1.5/ix_values.yaml b/stable/tautulli/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..889a1bfac56 --- /dev/null +++ b/stable/tautulli/6.1.5/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.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/tautulli/6.1.5/questions.yaml b/stable/tautulli/6.1.5/questions.yaml new file mode 100644 index 00000000000..b504c5e9db9 --- /dev/null +++ b/stable/tautulli/6.1.5/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8181 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8181 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36018 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/tautulli/6.1.5/templates/common.yaml b/stable/tautulli/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/6.1.5/test_values.yaml b/stable/tautulli/6.1.5/test_values.yaml new file mode 100644 index 00000000000..79093a724e6 --- /dev/null +++ b/stable/tautulli/6.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Tautulli. + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.3 + +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.1.5/values.yaml b/stable/tautulli/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.1.5/CONFIG.md b/stable/traefik/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/traefik/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/traefik/6.1.5/Chart.lock b/stable/traefik/6.1.5/Chart.lock new file mode 100644 index 00000000000..92909b15213 --- /dev/null +++ b/stable/traefik/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:16.119160697Z" diff --git a/stable/traefik/6.1.5/Chart.yaml b/stable/traefik/6.1.5/Chart.yaml new file mode 100644 index 00000000000..9891e600eec --- /dev/null +++ b/stable/traefik/6.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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 +version: 6.1.5 diff --git a/stable/traefik/6.1.5/LICENSE b/stable/traefik/6.1.5/LICENSE new file mode 100644 index 00000000000..907ff83212c --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/README.md b/stable/traefik/6.1.5/README.md new file mode 100644 index 00000000000..d00a60858d3 --- /dev/null +++ b/stable/traefik/6.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `traefik` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `traefik` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/traefik/6.1.5/app-readme.md b/stable/traefik/6.1.5/app-readme.md new file mode 100644 index 00000000000..753f84f7068 --- /dev/null +++ b/stable/traefik/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +A Traefik based Reverse Proxy and Certificate Manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Traefik based Reverse Proxy and Certificate Manager diff --git a/stable/traefik/6.1.5/charts/common-6.3.7.tgz b/stable/traefik/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/traefik/6.1.5/crds/ingressroute.yaml b/stable/traefik/6.1.5/crds/ingressroute.yaml new file mode 100644 index 00000000000..9422be3c878 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/ingressroutetcp.yaml b/stable/traefik/6.1.5/crds/ingressroutetcp.yaml new file mode 100644 index 00000000000..b50eb9dcc46 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/ingressrouteudp.yaml b/stable/traefik/6.1.5/crds/ingressrouteudp.yaml new file mode 100644 index 00000000000..d7c2624b576 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/middlewares.yaml b/stable/traefik/6.1.5/crds/middlewares.yaml new file mode 100644 index 00000000000..513b36f5d8a --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/serverstransports.yaml b/stable/traefik/6.1.5/crds/serverstransports.yaml new file mode 100644 index 00000000000..689a57f71bd --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/tlsoptions.yaml b/stable/traefik/6.1.5/crds/tlsoptions.yaml new file mode 100644 index 00000000000..a0c2573fb93 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/tlsstores.yaml b/stable/traefik/6.1.5/crds/tlsstores.yaml new file mode 100644 index 00000000000..f9a40052ba6 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/crds/traefikservices.yaml b/stable/traefik/6.1.5/crds/traefikservices.yaml new file mode 100644 index 00000000000..59fa4839477 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/ix_values.yaml b/stable/traefik/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..7bae09f16bc --- /dev/null +++ b/stable/traefik/6.1.5/ix_values.yaml @@ -0,0 +1,316 @@ +# 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 + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] diff --git a/stable/traefik/6.1.5/questions.yaml b/stable/traefik/6.1.5/questions.yaml new file mode 100644 index 00000000000..eac432f7a96 --- /dev/null +++ b/stable/traefik/6.1.5/questions.yaml @@ -0,0 +1,385 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "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: 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: 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: "/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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 65532 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 65532 + + + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 65532 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/traefik/6.1.5/templates/_helpers.tpl b/stable/traefik/6.1.5/templates/_helpers.tpl new file mode 100644 index 00000000000..f7b055fa82e --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/_podtemplate.tpl b/stable/traefik/6.1.5/templates/_podtemplate.tpl new file mode 100644 index 00000000000..9e8fe8aca34 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/custom/common.yaml b/stable/traefik/6.1.5/templates/custom/common.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.1.5/templates/custom/portal.yaml b/stable/traefik/6.1.5/templates/custom/portal.yaml new file mode 100644 index 00000000000..44b48e77d49 --- /dev/null +++ b/stable/traefik/6.1.5/templates/custom/portal.yaml @@ -0,0 +1,44 @@ +{{- if .Values.portal }} +{{- if .Values.portal.enabled }} +{{- $ingr := dict -}} +{{- $host := "$node_ip" }} +{{- $port := 443 }} +{{- $protocol := "https" }} +{{- $portProtocol := "" }} +{{- $path := "/" }} + +{{- 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 }} +{{- 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.1.5/templates/daemonset.yaml b/stable/traefik/6.1.5/templates/daemonset.yaml new file mode 100644 index 00000000000..469e105c358 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/dashboard-hook-ingressroute.yaml b/stable/traefik/6.1.5/templates/dashboard-hook-ingressroute.yaml new file mode 100644 index 00000000000..ec278c26910 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/deployment.yaml b/stable/traefik/6.1.5/templates/deployment.yaml new file mode 100644 index 00000000000..494087cfd0a --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/gateway.yaml b/stable/traefik/6.1.5/templates/gateway.yaml new file mode 100644 index 00000000000..85194211fe5 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/gatewayclass.yaml b/stable/traefik/6.1.5/templates/gatewayclass.yaml new file mode 100644 index 00000000000..61bf007db1e --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/hpa.yaml b/stable/traefik/6.1.5/templates/hpa.yaml new file mode 100644 index 00000000000..bf37117de6a --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/ingressclass.yaml b/stable/traefik/6.1.5/templates/ingressclass.yaml new file mode 100644 index 00000000000..7c62458c82e --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/poddisruptionbudget.yaml b/stable/traefik/6.1.5/templates/poddisruptionbudget.yaml new file mode 100644 index 00000000000..9893e521759 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/clusterrole.yaml b/stable/traefik/6.1.5/templates/rbac/clusterrole.yaml new file mode 100644 index 00000000000..2c63e006414 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/clusterrolebinding.yaml b/stable/traefik/6.1.5/templates/rbac/clusterrolebinding.yaml new file mode 100644 index 00000000000..509e92ff2b7 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/podsecuritypolicy.yaml b/stable/traefik/6.1.5/templates/rbac/podsecuritypolicy.yaml new file mode 100644 index 00000000000..66bc1458d55 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/role.yaml b/stable/traefik/6.1.5/templates/rbac/role.yaml new file mode 100644 index 00000000000..6c763065d6f --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/rolebinding.yaml b/stable/traefik/6.1.5/templates/rbac/rolebinding.yaml new file mode 100644 index 00000000000..10416401867 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/rbac/serviceaccount.yaml b/stable/traefik/6.1.5/templates/rbac/serviceaccount.yaml new file mode 100644 index 00000000000..bcc941eec95 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/templates/service.yaml b/stable/traefik/6.1.5/templates/service.yaml new file mode 100644 index 00000000000..aa9f418ae06 --- /dev/null +++ b/stable/traefik/6.1.5/templates/service.yaml @@ -0,0 +1,112 @@ +{{- 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 +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.1.5/templates/tlsoption.yaml b/stable/traefik/6.1.5/templates/tlsoption.yaml new file mode 100644 index 00000000000..ec46e8bbc94 --- /dev/null +++ b/stable/traefik/6.1.5/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.1.5/test_values.yaml b/stable/traefik/6.1.5/test_values.yaml new file mode 100644 index 00000000000..8d0ba5213e5 --- /dev/null +++ b/stable/traefik/6.1.5/test_values.yaml @@ -0,0 +1,406 @@ +# 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 diff --git a/stable/traefik/6.1.5/values.yaml b/stable/traefik/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/transmission/6.1.5/CONFIG.md b/stable/transmission/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/transmission/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/transmission/6.1.5/Chart.lock b/stable/transmission/6.1.5/Chart.lock new file mode 100644 index 00000000000..713201e2b52 --- /dev/null +++ b/stable/transmission/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:17.039786299Z" diff --git a/stable/transmission/6.1.5/Chart.yaml b/stable/transmission/6.1.5/Chart.yaml new file mode 100644 index 00000000000..efce1b97fe6 --- /dev/null +++ b/stable/transmission/6.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/transmission/6.1.5/README.md b/stable/transmission/6.1.5/README.md new file mode 100644 index 00000000000..ccfa3f4990f --- /dev/null +++ b/stable/transmission/6.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `transmission` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `transmission` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/transmission/6.1.5/app-readme.md b/stable/transmission/6.1.5/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/transmission/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/transmission/6.1.5/charts/common-6.3.7.tgz b/stable/transmission/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/transmission/6.1.5/ix_values.yaml b/stable/transmission/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..aeea220e56b --- /dev/null +++ b/stable/transmission/6.1.5/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.1.5/questions.yaml b/stable/transmission/6.1.5/questions.yaml new file mode 100644 index 00000000000..74613b9814e --- /dev/null +++ b/stable/transmission/6.1.5/questions.yaml @@ -0,0 +1,1134 @@ +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: TRANSMISSION_ALT_SPEED_DOWN + label: TRANSMISSION_ALT_SPEED_DOWN + schema: + type: int + default: 50 + - variable: TRANSMISSION_ALT_SPEED_ENABLED + label: TRANSMISSION_ALT_SPEED_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_BEGIN + label: TRANSMISSION_ALT_SPEED_TIME_BEGIN + schema: + type: int + default: 540 + - variable: TRANSMISSION_ALT_SPEED_TIME_DAY + label: TRANSMISSION_ALT_SPEED_TIME_DAY + schema: + type: int + default: 127 + - variable: TRANSMISSION_ALT_SPEED_TIME_ENABLED + label: TRANSMISSION_ALT_SPEED_TIME_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_END + label: TRANSMISSION_ALT_SPEED_TIME_END + schema: + type: int + default: 1020 + - variable: TRANSMISSION_ALT_SPEED_UP + label: TRANSMISSION_ALT_SPEED_UP + schema: + type: int + default: 50 + - variable: TRANSMISSION_BIND_ADDRESS_IPV4 + label: TRANSMISSION_BIND_ADDRESS_IPV4 + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_BIND_ADDRESS_IPV6 + label: TRANSMISSION_BIND_ADDRESS_IPV6 + schema: + type: string + default: "::" + - variable: TRANSMISSION_BLOCKLIST_ENABLED + label: TRANSMISSION_BLOCKLIST_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_BLOCKLIST_URL + label: TRANSMISSION_BLOCKLIST_URL + schema: + type: string + default: "http://john.bitsurge.net/public/biglist.p2p.gz" + - variable: TRANSMISSION_CACHE_SIZE_MB + label: TRANSMISSION_CACHE_SIZE_MB + schema: + type: int + default: 4 + - variable: TRANSMISSION_DHT_ENABLED + label: TRANSMISSION_DHT_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_DIR + label: TRANSMISSION_DOWNLOAD_DIR + schema: + type: string + default: "/downloads/complete" + - variable: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + label: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + label: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + schema: + type: int + default: 5 + - variable: TRANSMISSION_ENCRYPTION + label: TRANSMISSION_ENCRYPTION + schema: + type: int + default: 1 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT + label: TRANSMISSION_IDLE_SEEDING_LIMIT + schema: + type: int + default: 30 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + label: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_INCOMPLETE_DIR + label: TRANSMISSION_INCOMPLETE_DIR + schema: + type: string + default: "/downloads/incomplete" + - variable: TRANSMISSION_INCOMPLETE_DIR_ENABLED + label: TRANSMISSION_INCOMPLETE_DIR_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_LPD_ENABLED + label: TRANSMISSION_LPD_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_MESSAGE_LEVEL + label: TRANSMISSION_MESSAGE_LEVEL + schema: + type: int + default: 2 + - variable: TRANSMISSION_PEER_CONGESTION_ALGORITHM + label: TRANSMISSION_PEER_CONGESTION_ALGORITHM + schema: + type: string + default: "" + - variable: TRANSMISSION_PEER_ID_TTL_HOURS + label: TRANSMISSION_PEER_ID_TTL_HOURS + schema: + type: int + default: 6 + - variable: TRANSMISSION_PEER_LIMIT_GLOBAL + label: TRANSMISSION_PEER_LIMIT_GLOBAL + schema: + type: int + default: 200 + - variable: TRANSMISSION_PEER_LIMIT_PER_TORRENT + label: TRANSMISSION_PEER_LIMIT_PER_TORRENT + schema: + type: int + default: 50 + - variable: TRANSMISSION_PEER_PORT + label: TRANSMISSION_PEER_PORT + schema: + type: int + default: 51413 + - variable: TRANSMISSION_PEER_PORT_RANDOM_HIGH + label: TRANSMISSION_PEER_PORT_RANDOM_HIGH + schema: + type: int + default: 65535 + - variable: TRANSMISSION_PEER_PORT_RANDOM_LOW + label: TRANSMISSION_PEER_PORT_RANDOM_LOW + schema: + type: int + default: 49152 + - variable: TRANSMISSION_PEER_PORT_RANDOM_ON_START + label: TRANSMISSION_PEER_PORT_RANDOM_ON_START + schema: + type: boolean + default: false + - variable: TRANSMISSION_PEER_SOCKET_TOS + label: TRANSMISSION_PEER_SOCKET_TOS + schema: + type: string + default: "default" + - variable: TRANSMISSION_PEX_ENABLED + label: TRANSMISSION_PEX_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_PORT_FORWARDING_ENABLED + label: TRANSMISSION_PORT_FORWARDING_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_PREALLOCATION + label: TRANSMISSION_PREALLOCATION + schema: + type: int + default: 1 + - variable: TRANSMISSION_PREFETCH_ENABLED + label: TRANSMISSION_PREFETCH_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_ENABLED + label: TRANSMISSION_QUEUE_STALLED_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_MINUTES + label: TRANSMISSION_QUEUE_STALLED_MINUTES + schema: + type: int + default: 30 + - variable: TRANSMISSION_RATIO_LIMIT + label: TRANSMISSION_RATIO_LIMIT + schema: + type: int + default: 2 + - variable: TRANSMISSION_RATIO_LIMIT_ENABLED + label: TRANSMISSION_RATIO_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RENAME_PARTIAL_FILES + label: TRANSMISSION_RENAME_PARTIAL_FILES + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + label: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_BIND_ADDRESS + label: TRANSMISSION_RPC_BIND_ADDRESS + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_RPC_ENABLED + label: TRANSMISSION_RPC_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_HOST_WHITELIST + label: TRANSMISSION_RPC_HOST_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + label: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_PASSWORD + label: TRANSMISSION_RPC_PASSWORD + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_PORT + label: TRANSMISSION_RPC_PORT + schema: + type: int + default: 9091 + - variable: TRANSMISSION_RPC_URL + label: TRANSMISSION_RPC_URL + schema: + type: string + default: "/" + - variable: TRANSMISSION_RPC_USERNAME + label: TRANSMISSION_RPC_USERNAME + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST + label: TRANSMISSION_RPC_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST_ENABLED + label: TRANSMISSION_RPC_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + label: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + label: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + label: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + schema: + type: string + default: "" + - variable: TRANSMISSION_SEED_QUEUE_ENABLED + label: TRANSMISSION_SEED_QUEUE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SEED_QUEUE_SIZE + label: TRANSMISSION_SEED_QUEUE_SIZE + schema: + type: int + default: 10 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN + label: TRANSMISSION_SPEED_LIMIT_DOWN + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + label: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SPEED_LIMIT_UP + label: TRANSMISSION_SPEED_LIMIT_UP + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + label: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_START_ADDED_TORRENTS + label: TRANSMISSION_START_ADDED_TORRENTS + schema: + type: boolean + default: true + - variable: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + label: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + schema: + type: boolean + default: false + - variable: TRANSMISSION_UMASK + label: TRANSMISSION_UMASK + schema: + type: int + default: 2 + - variable: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + label: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + schema: + type: int + default: 14 + - variable: TRANSMISSION_UTP_ENABLED + label: TRANSMISSION_UTP_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_WATCH_DIR + label: TRANSMISSION_WATCH_DIR + schema: + type: string + default: "/watch" + - variable: TRANSMISSION_WATCH_DIR_ENABLED + label: TRANSMISSION_WATCH_DIR_ENABLED + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9091 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36019 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36020 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36020 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/transmission/6.1.5/templates/common.yaml b/stable/transmission/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/stable/transmission/6.1.5/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/transmission/6.1.5/test_values.yaml b/stable/transmission/6.1.5/test_values.yaml new file mode 100644 index 00000000000..c2388fbd06c --- /dev/null +++ b/stable/transmission/6.1.5/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.1.5/values.yaml b/stable/transmission/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/6.1.5/CONFIG.md b/stable/truecommand/6.1.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/truecommand/6.1.5/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/truecommand/6.1.5/Chart.lock b/stable/truecommand/6.1.5/Chart.lock new file mode 100644 index 00000000000..afa3ff59144 --- /dev/null +++ b/stable/truecommand/6.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:17.924048775Z" diff --git a/stable/truecommand/6.1.5/Chart.yaml b/stable/truecommand/6.1.5/Chart.yaml new file mode 100644 index 00000000000..378ccac1908 --- /dev/null +++ b/stable/truecommand/6.1.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.5 diff --git a/stable/truecommand/6.1.5/README.md b/stable/truecommand/6.1.5/README.md new file mode 100644 index 00000000000..8fd2ceabd55 --- /dev/null +++ b/stable/truecommand/6.1.5/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.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.3.4 | + +## Installing the Chart + +To install the chart with the release name `truecommand` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `truecommand` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/truecommand/6.1.5/app-readme.md b/stable/truecommand/6.1.5/app-readme.md new file mode 100644 index 00000000000..8e1468487fc --- /dev/null +++ b/stable/truecommand/6.1.5/app-readme.md @@ -0,0 +1,3 @@ +Aggregated management of TrueNAS devices +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Aggregated management of TrueNAS devices diff --git a/stable/truecommand/6.1.5/charts/common-6.3.7.tgz b/stable/truecommand/6.1.5/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/truecommand/6.1.5/ix_values.yaml b/stable/truecommand/6.1.5/ix_values.yaml new file mode 100644 index 00000000000..feeb16a6372 --- /dev/null +++ b/stable/truecommand/6.1.5/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.1.5/questions.yaml b/stable/truecommand/6.1.5/questions.yaml new file mode 100644 index 00000000000..57479dc563d --- /dev/null +++ b/stable/truecommand/6.1.5/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36044 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: 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.1.5/templates/common.yaml b/stable/truecommand/6.1.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/6.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/6.1.5/test_values.yaml b/stable/truecommand/6.1.5/test_values.yaml new file mode 100644 index 00000000000..7710492dc3d --- /dev/null +++ b/stable/truecommand/6.1.5/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.1.5/values.yaml b/stable/truecommand/6.1.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/3.2.2/CONFIG.md b/stable/vaultwarden/3.2.2/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/vaultwarden/3.2.2/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/vaultwarden/3.2.2/Chart.lock b/stable/vaultwarden/3.2.2/Chart.lock new file mode 100644 index 00000000000..b578a282998 --- /dev/null +++ b/stable/vaultwarden/3.2.2/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.0 +digest: sha256:9a6660d5c343021f5243468da5588ba18d08ddd3430e998a76811c3b60414336 +generated: "2021-06-20T09:59:21.316665135Z" diff --git a/stable/vaultwarden/3.2.2/Chart.yaml b/stable/vaultwarden/3.2.2/Chart.yaml new file mode 100644 index 00000000000..fbabed5a2f4 --- /dev/null +++ b/stable/vaultwarden/3.2.2/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.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: 3.2.2 diff --git a/stable/vaultwarden/3.2.2/README.md b/stable/vaultwarden/3.2.2/README.md new file mode 100644 index 00000000000..bb4095ca30b --- /dev/null +++ b/stable/vaultwarden/3.2.2/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.2](https://img.shields.io/badge/Version-3.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) + +Unofficial Bitwarden compatible server written in Rust + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.4.9 | +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `vaultwarden` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `vaultwarden` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/vaultwarden/3.2.2/app-readme.md b/stable/vaultwarden/3.2.2/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.2.2/app-readme.md @@ -0,0 +1,3 @@ +Unofficial Bitwarden compatible server written in Rust +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Unofficial Bitwarden compatible server written in Rust diff --git a/stable/vaultwarden/3.2.2/charts/common-6.3.7.tgz b/stable/vaultwarden/3.2.2/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.2.2/charts/postgresql-10.5.0.tgz b/stable/vaultwarden/3.2.2/charts/postgresql-10.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72309c29cf1d0e33056d63289d1a13899aa50d30 GIT binary patch literal 49174 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 literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.2.2/ix_values.yaml b/stable/vaultwarden/3.2.2/ix_values.yaml new file mode 100644 index 00000000000..9d19195e07e --- /dev/null +++ b/stable/vaultwarden/3.2.2/ix_values.yaml @@ -0,0 +1,54 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: false + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + retries: 30 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/vaultwarden/3.2.2/questions.yaml b/stable/vaultwarden/3.2.2/questions.yaml new file mode 100644 index 00000000000..8dd00bc1275 --- /dev/null +++ b/stable/vaultwarden/3.2.2/questions.yaml @@ -0,0 +1,1172 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: vaultwarden + label: "" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: admin + label: "Admin Portal" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: ssl + label: "Enable SSL connection" + schema: + type: boolean + default: true + - variable: port + label: "SMTP port" + description: "Usually: 25 without SSL, 587 with SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: port + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebsockets + label: "Enable Websocket Connections" + description: "Enable Websockets for notification. https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications" + schema: + type: boolean + default: true + hidden: true + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36000 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3012 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36001 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/vaultwarden/3.2.2/templates/_configmap.tpl b/stable/vaultwarden/3.2.2/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/3.2.2/templates/_configmap.tpl @@ -0,0 +1,116 @@ +{{/* Define the configmap */}} +{{- define "vaultwarden.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: vaultwardenconfig +data: + ROCKET_PORT: "8080" + SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} + {{- if .Values.vaultwarden.signupDomains }} + SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} + {{- end }} + {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} + SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} + {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} + REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} + {{- if .Values.vaultwarden.emailAttempts }} + EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} + {{- end }} + {{- if .Values.vaultwarden.emailTokenExpiration }} + EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} + {{- end }} + INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} + {{- if .Values.vaultwarden.defaultInviteName }} + INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} + {{- end }} + SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} + WEBSOCKET_ENABLED: {{ .Values.vaultwarden.enableWebsockets | quote }} + WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} + ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} + {{- if .Values.vaultwarden.attachmentLimitOrg }} + ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} + {{- end }} + {{- if .Values.vaultwarden.attachmentLimitUser }} + USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} + {{- end }} + {{- if .Values.vaultwarden.hibpApiKey }} + HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} + {{- end }} + {{- include "vaultwarden.dbTypeValid" . }} + {{- if .Values.database.retries }} + DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} + {{- end }} + {{- if .Values.database.maxConnections }} + DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.smtp.enabled true }} + SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} + SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} + {{- if .Values.vaultwarden.smtp.fromName }} + SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.ssl }} + SMTP_SSL: {{ .Values.vaultwarden.smtp.ssl | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.port }} + SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.authMechanism }} + SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.heloName }} + HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.timeout }} + SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidHostname }} + SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidCertificate }} + SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.log.file }} + LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} + {{- end }} + {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} + EXTENDED_LOGGING: "true" + {{- end }} + {{- if .Values.vaultwarden.log.level }} + {{- include "vaultwarden.logLevelValid" . }} + LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} + {{- end }} + {{- if .Values.vaultwarden.log.timeFormat }} + LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.disableDownload }} + DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} + {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} + ICON_CACHE_TTL: "0" + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.icons.cache }} + ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.cacheFailed }} + ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.admin.enabled true }} + {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} + DISABLE_ADMIN_TOKEN: "true" + {{- end }} + {{- end }} + {{- if eq .Values.vaultwarden.yubico.enabled true }} + {{- if .Values.vaultwarden.yubico.server }} + YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} + {{- end }} + {{- end }} + {{- if eq .Values.database.type "sqlite" }} + ENABLE_DB_WAL: {{ .Values.database.wal | quote }} + {{- else }} + ENABLE_DB_WAL: "false" + {{- end }} +{{- end -}} diff --git a/stable/vaultwarden/3.2.2/templates/_secrets.tpl b/stable/vaultwarden/3.2.2/templates/_secrets.tpl new file mode 100644 index 00000000000..6a7bf408bb8 --- /dev/null +++ b/stable/vaultwarden/3.2.2/templates/_secrets.tpl @@ -0,0 +1,59 @@ +{{/* Define the secrets */}} +{{- define "vaultwarden.secrets" -}} + +{{- $adminToken := "" }} +{{- if eq .Values.vaultwarden.admin.enabled true }} +{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | b64enc | quote }} +{{- end -}} + +{{- $smtpUser := "" }} +{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} +{{- $smtpUser = .Values.vaultwarden.smtp.user | b64enc | quote }} +{{- end -}} + +{{- $yubicoClientId := "" }} +{{- if eq .Values.vaultwarden.yubico.enabled true }} +{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | b64enc | quote }} +{{- end -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + name: vaultwardensecret +data: + {{- if ne $adminToken "" }} + ADMIN_TOKEN: {{ $adminToken }} + {{- end }} + {{- if ne $smtpUser "" }} + SMTP_USERNAME: {{ $smtpUser }} + SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | b64enc | quote }} + {{- end }} + {{- if ne $yubicoClientId "" }} + YUBICO_CLIENT_ID: {{ $yubicoClientId }} + YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | b64enc | quote }} + {{- end }} + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} +type: Opaque +{{- end -}} diff --git a/stable/vaultwarden/3.2.2/templates/_validate.tpl b/stable/vaultwarden/3.2.2/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/3.2.2/templates/_validate.tpl @@ -0,0 +1,17 @@ +{{/* +Ensure valid DB type is select, defaults to SQLite +*/}} +{{- define "vaultwarden.dbTypeValid" -}} +{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} +{{- required "Invalid database type" nil }} +{{- end -}} +{{- end -}} + +{{/* +Ensure log type is valid +*/}} +{{- define "vaultwarden.logLevelValid" -}} +{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} +{{- required "Invalid log level" nil }} +{{- end }} +{{- end }} diff --git a/stable/vaultwarden/3.2.2/templates/common.yaml b/stable/vaultwarden/3.2.2/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/3.2.2/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for vaultwarden */}} +{{- include "vaultwarden.configmap" . }} + +{{/* Render secrets for vaultwarden */}} +{{- include "vaultwarden.secrets" . }} diff --git a/stable/vaultwarden/3.2.2/test_values.yaml b/stable/vaultwarden/3.2.2/test_values.yaml new file mode 100644 index 00000000000..04437141023 --- /dev/null +++ b/stable/vaultwarden/3.2.2/test_values.yaml @@ -0,0 +1,172 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + ws: + ports: + ws: + enabled: true + port: 3012 + +env: {} + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 + +# Set Bitwarden_rs application variables +vaultwarden: + # Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # Verify e-mail before login is enabled. SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications + # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. + enableWebsockets: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # ssl: true + ## SMTP port. Defaults to 25 without SSL, 587 with SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/stable/vaultwarden/3.2.2/values.yaml b/stable/vaultwarden/3.2.2/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.1.6/CONFIG.md b/stable/zwavejs2mqtt/6.1.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/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 Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/zwavejs2mqtt/6.1.6/Chart.lock b/stable/zwavejs2mqtt/6.1.6/Chart.lock new file mode 100644 index 00000000000..8156f776452 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.7 +digest: sha256:2d1152e0494d1392b0a745d7ad05fd4468cc974890a5fb59ca9ee47f5827bc10 +generated: "2021-06-20T09:59:24.933869801Z" diff --git a/stable/zwavejs2mqtt/6.1.6/Chart.yaml b/stable/zwavejs2mqtt/6.1.6/Chart.yaml new file mode 100644 index 00000000000..fbb6fc3934b --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.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.1.6 diff --git a/stable/zwavejs2mqtt/6.1.6/README.md b/stable/zwavejs2mqtt/6.1.6/README.md new file mode 100644 index 00000000000..d13881ca6be --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.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) + +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.3.4 | + +## Installing the Chart + +To install the chart with the release name `zwavejs2mqtt` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `zwavejs2mqtt` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/zwavejs2mqtt/6.1.6/app-readme.md b/stable/zwavejs2mqtt/6.1.6/app-readme.md new file mode 100644 index 00000000000..4bb94a1a5a3 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/app-readme.md @@ -0,0 +1,3 @@ +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS diff --git a/stable/zwavejs2mqtt/6.1.6/charts/common-6.3.7.tgz b/stable/zwavejs2mqtt/6.1.6/charts/common-6.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..dc60eeceffab2fc8ed725b5a438885d61f537175 GIT binary patch literal 22932 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

;kE&!bSl9&|_%vbw}3atBE31d!OJrN>N!3 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 P00960xO}V10B8aLDKqK> literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/6.1.6/ix_values.yaml b/stable/zwavejs2mqtt/6.1.6/ix_values.yaml new file mode 100644 index 00000000000..f1a4021bd5b --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/ix_values.yaml @@ -0,0 +1,63 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 5.0.2 + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + supplementalGroups: [5, 20, 24] + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/zwavejs2mqtt/6.1.6/questions.yaml b/stable/zwavejs2mqtt/6.1.6/questions.yaml new file mode 100644 index 00000000000..1e368c4edda --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/questions.yaml @@ -0,0 +1,777 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8091 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36022 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36023 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - 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: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/zwavejs2mqtt/6.1.6/templates/common.yaml b/stable/zwavejs2mqtt/6.1.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/6.1.6/test_values.yaml b/stable/zwavejs2mqtt/6.1.6/test_values.yaml new file mode 100644 index 00000000000..d709d44d125 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.6/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.0.2 + +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.1.6/values.yaml b/stable/zwavejs2mqtt/6.1.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d