From bc43adc1d1ba990032550547b457ffb28decc211 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Wed, 30 Jun 2021 20:02:23 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.2.5/CONFIG.md | 8 + deprecated/nzbhydra/6.2.5/Chart.lock | 6 + deprecated/nzbhydra/6.2.5/Chart.yaml | 20 + deprecated/nzbhydra/6.2.5/README.md | 53 + deprecated/nzbhydra/6.2.5/app-readme.md | 3 + .../nzbhydra/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes deprecated/nzbhydra/6.2.5/ix_values.yaml | 51 + deprecated/nzbhydra/6.2.5/questions.yaml | 668 +++++++++ .../nzbhydra/6.2.5/templates/common.yaml | 1 + deprecated/nzbhydra/6.2.5/test_values.yaml | 62 + deprecated/nzbhydra/6.2.5/values.yaml | 0 develop/prototype-gui/1.3.6/CONFIG.md | 8 + develop/prototype-gui/1.3.6/Chart.lock | 6 + develop/prototype-gui/1.3.6/Chart.yaml | 22 + develop/prototype-gui/1.3.6/README.md | 49 + develop/prototype-gui/1.3.6/app-readme.md | 3 + .../1.3.6/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes develop/prototype-gui/1.3.6/ix_values.yaml | 25 + develop/prototype-gui/1.3.6/questions.yaml | 689 ++++++++++ .../prototype-gui/1.3.6/templates/common.yaml | 1 + develop/prototype-gui/1.3.6/test_values.yaml | 39 + develop/prototype-gui/1.3.6/values.yaml | 0 incubator/airsonic/1.2.5/CONFIG.md | 8 + incubator/airsonic/1.2.5/Chart.lock | 6 + incubator/airsonic/1.2.5/Chart.yaml | 22 + incubator/airsonic/1.2.5/README.md | 55 + incubator/airsonic/1.2.5/app-readme.md | 1 + .../airsonic/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/airsonic/1.2.5/ix_values.yaml | 19 + incubator/airsonic/1.2.5/questions.yaml | 643 +++++++++ .../airsonic/1.2.5/templates/common.yaml | 1 + incubator/airsonic/1.2.5/test_values.yaml | 60 + incubator/airsonic/1.2.5/values.yaml | 0 incubator/appdaemon/3.2.6/CONFIG.md | 8 + incubator/appdaemon/3.2.6/Chart.lock | 6 + incubator/appdaemon/3.2.6/Chart.yaml | 29 + incubator/appdaemon/3.2.6/README.md | 53 + incubator/appdaemon/3.2.6/app-readme.md | 3 + .../appdaemon/3.2.6/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/appdaemon/3.2.6/ix_values.yaml | 16 + incubator/appdaemon/3.2.6/questions.yaml | 602 +++++++++ .../appdaemon/3.2.6/templates/common.yaml | 1 + incubator/appdaemon/3.2.6/test_values.yaml | 41 + incubator/appdaemon/3.2.6/values.yaml | 0 incubator/bazarr/6.2.5/CONFIG.md | 8 + incubator/bazarr/6.2.5/Chart.lock | 6 + incubator/bazarr/6.2.5/Chart.yaml | 32 + incubator/bazarr/6.2.5/README.md | 54 + incubator/bazarr/6.2.5/app-readme.md | 3 + .../bazarr/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/bazarr/6.2.5/ix_values.yaml | 15 + incubator/bazarr/6.2.5/questions.yaml | 668 +++++++++ incubator/bazarr/6.2.5/templates/common.yaml | 1 + incubator/bazarr/6.2.5/test_values.yaml | 26 + incubator/bazarr/6.2.5/values.yaml | 0 incubator/calibre-web/6.2.5/CONFIG.md | 8 + incubator/calibre-web/6.2.5/Chart.lock | 6 + incubator/calibre-web/6.2.5/Chart.yaml | 26 + incubator/calibre-web/6.2.5/README.md | 54 + incubator/calibre-web/6.2.5/app-readme.md | 3 + .../calibre-web/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/calibre-web/6.2.5/ix_values.yaml | 16 + incubator/calibre-web/6.2.5/questions.yaml | 628 +++++++++ .../calibre-web/6.2.5/templates/common.yaml | 1 + incubator/calibre-web/6.2.5/test_values.yaml | 28 + incubator/calibre-web/6.2.5/values.yaml | 0 incubator/deluge/6.2.5/CONFIG.md | 8 + incubator/deluge/6.2.5/Chart.lock | 6 + incubator/deluge/6.2.5/Chart.yaml | 24 + incubator/deluge/6.2.5/README.md | 53 + incubator/deluge/6.2.5/app-readme.md | 3 + .../deluge/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/deluge/6.2.5/ix_values.yaml | 16 + incubator/deluge/6.2.5/questions.yaml | 745 ++++++++++ incubator/deluge/6.2.5/templates/common.yaml | 1 + incubator/deluge/6.2.5/test_values.yaml | 33 + incubator/deluge/6.2.5/values.yaml | 0 incubator/fireflyiii/4.3.6/CONFIG.md | 8 + incubator/fireflyiii/4.3.6/Chart.lock | 9 + incubator/fireflyiii/4.3.6/Chart.yaml | 30 + incubator/fireflyiii/4.3.6/README.md | 54 + incubator/fireflyiii/4.3.6/app-readme.md | 3 + .../fireflyiii/4.3.6/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes .../4.3.6/charts/postgresql-10.5.1.tgz | Bin 0 -> 49272 bytes incubator/fireflyiii/4.3.6/ix_values.yaml | 51 + incubator/fireflyiii/4.3.6/questions.yaml | 865 ++++++++++++ .../fireflyiii/4.3.6/templates/common.yaml | 5 + .../fireflyiii/4.3.6/templates/secrets.yaml | 19 + incubator/fireflyiii/4.3.6/test_values.yaml | 82 ++ incubator/fireflyiii/4.3.6/values.yaml | 0 incubator/freshrss/6.2.5/CONFIG.md | 8 + incubator/freshrss/6.2.5/Chart.lock | 6 + incubator/freshrss/6.2.5/Chart.yaml | 24 + incubator/freshrss/6.2.5/README.md | 54 + incubator/freshrss/6.2.5/app-readme.md | 3 + .../freshrss/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/freshrss/6.2.5/ix_values.yaml | 16 + incubator/freshrss/6.2.5/questions.yaml | 628 +++++++++ .../freshrss/6.2.5/templates/common.yaml | 1 + incubator/freshrss/6.2.5/test_values.yaml | 26 + incubator/freshrss/6.2.5/values.yaml | 0 incubator/gaps/6.2.5/CONFIG.md | 8 + incubator/gaps/6.2.5/Chart.lock | 6 + incubator/gaps/6.2.5/Chart.yaml | 25 + incubator/gaps/6.2.5/README.md | 53 + incubator/gaps/6.2.5/app-readme.md | 3 + incubator/gaps/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/gaps/6.2.5/ix_values.yaml | 15 + incubator/gaps/6.2.5/questions.yaml | 667 +++++++++ incubator/gaps/6.2.5/templates/common.yaml | 1 + incubator/gaps/6.2.5/test_values.yaml | 24 + incubator/gaps/6.2.5/values.yaml | 0 incubator/grocy/6.2.5/CONFIG.md | 8 + incubator/grocy/6.2.5/Chart.lock | 6 + incubator/grocy/6.2.5/Chart.yaml | 23 + incubator/grocy/6.2.5/README.md | 53 + incubator/grocy/6.2.5/app-readme.md | 3 + incubator/grocy/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/grocy/6.2.5/ix_values.yaml | 16 + incubator/grocy/6.2.5/questions.yaml | 627 +++++++++ incubator/grocy/6.2.5/templates/common.yaml | 1 + incubator/grocy/6.2.5/test_values.yaml | 26 + incubator/grocy/6.2.5/values.yaml | 0 incubator/haste-server/1.2.5/CONFIG.md | 8 + incubator/haste-server/1.2.5/Chart.lock | 6 + incubator/haste-server/1.2.5/Chart.yaml | 24 + incubator/haste-server/1.2.5/README.md | 54 + incubator/haste-server/1.2.5/app-readme.md | 1 + .../1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/haste-server/1.2.5/ix_values.yaml | 19 + incubator/haste-server/1.2.5/questions.yaml | 673 ++++++++++ .../haste-server/1.2.5/templates/common.yaml | 1 + incubator/haste-server/1.2.5/test_values.yaml | 50 + incubator/haste-server/1.2.5/values.yaml | 0 incubator/heimdall/6.2.5/CONFIG.md | 8 + incubator/heimdall/6.2.5/Chart.lock | 6 + incubator/heimdall/6.2.5/Chart.yaml | 21 + incubator/heimdall/6.2.5/README.md | 49 + incubator/heimdall/6.2.5/app-readme.md | 3 + .../heimdall/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/heimdall/6.2.5/ix_values.yaml | 16 + incubator/heimdall/6.2.5/questions.yaml | 628 +++++++++ .../heimdall/6.2.5/templates/common.yaml | 1 + incubator/heimdall/6.2.5/test_values.yaml | 30 + incubator/heimdall/6.2.5/values.yaml | 0 incubator/lazylibrarian/6.2.5/CONFIG.md | 8 + incubator/lazylibrarian/6.2.5/Chart.lock | 6 + incubator/lazylibrarian/6.2.5/Chart.yaml | 27 + incubator/lazylibrarian/6.2.5/README.md | 54 + incubator/lazylibrarian/6.2.5/app-readme.md | 3 + .../6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/lazylibrarian/6.2.5/ix_values.yaml | 16 + incubator/lazylibrarian/6.2.5/questions.yaml | 628 +++++++++ .../lazylibrarian/6.2.5/templates/common.yaml | 1 + .../lazylibrarian/6.2.5/test_values.yaml | 26 + incubator/lazylibrarian/6.2.5/values.yaml | 0 incubator/lychee/6.2.5/CONFIG.md | 8 + incubator/lychee/6.2.5/Chart.lock | 6 + incubator/lychee/6.2.5/Chart.yaml | 26 + incubator/lychee/6.2.5/README.md | 54 + incubator/lychee/6.2.5/app-readme.md | 3 + .../lychee/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/lychee/6.2.5/ix_values.yaml | 16 + incubator/lychee/6.2.5/questions.yaml | 628 +++++++++ incubator/lychee/6.2.5/templates/common.yaml | 1 + incubator/lychee/6.2.5/test_values.yaml | 26 + incubator/lychee/6.2.5/values.yaml | 0 incubator/mealie/1.2.5/CONFIG.md | 8 + incubator/mealie/1.2.5/Chart.lock | 6 + incubator/mealie/1.2.5/Chart.yaml | 22 + incubator/mealie/1.2.5/README.md | 53 + incubator/mealie/1.2.5/app-readme.md | 1 + .../mealie/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/mealie/1.2.5/ix_values.yaml | 19 + incubator/mealie/1.2.5/questions.yaml | 635 +++++++++ incubator/mealie/1.2.5/templates/common.yaml | 1 + incubator/mealie/1.2.5/test_values.yaml | 43 + incubator/mealie/1.2.5/values.yaml | 0 incubator/mosquitto/1.2.5/CONFIG.md | 8 + incubator/mosquitto/1.2.5/Chart.lock | 6 + incubator/mosquitto/1.2.5/Chart.yaml | 24 + incubator/mosquitto/1.2.5/README.md | 53 + incubator/mosquitto/1.2.5/app-readme.md | 3 + .../mosquitto/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/mosquitto/1.2.5/ix_values.yaml | 18 + incubator/mosquitto/1.2.5/questions.yaml | 789 +++++++++++ .../mosquitto/1.2.5/templates/common.yaml | 17 + .../mosquitto/1.2.5/templates/configmap.yaml | 22 + incubator/mosquitto/1.2.5/test_values.yaml | 39 + incubator/mosquitto/1.2.5/values.yaml | 0 incubator/navidrome/6.2.5/CONFIG.md | 8 + incubator/navidrome/6.2.5/Chart.lock | 6 + incubator/navidrome/6.2.5/Chart.yaml | 25 + incubator/navidrome/6.2.5/README.md | 54 + incubator/navidrome/6.2.5/app-readme.md | 3 + .../navidrome/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/navidrome/6.2.5/ix_values.yaml | 15 + incubator/navidrome/6.2.5/questions.yaml | 668 +++++++++ .../navidrome/6.2.5/templates/common.yaml | 1 + incubator/navidrome/6.2.5/test_values.yaml | 28 + incubator/navidrome/6.2.5/values.yaml | 0 incubator/node-red/6.2.5/CONFIG.md | 8 + incubator/node-red/6.2.5/Chart.lock | 6 + incubator/node-red/6.2.5/Chart.yaml | 23 + incubator/node-red/6.2.5/README.md | 53 + incubator/node-red/6.2.5/app-readme.md | 3 + .../node-red/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/node-red/6.2.5/ix_values.yaml | 15 + incubator/node-red/6.2.5/questions.yaml | 668 +++++++++ .../node-red/6.2.5/templates/common.yaml | 1 + incubator/node-red/6.2.5/test_values.yaml | 30 + incubator/node-red/6.2.5/values.yaml | 0 incubator/nzbget/6.2.5/CONFIG.md | 8 + incubator/nzbget/6.2.5/Chart.lock | 6 + incubator/nzbget/6.2.5/Chart.yaml | 23 + incubator/nzbget/6.2.5/README.md | 53 + incubator/nzbget/6.2.5/app-readme.md | 3 + .../nzbget/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/nzbget/6.2.5/ix_values.yaml | 25 + incubator/nzbget/6.2.5/questions.yaml | 668 +++++++++ incubator/nzbget/6.2.5/templates/common.yaml | 1 + incubator/nzbget/6.2.5/test_values.yaml | 31 + incubator/nzbget/6.2.5/values.yaml | 0 incubator/organizr/6.2.6/CONFIG.md | 8 + incubator/organizr/6.2.6/Chart.lock | 6 + incubator/organizr/6.2.6/Chart.yaml | 23 + incubator/organizr/6.2.6/README.md | 54 + incubator/organizr/6.2.6/app-readme.md | 3 + .../organizr/6.2.6/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/organizr/6.2.6/ix_values.yaml | 16 + incubator/organizr/6.2.6/questions.yaml | 738 ++++++++++ .../organizr/6.2.6/templates/common.yaml | 1 + incubator/organizr/6.2.6/test_values.yaml | 26 + incubator/organizr/6.2.6/values.yaml | 0 incubator/podgrab/4.2.5/CONFIG.md | 8 + incubator/podgrab/4.2.5/Chart.lock | 6 + incubator/podgrab/4.2.5/Chart.yaml | 27 + incubator/podgrab/4.2.5/README.md | 54 + incubator/podgrab/4.2.5/app-readme.md | 3 + .../podgrab/4.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/podgrab/4.2.5/ix_values.yaml | 26 + incubator/podgrab/4.2.5/questions.yaml | 676 ++++++++++ incubator/podgrab/4.2.5/templates/common.yaml | 1 + incubator/podgrab/4.2.5/test_values.yaml | 57 + incubator/podgrab/4.2.5/values.yaml | 0 incubator/prowlarr/1.2.5/CONFIG.md | 8 + incubator/prowlarr/1.2.5/Chart.lock | 6 + incubator/prowlarr/1.2.5/Chart.yaml | 24 + incubator/prowlarr/1.2.5/README.md | 54 + incubator/prowlarr/1.2.5/app-readme.md | 1 + .../prowlarr/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/prowlarr/1.2.5/ix_values.yaml | 19 + incubator/prowlarr/1.2.5/questions.yaml | 675 ++++++++++ .../prowlarr/1.2.5/templates/common.yaml | 1 + incubator/prowlarr/1.2.5/test_values.yaml | 45 + incubator/prowlarr/1.2.5/values.yaml | 0 incubator/qbittorrent/6.2.5/CONFIG.md | 8 + incubator/qbittorrent/6.2.5/Chart.lock | 6 + incubator/qbittorrent/6.2.5/Chart.yaml | 22 + incubator/qbittorrent/6.2.5/README.md | 49 + incubator/qbittorrent/6.2.5/app-readme.md | 3 + .../qbittorrent/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/qbittorrent/6.2.5/ix_values.yaml | 15 + incubator/qbittorrent/6.2.5/questions.yaml | 815 +++++++++++ .../6.2.5/templates/_configmap.tpl | 32 + .../qbittorrent/6.2.5/templates/common.yaml | 6 + incubator/qbittorrent/6.2.5/test_values.yaml | 52 + incubator/qbittorrent/6.2.5/values.yaml | 0 incubator/readarr/6.2.5/CONFIG.md | 8 + incubator/readarr/6.2.5/Chart.lock | 6 + incubator/readarr/6.2.5/Chart.yaml | 30 + incubator/readarr/6.2.5/README.md | 54 + incubator/readarr/6.2.5/app-readme.md | 3 + .../readarr/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/readarr/6.2.5/ix_values.yaml | 37 + incubator/readarr/6.2.5/questions.yaml | 668 +++++++++ incubator/readarr/6.2.5/templates/common.yaml | 1 + incubator/readarr/6.2.5/test_values.yaml | 47 + incubator/readarr/6.2.5/values.yaml | 0 incubator/reg/1.2.4/CONFIG.md | 8 + incubator/reg/1.2.4/Chart.lock | 6 + incubator/reg/1.2.4/Chart.yaml | 22 + incubator/reg/1.2.4/README.md | 54 + incubator/reg/1.2.4/app-readme.md | 1 + incubator/reg/1.2.4/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/reg/1.2.4/ci/ct-values.yaml | 2 + incubator/reg/1.2.4/ix_values.yaml | 19 + incubator/reg/1.2.4/questions.yaml | 664 +++++++++ incubator/reg/1.2.4/templates/common.yaml | 1 + incubator/reg/1.2.4/test_values.yaml | 40 + incubator/reg/1.2.4/values.yaml | 0 incubator/sabnzbd/6.2.5/CONFIG.md | 8 + incubator/sabnzbd/6.2.5/Chart.lock | 6 + incubator/sabnzbd/6.2.5/Chart.yaml | 23 + incubator/sabnzbd/6.2.5/README.md | 53 + incubator/sabnzbd/6.2.5/app-readme.md | 3 + .../sabnzbd/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/sabnzbd/6.2.5/ix_values.yaml | 15 + incubator/sabnzbd/6.2.5/questions.yaml | 675 ++++++++++ incubator/sabnzbd/6.2.5/templates/common.yaml | 1 + incubator/sabnzbd/6.2.5/test_values.yaml | 26 + incubator/sabnzbd/6.2.5/values.yaml | 0 incubator/thelounge/1.2.5/CONFIG.md | 8 + incubator/thelounge/1.2.5/Chart.lock | 6 + incubator/thelounge/1.2.5/Chart.yaml | 24 + incubator/thelounge/1.2.5/README.md | 53 + incubator/thelounge/1.2.5/app-readme.md | 1 + .../thelounge/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/thelounge/1.2.5/ix_values.yaml | 19 + incubator/thelounge/1.2.5/questions.yaml | 636 +++++++++ .../thelounge/1.2.5/templates/common.yaml | 1 + incubator/thelounge/1.2.5/test_values.yaml | 44 + incubator/thelounge/1.2.5/values.yaml | 0 incubator/tvheadend/7.2.5/CONFIG.md | 8 + incubator/tvheadend/7.2.5/Chart.lock | 6 + incubator/tvheadend/7.2.5/Chart.yaml | 25 + incubator/tvheadend/7.2.5/README.md | 53 + incubator/tvheadend/7.2.5/app-readme.md | 3 + .../tvheadend/7.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/tvheadend/7.2.5/ix_values.yaml | 15 + incubator/tvheadend/7.2.5/questions.yaml | 724 ++++++++++ .../tvheadend/7.2.5/templates/common.yaml | 1 + incubator/tvheadend/7.2.5/test_values.yaml | 36 + incubator/tvheadend/7.2.5/values.yaml | 0 incubator/unifi/6.2.5/CONFIG.md | 8 + incubator/unifi/6.2.5/Chart.lock | 6 + incubator/unifi/6.2.5/Chart.yaml | 24 + incubator/unifi/6.2.5/README.md | 54 + incubator/unifi/6.2.5/app-readme.md | 3 + incubator/unifi/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/unifi/6.2.5/ix_values.yaml | 19 + incubator/unifi/6.2.5/questions.yaml | 823 ++++++++++++ incubator/unifi/6.2.5/templates/common.yaml | 1 + incubator/unifi/6.2.5/test_values.yaml | 48 + incubator/unifi/6.2.5/values.yaml | 0 incubator/unpackerr/1.2.5/CONFIG.md | 8 + incubator/unpackerr/1.2.5/Chart.lock | 6 + incubator/unpackerr/1.2.5/Chart.yaml | 29 + incubator/unpackerr/1.2.5/README.md | 54 + incubator/unpackerr/1.2.5/app-readme.md | 3 + .../unpackerr/1.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes incubator/unpackerr/1.2.5/ix_values.yaml | 32 + incubator/unpackerr/1.2.5/questions.yaml | 540 ++++++++ .../unpackerr/1.2.5/templates/common.yaml | 1 + incubator/unpackerr/1.2.5/test_values.yaml | 51 + incubator/unpackerr/1.2.5/values.yaml | 0 stable/collabora-online/6.2.5/CONFIG.md | 8 + stable/collabora-online/6.2.5/Chart.lock | 6 + stable/collabora-online/6.2.5/Chart.yaml | 28 + stable/collabora-online/6.2.5/README.md | 54 + stable/collabora-online/6.2.5/app-readme.md | 3 + .../6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/collabora-online/6.2.5/ix_values.yaml | 14 + stable/collabora-online/6.2.5/questions.yaml | 531 ++++++++ .../6.2.5/templates/common.yaml | 1 + .../collabora-online/6.2.5/test_values.yaml | 22 + stable/collabora-online/6.2.5/values.yaml | 0 stable/deepstack-cpu/4.2.5/CONFIG.md | 8 + stable/deepstack-cpu/4.2.5/Chart.lock | 6 + stable/deepstack-cpu/4.2.5/Chart.yaml | 28 + stable/deepstack-cpu/4.2.5/README.md | 55 + stable/deepstack-cpu/4.2.5/app-readme.md | 3 + .../4.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/deepstack-cpu/4.2.5/ix_values.yaml | 19 + stable/deepstack-cpu/4.2.5/questions.yaml | 681 ++++++++++ .../deepstack-cpu/4.2.5/templates/common.yaml | 1 + stable/deepstack-cpu/4.2.5/test_values.yaml | 39 + stable/deepstack-cpu/4.2.5/values.yaml | 0 stable/emby/6.2.5/CONFIG.md | 8 + stable/emby/6.2.5/Chart.lock | 6 + stable/emby/6.2.5/Chart.yaml | 28 + stable/emby/6.2.5/README.md | 54 + stable/emby/6.2.5/app-readme.md | 3 + stable/emby/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/emby/6.2.5/ix_values.yaml | 22 + stable/emby/6.2.5/questions.yaml | 676 ++++++++++ stable/emby/6.2.5/templates/common.yaml | 1 + stable/emby/6.2.5/test_values.yaml | 29 + stable/emby/6.2.5/values.yaml | 0 stable/esphome/6.2.5/CONFIG.md | 8 + stable/esphome/6.2.5/Chart.lock | 6 + stable/esphome/6.2.5/Chart.yaml | 27 + stable/esphome/6.2.5/README.md | 54 + stable/esphome/6.2.5/app-readme.md | 3 + stable/esphome/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/esphome/6.2.5/ix_values.yaml | 15 + stable/esphome/6.2.5/questions.yaml | 771 +++++++++++ stable/esphome/6.2.5/templates/common.yaml | 1 + stable/esphome/6.2.5/test_values.yaml | 30 + stable/esphome/6.2.5/values.yaml | 0 stable/handbrake/6.2.5/CONFIG.md | 8 + stable/handbrake/6.2.5/Chart.lock | 6 + stable/handbrake/6.2.5/Chart.yaml | 30 + stable/handbrake/6.2.5/README.md | 55 + stable/handbrake/6.2.5/app-readme.md | 3 + .../handbrake/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/handbrake/6.2.5/ix_values.yaml | 20 + stable/handbrake/6.2.5/questions.yaml | 837 ++++++++++++ stable/handbrake/6.2.5/templates/common.yaml | 1 + stable/handbrake/6.2.5/test_values.yaml | 51 + stable/handbrake/6.2.5/values.yaml | 0 stable/home-assistant/6.2.5/CONFIG.md | 8 + stable/home-assistant/6.2.5/Chart.lock | 6 + stable/home-assistant/6.2.5/Chart.yaml | 28 + stable/home-assistant/6.2.5/README.md | 54 + stable/home-assistant/6.2.5/app-readme.md | 3 + .../6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/home-assistant/6.2.5/ix_values.yaml | 15 + stable/home-assistant/6.2.5/questions.yaml | 683 ++++++++++ .../6.2.5/templates/common.yaml | 1 + .../6.2.5/templates/secret.yaml | 15 + stable/home-assistant/6.2.5/test_values.yaml | 83 ++ stable/home-assistant/6.2.5/values.yaml | 0 stable/jackett/6.2.5/CONFIG.md | 8 + stable/jackett/6.2.5/Chart.lock | 6 + stable/jackett/6.2.5/Chart.yaml | 27 + stable/jackett/6.2.5/README.md | 53 + stable/jackett/6.2.5/app-readme.md | 3 + stable/jackett/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/jackett/6.2.5/ix_values.yaml | 25 + stable/jackett/6.2.5/questions.yaml | 667 +++++++++ stable/jackett/6.2.5/templates/common.yaml | 1 + stable/jackett/6.2.5/test_values.yaml | 39 + stable/jackett/6.2.5/values.yaml | 0 stable/jellyfin/6.2.5/CONFIG.md | 8 + stable/jellyfin/6.2.5/Chart.lock | 6 + stable/jellyfin/6.2.5/Chart.yaml | 27 + stable/jellyfin/6.2.5/README.md | 53 + stable/jellyfin/6.2.5/app-readme.md | 3 + stable/jellyfin/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/jellyfin/6.2.5/ix_values.yaml | 22 + stable/jellyfin/6.2.5/questions.yaml | 676 ++++++++++ stable/jellyfin/6.2.5/templates/common.yaml | 1 + stable/jellyfin/6.2.5/test_values.yaml | 29 + stable/jellyfin/6.2.5/values.yaml | 0 stable/kms/6.2.5/CONFIG.md | 8 + stable/kms/6.2.5/Chart.lock | 6 + stable/kms/6.2.5/Chart.yaml | 25 + stable/kms/6.2.5/README.md | 53 + stable/kms/6.2.5/app-readme.md | 3 + stable/kms/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/kms/6.2.5/ix_values.yaml | 16 + stable/kms/6.2.5/questions.yaml | 395 ++++++ stable/kms/6.2.5/templates/common.yaml | 1 + stable/kms/6.2.5/test_values.yaml | 16 + stable/kms/6.2.5/values.yaml | 0 stable/lidarr/6.2.5/CONFIG.md | 8 + stable/lidarr/6.2.5/Chart.lock | 6 + stable/lidarr/6.2.5/Chart.yaml | 27 + stable/lidarr/6.2.5/README.md | 53 + stable/lidarr/6.2.5/app-readme.md | 3 + stable/lidarr/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/lidarr/6.2.5/ix_values.yaml | 37 + stable/lidarr/6.2.5/questions.yaml | 667 +++++++++ stable/lidarr/6.2.5/templates/common.yaml | 1 + stable/lidarr/6.2.5/test_values.yaml | 47 + stable/lidarr/6.2.5/values.yaml | 0 stable/ombi/6.2.5/CONFIG.md | 8 + stable/ombi/6.2.5/Chart.lock | 6 + stable/ombi/6.2.5/Chart.yaml | 30 + stable/ombi/6.2.5/README.md | 53 + stable/ombi/6.2.5/app-readme.md | 3 + stable/ombi/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/ombi/6.2.5/ix_values.yaml | 15 + stable/ombi/6.2.5/questions.yaml | 667 +++++++++ stable/ombi/6.2.5/templates/common.yaml | 1 + stable/ombi/6.2.5/test_values.yaml | 40 + stable/ombi/6.2.5/values.yaml | 0 stable/plex/5.2.5/CONFIG.md | 8 + stable/plex/5.2.5/Chart.lock | 6 + stable/plex/5.2.5/Chart.yaml | 25 + stable/plex/5.2.5/README.md | 49 + stable/plex/5.2.5/app-readme.md | 3 + stable/plex/5.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/plex/5.2.5/ix_values.yaml | 19 + stable/plex/5.2.5/questions.yaml | 695 ++++++++++ stable/plex/5.2.5/templates/common.yaml | 1 + stable/plex/5.2.5/test_values.yaml | 32 + stable/plex/5.2.5/values.yaml | 0 stable/radarr/6.2.5/CONFIG.md | 8 + stable/radarr/6.2.5/Chart.lock | 6 + stable/radarr/6.2.5/Chart.yaml | 27 + stable/radarr/6.2.5/README.md | 53 + stable/radarr/6.2.5/app-readme.md | 3 + stable/radarr/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/radarr/6.2.5/ix_values.yaml | 37 + stable/radarr/6.2.5/questions.yaml | 667 +++++++++ stable/radarr/6.2.5/templates/common.yaml | 1 + stable/radarr/6.2.5/test_values.yaml | 47 + stable/radarr/6.2.5/values.yaml | 0 stable/sonarr/6.2.5/CONFIG.md | 8 + stable/sonarr/6.2.5/Chart.lock | 6 + stable/sonarr/6.2.5/Chart.yaml | 27 + stable/sonarr/6.2.5/README.md | 53 + stable/sonarr/6.2.5/app-readme.md | 3 + stable/sonarr/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/sonarr/6.2.5/ix_values.yaml | 37 + stable/sonarr/6.2.5/questions.yaml | 667 +++++++++ stable/sonarr/6.2.5/templates/common.yaml | 1 + stable/sonarr/6.2.5/test_values.yaml | 47 + stable/sonarr/6.2.5/values.yaml | 0 stable/syncthing/6.2.5/CONFIG.md | 8 + stable/syncthing/6.2.5/Chart.lock | 6 + stable/syncthing/6.2.5/Chart.yaml | 27 + stable/syncthing/6.2.5/README.md | 55 + stable/syncthing/6.2.5/app-readme.md | 3 + .../syncthing/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/syncthing/6.2.5/ix_values.yaml | 15 + stable/syncthing/6.2.5/questions.yaml | 928 +++++++++++++ stable/syncthing/6.2.5/templates/common.yaml | 1 + stable/syncthing/6.2.5/test_values.yaml | 38 + stable/syncthing/6.2.5/values.yaml | 0 stable/tautulli/6.2.5/CONFIG.md | 8 + stable/tautulli/6.2.5/Chart.lock | 6 + stable/tautulli/6.2.5/Chart.yaml | 26 + stable/tautulli/6.2.5/README.md | 53 + stable/tautulli/6.2.5/app-readme.md | 3 + stable/tautulli/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/tautulli/6.2.5/ix_values.yaml | 15 + stable/tautulli/6.2.5/questions.yaml | 667 +++++++++ stable/tautulli/6.2.5/templates/common.yaml | 1 + stable/tautulli/6.2.5/test_values.yaml | 26 + stable/tautulli/6.2.5/values.yaml | 0 stable/traefik/6.3.10/CONFIG.md | 8 + stable/traefik/6.3.10/Chart.lock | 6 + stable/traefik/6.3.10/Chart.yaml | 29 + stable/traefik/6.3.10/LICENSE | 202 +++ stable/traefik/6.3.10/README.md | 55 + stable/traefik/6.3.10/app-readme.md | 3 + stable/traefik/6.3.10/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/traefik/6.3.10/crds/ingressroute.yaml | 12 + .../traefik/6.3.10/crds/ingressroutetcp.yaml | 12 + .../traefik/6.3.10/crds/ingressrouteudp.yaml | 13 + stable/traefik/6.3.10/crds/middlewares.yaml | 12 + .../6.3.10/crds/serverstransports.yaml | 12 + stable/traefik/6.3.10/crds/tlsoptions.yaml | 12 + stable/traefik/6.3.10/crds/tlsstores.yaml | 13 + .../traefik/6.3.10/crds/traefikservices.yaml | 12 + stable/traefik/6.3.10/ix_values.yaml | 329 +++++ stable/traefik/6.3.10/questions.yaml | 385 ++++++ stable/traefik/6.3.10/templates/_helpers.tpl | 62 + .../traefik/6.3.10/templates/_podtemplate.tpl | 265 ++++ .../6.3.10/templates/custom/common.yaml | 0 .../custom/middleware-namespace.yaml | 7 + .../custom/middlewares/basic-middleware.yaml | 57 + .../custom/middlewares/basicauth.yaml | 28 + .../custom/middlewares/forwardauth.yaml | 23 + .../6.3.10/templates/custom/portal.yaml | 45 + .../traefik/6.3.10/templates/daemonset.yaml | 40 + .../dashboard-hook-ingressroute.yaml | 28 + .../traefik/6.3.10/templates/deployment.yaml | 47 + stable/traefik/6.3.10/templates/gateway.yaml | 33 + .../6.3.10/templates/gatewayclass.yaml | 9 + stable/traefik/6.3.10/templates/hpa.yaml | 20 + .../6.3.10/templates/ingressclass.yaml | 23 + .../6.3.10/templates/poddisruptionbudget.yaml | 22 + .../6.3.10/templates/rbac/clusterrole.yaml | 112 ++ .../templates/rbac/clusterrolebinding.yaml | 19 + .../templates/rbac/podsecuritypolicy.yaml | 68 + .../traefik/6.3.10/templates/rbac/role.yaml | 61 + .../6.3.10/templates/rbac/rolebinding.yaml | 19 + .../6.3.10/templates/rbac/serviceaccount.yaml | 15 + stable/traefik/6.3.10/templates/service.yaml | 114 ++ .../traefik/6.3.10/templates/tlsoption.yaml | 14 + stable/traefik/6.3.10/test_values.yaml | 426 ++++++ stable/traefik/6.3.10/values.yaml | 0 stable/transmission/6.2.5/CONFIG.md | 8 + stable/transmission/6.2.5/Chart.lock | 6 + stable/transmission/6.2.5/Chart.yaml | 28 + stable/transmission/6.2.5/README.md | 54 + stable/transmission/6.2.5/app-readme.md | 3 + .../6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/transmission/6.2.5/ix_values.yaml | 50 + stable/transmission/6.2.5/questions.yaml | 1155 ++++++++++++++++ .../transmission/6.2.5/templates/common.yaml | 2 + stable/transmission/6.2.5/test_values.yaml | 106 ++ stable/transmission/6.2.5/values.yaml | 0 stable/truecommand/6.2.5/CONFIG.md | 8 + stable/truecommand/6.2.5/Chart.lock | 6 + stable/truecommand/6.2.5/Chart.yaml | 25 + stable/truecommand/6.2.5/README.md | 53 + stable/truecommand/6.2.5/app-readme.md | 3 + .../truecommand/6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/truecommand/6.2.5/ix_values.yaml | 15 + stable/truecommand/6.2.5/questions.yaml | 628 +++++++++ .../truecommand/6.2.5/templates/common.yaml | 1 + stable/truecommand/6.2.5/test_values.yaml | 26 + stable/truecommand/6.2.5/values.yaml | 0 stable/vaultwarden/3.3.6/CONFIG.md | 8 + stable/vaultwarden/3.3.6/Chart.lock | 9 + stable/vaultwarden/3.3.6/Chart.yaml | 34 + stable/vaultwarden/3.3.6/README.md | 54 + stable/vaultwarden/3.3.6/app-readme.md | 3 + .../vaultwarden/3.3.6/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes .../3.3.6/charts/postgresql-10.5.1.tgz | Bin 0 -> 49272 bytes stable/vaultwarden/3.3.6/ix_values.yaml | 54 + stable/vaultwarden/3.3.6/questions.yaml | 1193 +++++++++++++++++ .../3.3.6/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.3.6/templates/_secrets.tpl | 59 + .../vaultwarden/3.3.6/templates/_validate.tpl | 17 + .../vaultwarden/3.3.6/templates/common.yaml | 11 + stable/vaultwarden/3.3.6/test_values.yaml | 172 +++ stable/vaultwarden/3.3.6/values.yaml | 0 stable/zwavejs2mqtt/6.2.5/CONFIG.md | 8 + stable/zwavejs2mqtt/6.2.5/Chart.lock | 6 + stable/zwavejs2mqtt/6.2.5/Chart.yaml | 30 + stable/zwavejs2mqtt/6.2.5/README.md | 54 + stable/zwavejs2mqtt/6.2.5/app-readme.md | 3 + .../6.2.5/charts/common-6.4.3.tgz | Bin 0 -> 23367 bytes stable/zwavejs2mqtt/6.2.5/ix_values.yaml | 63 + stable/zwavejs2mqtt/6.2.5/questions.yaml | 798 +++++++++++ .../zwavejs2mqtt/6.2.5/templates/common.yaml | 1 + stable/zwavejs2mqtt/6.2.5/test_values.yaml | 103 ++ stable/zwavejs2mqtt/6.2.5/values.yaml | 0 614 files changed, 47052 insertions(+) create mode 100644 deprecated/nzbhydra/6.2.5/CONFIG.md create mode 100644 deprecated/nzbhydra/6.2.5/Chart.lock create mode 100644 deprecated/nzbhydra/6.2.5/Chart.yaml create mode 100644 deprecated/nzbhydra/6.2.5/README.md create mode 100644 deprecated/nzbhydra/6.2.5/app-readme.md create mode 100644 deprecated/nzbhydra/6.2.5/charts/common-6.4.3.tgz create mode 100644 deprecated/nzbhydra/6.2.5/ix_values.yaml create mode 100644 deprecated/nzbhydra/6.2.5/questions.yaml create mode 100644 deprecated/nzbhydra/6.2.5/templates/common.yaml create mode 100644 deprecated/nzbhydra/6.2.5/test_values.yaml create mode 100644 deprecated/nzbhydra/6.2.5/values.yaml create mode 100644 develop/prototype-gui/1.3.6/CONFIG.md create mode 100644 develop/prototype-gui/1.3.6/Chart.lock create mode 100644 develop/prototype-gui/1.3.6/Chart.yaml create mode 100644 develop/prototype-gui/1.3.6/README.md create mode 100644 develop/prototype-gui/1.3.6/app-readme.md create mode 100644 develop/prototype-gui/1.3.6/charts/common-6.4.3.tgz create mode 100644 develop/prototype-gui/1.3.6/ix_values.yaml create mode 100644 develop/prototype-gui/1.3.6/questions.yaml create mode 100644 develop/prototype-gui/1.3.6/templates/common.yaml create mode 100644 develop/prototype-gui/1.3.6/test_values.yaml create mode 100644 develop/prototype-gui/1.3.6/values.yaml create mode 100644 incubator/airsonic/1.2.5/CONFIG.md create mode 100644 incubator/airsonic/1.2.5/Chart.lock create mode 100644 incubator/airsonic/1.2.5/Chart.yaml create mode 100644 incubator/airsonic/1.2.5/README.md create mode 100644 incubator/airsonic/1.2.5/app-readme.md create mode 100644 incubator/airsonic/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/airsonic/1.2.5/ix_values.yaml create mode 100644 incubator/airsonic/1.2.5/questions.yaml create mode 100644 incubator/airsonic/1.2.5/templates/common.yaml create mode 100644 incubator/airsonic/1.2.5/test_values.yaml create mode 100644 incubator/airsonic/1.2.5/values.yaml create mode 100644 incubator/appdaemon/3.2.6/CONFIG.md create mode 100644 incubator/appdaemon/3.2.6/Chart.lock create mode 100644 incubator/appdaemon/3.2.6/Chart.yaml create mode 100644 incubator/appdaemon/3.2.6/README.md create mode 100644 incubator/appdaemon/3.2.6/app-readme.md create mode 100644 incubator/appdaemon/3.2.6/charts/common-6.4.3.tgz create mode 100644 incubator/appdaemon/3.2.6/ix_values.yaml create mode 100644 incubator/appdaemon/3.2.6/questions.yaml create mode 100644 incubator/appdaemon/3.2.6/templates/common.yaml create mode 100644 incubator/appdaemon/3.2.6/test_values.yaml create mode 100644 incubator/appdaemon/3.2.6/values.yaml create mode 100644 incubator/bazarr/6.2.5/CONFIG.md create mode 100644 incubator/bazarr/6.2.5/Chart.lock create mode 100644 incubator/bazarr/6.2.5/Chart.yaml create mode 100644 incubator/bazarr/6.2.5/README.md create mode 100644 incubator/bazarr/6.2.5/app-readme.md create mode 100644 incubator/bazarr/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/bazarr/6.2.5/ix_values.yaml create mode 100644 incubator/bazarr/6.2.5/questions.yaml create mode 100644 incubator/bazarr/6.2.5/templates/common.yaml create mode 100644 incubator/bazarr/6.2.5/test_values.yaml create mode 100644 incubator/bazarr/6.2.5/values.yaml create mode 100644 incubator/calibre-web/6.2.5/CONFIG.md create mode 100644 incubator/calibre-web/6.2.5/Chart.lock create mode 100644 incubator/calibre-web/6.2.5/Chart.yaml create mode 100644 incubator/calibre-web/6.2.5/README.md create mode 100644 incubator/calibre-web/6.2.5/app-readme.md create mode 100644 incubator/calibre-web/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/calibre-web/6.2.5/ix_values.yaml create mode 100644 incubator/calibre-web/6.2.5/questions.yaml create mode 100644 incubator/calibre-web/6.2.5/templates/common.yaml create mode 100644 incubator/calibre-web/6.2.5/test_values.yaml create mode 100644 incubator/calibre-web/6.2.5/values.yaml create mode 100644 incubator/deluge/6.2.5/CONFIG.md create mode 100644 incubator/deluge/6.2.5/Chart.lock create mode 100644 incubator/deluge/6.2.5/Chart.yaml create mode 100644 incubator/deluge/6.2.5/README.md create mode 100644 incubator/deluge/6.2.5/app-readme.md create mode 100644 incubator/deluge/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/deluge/6.2.5/ix_values.yaml create mode 100644 incubator/deluge/6.2.5/questions.yaml create mode 100644 incubator/deluge/6.2.5/templates/common.yaml create mode 100644 incubator/deluge/6.2.5/test_values.yaml create mode 100644 incubator/deluge/6.2.5/values.yaml create mode 100644 incubator/fireflyiii/4.3.6/CONFIG.md create mode 100644 incubator/fireflyiii/4.3.6/Chart.lock create mode 100644 incubator/fireflyiii/4.3.6/Chart.yaml create mode 100644 incubator/fireflyiii/4.3.6/README.md create mode 100644 incubator/fireflyiii/4.3.6/app-readme.md create mode 100644 incubator/fireflyiii/4.3.6/charts/common-6.4.3.tgz create mode 100644 incubator/fireflyiii/4.3.6/charts/postgresql-10.5.1.tgz create mode 100644 incubator/fireflyiii/4.3.6/ix_values.yaml create mode 100644 incubator/fireflyiii/4.3.6/questions.yaml create mode 100644 incubator/fireflyiii/4.3.6/templates/common.yaml create mode 100644 incubator/fireflyiii/4.3.6/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.3.6/test_values.yaml create mode 100644 incubator/fireflyiii/4.3.6/values.yaml create mode 100644 incubator/freshrss/6.2.5/CONFIG.md create mode 100644 incubator/freshrss/6.2.5/Chart.lock create mode 100644 incubator/freshrss/6.2.5/Chart.yaml create mode 100644 incubator/freshrss/6.2.5/README.md create mode 100644 incubator/freshrss/6.2.5/app-readme.md create mode 100644 incubator/freshrss/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/freshrss/6.2.5/ix_values.yaml create mode 100644 incubator/freshrss/6.2.5/questions.yaml create mode 100644 incubator/freshrss/6.2.5/templates/common.yaml create mode 100644 incubator/freshrss/6.2.5/test_values.yaml create mode 100644 incubator/freshrss/6.2.5/values.yaml create mode 100644 incubator/gaps/6.2.5/CONFIG.md create mode 100644 incubator/gaps/6.2.5/Chart.lock create mode 100644 incubator/gaps/6.2.5/Chart.yaml create mode 100644 incubator/gaps/6.2.5/README.md create mode 100644 incubator/gaps/6.2.5/app-readme.md create mode 100644 incubator/gaps/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/gaps/6.2.5/ix_values.yaml create mode 100644 incubator/gaps/6.2.5/questions.yaml create mode 100644 incubator/gaps/6.2.5/templates/common.yaml create mode 100644 incubator/gaps/6.2.5/test_values.yaml create mode 100644 incubator/gaps/6.2.5/values.yaml create mode 100644 incubator/grocy/6.2.5/CONFIG.md create mode 100644 incubator/grocy/6.2.5/Chart.lock create mode 100644 incubator/grocy/6.2.5/Chart.yaml create mode 100644 incubator/grocy/6.2.5/README.md create mode 100644 incubator/grocy/6.2.5/app-readme.md create mode 100644 incubator/grocy/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/grocy/6.2.5/ix_values.yaml create mode 100644 incubator/grocy/6.2.5/questions.yaml create mode 100644 incubator/grocy/6.2.5/templates/common.yaml create mode 100644 incubator/grocy/6.2.5/test_values.yaml create mode 100644 incubator/grocy/6.2.5/values.yaml create mode 100644 incubator/haste-server/1.2.5/CONFIG.md create mode 100644 incubator/haste-server/1.2.5/Chart.lock create mode 100644 incubator/haste-server/1.2.5/Chart.yaml create mode 100644 incubator/haste-server/1.2.5/README.md create mode 100644 incubator/haste-server/1.2.5/app-readme.md create mode 100644 incubator/haste-server/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/haste-server/1.2.5/ix_values.yaml create mode 100644 incubator/haste-server/1.2.5/questions.yaml create mode 100644 incubator/haste-server/1.2.5/templates/common.yaml create mode 100644 incubator/haste-server/1.2.5/test_values.yaml create mode 100644 incubator/haste-server/1.2.5/values.yaml create mode 100644 incubator/heimdall/6.2.5/CONFIG.md create mode 100644 incubator/heimdall/6.2.5/Chart.lock create mode 100644 incubator/heimdall/6.2.5/Chart.yaml create mode 100644 incubator/heimdall/6.2.5/README.md create mode 100644 incubator/heimdall/6.2.5/app-readme.md create mode 100644 incubator/heimdall/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/heimdall/6.2.5/ix_values.yaml create mode 100644 incubator/heimdall/6.2.5/questions.yaml create mode 100644 incubator/heimdall/6.2.5/templates/common.yaml create mode 100644 incubator/heimdall/6.2.5/test_values.yaml create mode 100644 incubator/heimdall/6.2.5/values.yaml create mode 100644 incubator/lazylibrarian/6.2.5/CONFIG.md create mode 100644 incubator/lazylibrarian/6.2.5/Chart.lock create mode 100644 incubator/lazylibrarian/6.2.5/Chart.yaml create mode 100644 incubator/lazylibrarian/6.2.5/README.md create mode 100644 incubator/lazylibrarian/6.2.5/app-readme.md create mode 100644 incubator/lazylibrarian/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/lazylibrarian/6.2.5/ix_values.yaml create mode 100644 incubator/lazylibrarian/6.2.5/questions.yaml create mode 100644 incubator/lazylibrarian/6.2.5/templates/common.yaml create mode 100644 incubator/lazylibrarian/6.2.5/test_values.yaml create mode 100644 incubator/lazylibrarian/6.2.5/values.yaml create mode 100644 incubator/lychee/6.2.5/CONFIG.md create mode 100644 incubator/lychee/6.2.5/Chart.lock create mode 100644 incubator/lychee/6.2.5/Chart.yaml create mode 100644 incubator/lychee/6.2.5/README.md create mode 100644 incubator/lychee/6.2.5/app-readme.md create mode 100644 incubator/lychee/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/lychee/6.2.5/ix_values.yaml create mode 100644 incubator/lychee/6.2.5/questions.yaml create mode 100644 incubator/lychee/6.2.5/templates/common.yaml create mode 100644 incubator/lychee/6.2.5/test_values.yaml create mode 100644 incubator/lychee/6.2.5/values.yaml create mode 100644 incubator/mealie/1.2.5/CONFIG.md create mode 100644 incubator/mealie/1.2.5/Chart.lock create mode 100644 incubator/mealie/1.2.5/Chart.yaml create mode 100644 incubator/mealie/1.2.5/README.md create mode 100644 incubator/mealie/1.2.5/app-readme.md create mode 100644 incubator/mealie/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/mealie/1.2.5/ix_values.yaml create mode 100644 incubator/mealie/1.2.5/questions.yaml create mode 100644 incubator/mealie/1.2.5/templates/common.yaml create mode 100644 incubator/mealie/1.2.5/test_values.yaml create mode 100644 incubator/mealie/1.2.5/values.yaml create mode 100644 incubator/mosquitto/1.2.5/CONFIG.md create mode 100644 incubator/mosquitto/1.2.5/Chart.lock create mode 100644 incubator/mosquitto/1.2.5/Chart.yaml create mode 100644 incubator/mosquitto/1.2.5/README.md create mode 100644 incubator/mosquitto/1.2.5/app-readme.md create mode 100644 incubator/mosquitto/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/mosquitto/1.2.5/ix_values.yaml create mode 100644 incubator/mosquitto/1.2.5/questions.yaml create mode 100644 incubator/mosquitto/1.2.5/templates/common.yaml create mode 100644 incubator/mosquitto/1.2.5/templates/configmap.yaml create mode 100644 incubator/mosquitto/1.2.5/test_values.yaml create mode 100644 incubator/mosquitto/1.2.5/values.yaml create mode 100644 incubator/navidrome/6.2.5/CONFIG.md create mode 100644 incubator/navidrome/6.2.5/Chart.lock create mode 100644 incubator/navidrome/6.2.5/Chart.yaml create mode 100644 incubator/navidrome/6.2.5/README.md create mode 100644 incubator/navidrome/6.2.5/app-readme.md create mode 100644 incubator/navidrome/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/navidrome/6.2.5/ix_values.yaml create mode 100644 incubator/navidrome/6.2.5/questions.yaml create mode 100644 incubator/navidrome/6.2.5/templates/common.yaml create mode 100644 incubator/navidrome/6.2.5/test_values.yaml create mode 100644 incubator/navidrome/6.2.5/values.yaml create mode 100644 incubator/node-red/6.2.5/CONFIG.md create mode 100644 incubator/node-red/6.2.5/Chart.lock create mode 100644 incubator/node-red/6.2.5/Chart.yaml create mode 100644 incubator/node-red/6.2.5/README.md create mode 100644 incubator/node-red/6.2.5/app-readme.md create mode 100644 incubator/node-red/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/node-red/6.2.5/ix_values.yaml create mode 100644 incubator/node-red/6.2.5/questions.yaml create mode 100644 incubator/node-red/6.2.5/templates/common.yaml create mode 100644 incubator/node-red/6.2.5/test_values.yaml create mode 100644 incubator/node-red/6.2.5/values.yaml create mode 100644 incubator/nzbget/6.2.5/CONFIG.md create mode 100644 incubator/nzbget/6.2.5/Chart.lock create mode 100644 incubator/nzbget/6.2.5/Chart.yaml create mode 100644 incubator/nzbget/6.2.5/README.md create mode 100644 incubator/nzbget/6.2.5/app-readme.md create mode 100644 incubator/nzbget/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/nzbget/6.2.5/ix_values.yaml create mode 100644 incubator/nzbget/6.2.5/questions.yaml create mode 100644 incubator/nzbget/6.2.5/templates/common.yaml create mode 100644 incubator/nzbget/6.2.5/test_values.yaml create mode 100644 incubator/nzbget/6.2.5/values.yaml create mode 100644 incubator/organizr/6.2.6/CONFIG.md create mode 100644 incubator/organizr/6.2.6/Chart.lock create mode 100644 incubator/organizr/6.2.6/Chart.yaml create mode 100644 incubator/organizr/6.2.6/README.md create mode 100644 incubator/organizr/6.2.6/app-readme.md create mode 100644 incubator/organizr/6.2.6/charts/common-6.4.3.tgz create mode 100644 incubator/organizr/6.2.6/ix_values.yaml create mode 100644 incubator/organizr/6.2.6/questions.yaml create mode 100644 incubator/organizr/6.2.6/templates/common.yaml create mode 100644 incubator/organizr/6.2.6/test_values.yaml create mode 100644 incubator/organizr/6.2.6/values.yaml create mode 100644 incubator/podgrab/4.2.5/CONFIG.md create mode 100644 incubator/podgrab/4.2.5/Chart.lock create mode 100644 incubator/podgrab/4.2.5/Chart.yaml create mode 100644 incubator/podgrab/4.2.5/README.md create mode 100644 incubator/podgrab/4.2.5/app-readme.md create mode 100644 incubator/podgrab/4.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/podgrab/4.2.5/ix_values.yaml create mode 100644 incubator/podgrab/4.2.5/questions.yaml create mode 100644 incubator/podgrab/4.2.5/templates/common.yaml create mode 100644 incubator/podgrab/4.2.5/test_values.yaml create mode 100644 incubator/podgrab/4.2.5/values.yaml create mode 100644 incubator/prowlarr/1.2.5/CONFIG.md create mode 100644 incubator/prowlarr/1.2.5/Chart.lock create mode 100644 incubator/prowlarr/1.2.5/Chart.yaml create mode 100644 incubator/prowlarr/1.2.5/README.md create mode 100644 incubator/prowlarr/1.2.5/app-readme.md create mode 100644 incubator/prowlarr/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/prowlarr/1.2.5/ix_values.yaml create mode 100644 incubator/prowlarr/1.2.5/questions.yaml create mode 100644 incubator/prowlarr/1.2.5/templates/common.yaml create mode 100644 incubator/prowlarr/1.2.5/test_values.yaml create mode 100644 incubator/prowlarr/1.2.5/values.yaml create mode 100644 incubator/qbittorrent/6.2.5/CONFIG.md create mode 100644 incubator/qbittorrent/6.2.5/Chart.lock create mode 100644 incubator/qbittorrent/6.2.5/Chart.yaml create mode 100644 incubator/qbittorrent/6.2.5/README.md create mode 100644 incubator/qbittorrent/6.2.5/app-readme.md create mode 100644 incubator/qbittorrent/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/qbittorrent/6.2.5/ix_values.yaml create mode 100644 incubator/qbittorrent/6.2.5/questions.yaml create mode 100644 incubator/qbittorrent/6.2.5/templates/_configmap.tpl create mode 100644 incubator/qbittorrent/6.2.5/templates/common.yaml create mode 100644 incubator/qbittorrent/6.2.5/test_values.yaml create mode 100644 incubator/qbittorrent/6.2.5/values.yaml create mode 100644 incubator/readarr/6.2.5/CONFIG.md create mode 100644 incubator/readarr/6.2.5/Chart.lock create mode 100644 incubator/readarr/6.2.5/Chart.yaml create mode 100644 incubator/readarr/6.2.5/README.md create mode 100644 incubator/readarr/6.2.5/app-readme.md create mode 100644 incubator/readarr/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/readarr/6.2.5/ix_values.yaml create mode 100644 incubator/readarr/6.2.5/questions.yaml create mode 100644 incubator/readarr/6.2.5/templates/common.yaml create mode 100644 incubator/readarr/6.2.5/test_values.yaml create mode 100644 incubator/readarr/6.2.5/values.yaml create mode 100644 incubator/reg/1.2.4/CONFIG.md create mode 100644 incubator/reg/1.2.4/Chart.lock create mode 100644 incubator/reg/1.2.4/Chart.yaml create mode 100644 incubator/reg/1.2.4/README.md create mode 100644 incubator/reg/1.2.4/app-readme.md create mode 100644 incubator/reg/1.2.4/charts/common-6.4.3.tgz create mode 100644 incubator/reg/1.2.4/ci/ct-values.yaml create mode 100644 incubator/reg/1.2.4/ix_values.yaml create mode 100644 incubator/reg/1.2.4/questions.yaml create mode 100644 incubator/reg/1.2.4/templates/common.yaml create mode 100644 incubator/reg/1.2.4/test_values.yaml create mode 100644 incubator/reg/1.2.4/values.yaml create mode 100644 incubator/sabnzbd/6.2.5/CONFIG.md create mode 100644 incubator/sabnzbd/6.2.5/Chart.lock create mode 100644 incubator/sabnzbd/6.2.5/Chart.yaml create mode 100644 incubator/sabnzbd/6.2.5/README.md create mode 100644 incubator/sabnzbd/6.2.5/app-readme.md create mode 100644 incubator/sabnzbd/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/sabnzbd/6.2.5/ix_values.yaml create mode 100644 incubator/sabnzbd/6.2.5/questions.yaml create mode 100644 incubator/sabnzbd/6.2.5/templates/common.yaml create mode 100644 incubator/sabnzbd/6.2.5/test_values.yaml create mode 100644 incubator/sabnzbd/6.2.5/values.yaml create mode 100644 incubator/thelounge/1.2.5/CONFIG.md create mode 100644 incubator/thelounge/1.2.5/Chart.lock create mode 100644 incubator/thelounge/1.2.5/Chart.yaml create mode 100644 incubator/thelounge/1.2.5/README.md create mode 100644 incubator/thelounge/1.2.5/app-readme.md create mode 100644 incubator/thelounge/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/thelounge/1.2.5/ix_values.yaml create mode 100644 incubator/thelounge/1.2.5/questions.yaml create mode 100644 incubator/thelounge/1.2.5/templates/common.yaml create mode 100644 incubator/thelounge/1.2.5/test_values.yaml create mode 100644 incubator/thelounge/1.2.5/values.yaml create mode 100644 incubator/tvheadend/7.2.5/CONFIG.md create mode 100644 incubator/tvheadend/7.2.5/Chart.lock create mode 100644 incubator/tvheadend/7.2.5/Chart.yaml create mode 100644 incubator/tvheadend/7.2.5/README.md create mode 100644 incubator/tvheadend/7.2.5/app-readme.md create mode 100644 incubator/tvheadend/7.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/tvheadend/7.2.5/ix_values.yaml create mode 100644 incubator/tvheadend/7.2.5/questions.yaml create mode 100644 incubator/tvheadend/7.2.5/templates/common.yaml create mode 100644 incubator/tvheadend/7.2.5/test_values.yaml create mode 100644 incubator/tvheadend/7.2.5/values.yaml create mode 100644 incubator/unifi/6.2.5/CONFIG.md create mode 100644 incubator/unifi/6.2.5/Chart.lock create mode 100644 incubator/unifi/6.2.5/Chart.yaml create mode 100644 incubator/unifi/6.2.5/README.md create mode 100644 incubator/unifi/6.2.5/app-readme.md create mode 100644 incubator/unifi/6.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/unifi/6.2.5/ix_values.yaml create mode 100644 incubator/unifi/6.2.5/questions.yaml create mode 100644 incubator/unifi/6.2.5/templates/common.yaml create mode 100644 incubator/unifi/6.2.5/test_values.yaml create mode 100644 incubator/unifi/6.2.5/values.yaml create mode 100644 incubator/unpackerr/1.2.5/CONFIG.md create mode 100644 incubator/unpackerr/1.2.5/Chart.lock create mode 100644 incubator/unpackerr/1.2.5/Chart.yaml create mode 100644 incubator/unpackerr/1.2.5/README.md create mode 100644 incubator/unpackerr/1.2.5/app-readme.md create mode 100644 incubator/unpackerr/1.2.5/charts/common-6.4.3.tgz create mode 100644 incubator/unpackerr/1.2.5/ix_values.yaml create mode 100644 incubator/unpackerr/1.2.5/questions.yaml create mode 100644 incubator/unpackerr/1.2.5/templates/common.yaml create mode 100644 incubator/unpackerr/1.2.5/test_values.yaml create mode 100644 incubator/unpackerr/1.2.5/values.yaml create mode 100644 stable/collabora-online/6.2.5/CONFIG.md create mode 100644 stable/collabora-online/6.2.5/Chart.lock create mode 100644 stable/collabora-online/6.2.5/Chart.yaml create mode 100644 stable/collabora-online/6.2.5/README.md create mode 100644 stable/collabora-online/6.2.5/app-readme.md create mode 100644 stable/collabora-online/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/collabora-online/6.2.5/ix_values.yaml create mode 100644 stable/collabora-online/6.2.5/questions.yaml create mode 100644 stable/collabora-online/6.2.5/templates/common.yaml create mode 100644 stable/collabora-online/6.2.5/test_values.yaml create mode 100644 stable/collabora-online/6.2.5/values.yaml create mode 100644 stable/deepstack-cpu/4.2.5/CONFIG.md create mode 100644 stable/deepstack-cpu/4.2.5/Chart.lock create mode 100644 stable/deepstack-cpu/4.2.5/Chart.yaml create mode 100644 stable/deepstack-cpu/4.2.5/README.md create mode 100644 stable/deepstack-cpu/4.2.5/app-readme.md create mode 100644 stable/deepstack-cpu/4.2.5/charts/common-6.4.3.tgz create mode 100644 stable/deepstack-cpu/4.2.5/ix_values.yaml create mode 100644 stable/deepstack-cpu/4.2.5/questions.yaml create mode 100644 stable/deepstack-cpu/4.2.5/templates/common.yaml create mode 100644 stable/deepstack-cpu/4.2.5/test_values.yaml create mode 100644 stable/deepstack-cpu/4.2.5/values.yaml create mode 100644 stable/emby/6.2.5/CONFIG.md create mode 100644 stable/emby/6.2.5/Chart.lock create mode 100644 stable/emby/6.2.5/Chart.yaml create mode 100644 stable/emby/6.2.5/README.md create mode 100644 stable/emby/6.2.5/app-readme.md create mode 100644 stable/emby/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/emby/6.2.5/ix_values.yaml create mode 100644 stable/emby/6.2.5/questions.yaml create mode 100644 stable/emby/6.2.5/templates/common.yaml create mode 100644 stable/emby/6.2.5/test_values.yaml create mode 100644 stable/emby/6.2.5/values.yaml create mode 100644 stable/esphome/6.2.5/CONFIG.md create mode 100644 stable/esphome/6.2.5/Chart.lock create mode 100644 stable/esphome/6.2.5/Chart.yaml create mode 100644 stable/esphome/6.2.5/README.md create mode 100644 stable/esphome/6.2.5/app-readme.md create mode 100644 stable/esphome/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/esphome/6.2.5/ix_values.yaml create mode 100644 stable/esphome/6.2.5/questions.yaml create mode 100644 stable/esphome/6.2.5/templates/common.yaml create mode 100644 stable/esphome/6.2.5/test_values.yaml create mode 100644 stable/esphome/6.2.5/values.yaml create mode 100644 stable/handbrake/6.2.5/CONFIG.md create mode 100644 stable/handbrake/6.2.5/Chart.lock create mode 100644 stable/handbrake/6.2.5/Chart.yaml create mode 100644 stable/handbrake/6.2.5/README.md create mode 100644 stable/handbrake/6.2.5/app-readme.md create mode 100644 stable/handbrake/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/handbrake/6.2.5/ix_values.yaml create mode 100644 stable/handbrake/6.2.5/questions.yaml create mode 100644 stable/handbrake/6.2.5/templates/common.yaml create mode 100644 stable/handbrake/6.2.5/test_values.yaml create mode 100644 stable/handbrake/6.2.5/values.yaml create mode 100644 stable/home-assistant/6.2.5/CONFIG.md create mode 100644 stable/home-assistant/6.2.5/Chart.lock create mode 100644 stable/home-assistant/6.2.5/Chart.yaml create mode 100644 stable/home-assistant/6.2.5/README.md create mode 100644 stable/home-assistant/6.2.5/app-readme.md create mode 100644 stable/home-assistant/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/home-assistant/6.2.5/ix_values.yaml create mode 100644 stable/home-assistant/6.2.5/questions.yaml create mode 100644 stable/home-assistant/6.2.5/templates/common.yaml create mode 100644 stable/home-assistant/6.2.5/templates/secret.yaml create mode 100644 stable/home-assistant/6.2.5/test_values.yaml create mode 100644 stable/home-assistant/6.2.5/values.yaml create mode 100644 stable/jackett/6.2.5/CONFIG.md create mode 100644 stable/jackett/6.2.5/Chart.lock create mode 100644 stable/jackett/6.2.5/Chart.yaml create mode 100644 stable/jackett/6.2.5/README.md create mode 100644 stable/jackett/6.2.5/app-readme.md create mode 100644 stable/jackett/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/jackett/6.2.5/ix_values.yaml create mode 100644 stable/jackett/6.2.5/questions.yaml create mode 100644 stable/jackett/6.2.5/templates/common.yaml create mode 100644 stable/jackett/6.2.5/test_values.yaml create mode 100644 stable/jackett/6.2.5/values.yaml create mode 100644 stable/jellyfin/6.2.5/CONFIG.md create mode 100644 stable/jellyfin/6.2.5/Chart.lock create mode 100644 stable/jellyfin/6.2.5/Chart.yaml create mode 100644 stable/jellyfin/6.2.5/README.md create mode 100644 stable/jellyfin/6.2.5/app-readme.md create mode 100644 stable/jellyfin/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/jellyfin/6.2.5/ix_values.yaml create mode 100644 stable/jellyfin/6.2.5/questions.yaml create mode 100644 stable/jellyfin/6.2.5/templates/common.yaml create mode 100644 stable/jellyfin/6.2.5/test_values.yaml create mode 100644 stable/jellyfin/6.2.5/values.yaml create mode 100644 stable/kms/6.2.5/CONFIG.md create mode 100644 stable/kms/6.2.5/Chart.lock create mode 100644 stable/kms/6.2.5/Chart.yaml create mode 100644 stable/kms/6.2.5/README.md create mode 100644 stable/kms/6.2.5/app-readme.md create mode 100644 stable/kms/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/kms/6.2.5/ix_values.yaml create mode 100644 stable/kms/6.2.5/questions.yaml create mode 100644 stable/kms/6.2.5/templates/common.yaml create mode 100644 stable/kms/6.2.5/test_values.yaml create mode 100644 stable/kms/6.2.5/values.yaml create mode 100644 stable/lidarr/6.2.5/CONFIG.md create mode 100644 stable/lidarr/6.2.5/Chart.lock create mode 100644 stable/lidarr/6.2.5/Chart.yaml create mode 100644 stable/lidarr/6.2.5/README.md create mode 100644 stable/lidarr/6.2.5/app-readme.md create mode 100644 stable/lidarr/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/lidarr/6.2.5/ix_values.yaml create mode 100644 stable/lidarr/6.2.5/questions.yaml create mode 100644 stable/lidarr/6.2.5/templates/common.yaml create mode 100644 stable/lidarr/6.2.5/test_values.yaml create mode 100644 stable/lidarr/6.2.5/values.yaml create mode 100644 stable/ombi/6.2.5/CONFIG.md create mode 100644 stable/ombi/6.2.5/Chart.lock create mode 100644 stable/ombi/6.2.5/Chart.yaml create mode 100644 stable/ombi/6.2.5/README.md create mode 100644 stable/ombi/6.2.5/app-readme.md create mode 100644 stable/ombi/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/ombi/6.2.5/ix_values.yaml create mode 100644 stable/ombi/6.2.5/questions.yaml create mode 100644 stable/ombi/6.2.5/templates/common.yaml create mode 100644 stable/ombi/6.2.5/test_values.yaml create mode 100644 stable/ombi/6.2.5/values.yaml create mode 100644 stable/plex/5.2.5/CONFIG.md create mode 100644 stable/plex/5.2.5/Chart.lock create mode 100644 stable/plex/5.2.5/Chart.yaml create mode 100644 stable/plex/5.2.5/README.md create mode 100644 stable/plex/5.2.5/app-readme.md create mode 100644 stable/plex/5.2.5/charts/common-6.4.3.tgz create mode 100644 stable/plex/5.2.5/ix_values.yaml create mode 100644 stable/plex/5.2.5/questions.yaml create mode 100644 stable/plex/5.2.5/templates/common.yaml create mode 100644 stable/plex/5.2.5/test_values.yaml create mode 100644 stable/plex/5.2.5/values.yaml create mode 100644 stable/radarr/6.2.5/CONFIG.md create mode 100644 stable/radarr/6.2.5/Chart.lock create mode 100644 stable/radarr/6.2.5/Chart.yaml create mode 100644 stable/radarr/6.2.5/README.md create mode 100644 stable/radarr/6.2.5/app-readme.md create mode 100644 stable/radarr/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/radarr/6.2.5/ix_values.yaml create mode 100644 stable/radarr/6.2.5/questions.yaml create mode 100644 stable/radarr/6.2.5/templates/common.yaml create mode 100644 stable/radarr/6.2.5/test_values.yaml create mode 100644 stable/radarr/6.2.5/values.yaml create mode 100644 stable/sonarr/6.2.5/CONFIG.md create mode 100644 stable/sonarr/6.2.5/Chart.lock create mode 100644 stable/sonarr/6.2.5/Chart.yaml create mode 100644 stable/sonarr/6.2.5/README.md create mode 100644 stable/sonarr/6.2.5/app-readme.md create mode 100644 stable/sonarr/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/sonarr/6.2.5/ix_values.yaml create mode 100644 stable/sonarr/6.2.5/questions.yaml create mode 100644 stable/sonarr/6.2.5/templates/common.yaml create mode 100644 stable/sonarr/6.2.5/test_values.yaml create mode 100644 stable/sonarr/6.2.5/values.yaml create mode 100644 stable/syncthing/6.2.5/CONFIG.md create mode 100644 stable/syncthing/6.2.5/Chart.lock create mode 100644 stable/syncthing/6.2.5/Chart.yaml create mode 100644 stable/syncthing/6.2.5/README.md create mode 100644 stable/syncthing/6.2.5/app-readme.md create mode 100644 stable/syncthing/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/syncthing/6.2.5/ix_values.yaml create mode 100644 stable/syncthing/6.2.5/questions.yaml create mode 100644 stable/syncthing/6.2.5/templates/common.yaml create mode 100644 stable/syncthing/6.2.5/test_values.yaml create mode 100644 stable/syncthing/6.2.5/values.yaml create mode 100644 stable/tautulli/6.2.5/CONFIG.md create mode 100644 stable/tautulli/6.2.5/Chart.lock create mode 100644 stable/tautulli/6.2.5/Chart.yaml create mode 100644 stable/tautulli/6.2.5/README.md create mode 100644 stable/tautulli/6.2.5/app-readme.md create mode 100644 stable/tautulli/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/tautulli/6.2.5/ix_values.yaml create mode 100644 stable/tautulli/6.2.5/questions.yaml create mode 100644 stable/tautulli/6.2.5/templates/common.yaml create mode 100644 stable/tautulli/6.2.5/test_values.yaml create mode 100644 stable/tautulli/6.2.5/values.yaml create mode 100644 stable/traefik/6.3.10/CONFIG.md create mode 100644 stable/traefik/6.3.10/Chart.lock create mode 100644 stable/traefik/6.3.10/Chart.yaml create mode 100644 stable/traefik/6.3.10/LICENSE create mode 100644 stable/traefik/6.3.10/README.md create mode 100644 stable/traefik/6.3.10/app-readme.md create mode 100644 stable/traefik/6.3.10/charts/common-6.4.3.tgz create mode 100644 stable/traefik/6.3.10/crds/ingressroute.yaml create mode 100644 stable/traefik/6.3.10/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/6.3.10/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/6.3.10/crds/middlewares.yaml create mode 100644 stable/traefik/6.3.10/crds/serverstransports.yaml create mode 100644 stable/traefik/6.3.10/crds/tlsoptions.yaml create mode 100644 stable/traefik/6.3.10/crds/tlsstores.yaml create mode 100644 stable/traefik/6.3.10/crds/traefikservices.yaml create mode 100644 stable/traefik/6.3.10/ix_values.yaml create mode 100644 stable/traefik/6.3.10/questions.yaml create mode 100644 stable/traefik/6.3.10/templates/_helpers.tpl create mode 100644 stable/traefik/6.3.10/templates/_podtemplate.tpl create mode 100644 stable/traefik/6.3.10/templates/custom/common.yaml create mode 100644 stable/traefik/6.3.10/templates/custom/middleware-namespace.yaml create mode 100644 stable/traefik/6.3.10/templates/custom/middlewares/basic-middleware.yaml create mode 100644 stable/traefik/6.3.10/templates/custom/middlewares/basicauth.yaml create mode 100644 stable/traefik/6.3.10/templates/custom/middlewares/forwardauth.yaml create mode 100644 stable/traefik/6.3.10/templates/custom/portal.yaml create mode 100644 stable/traefik/6.3.10/templates/daemonset.yaml create mode 100644 stable/traefik/6.3.10/templates/dashboard-hook-ingressroute.yaml create mode 100644 stable/traefik/6.3.10/templates/deployment.yaml create mode 100644 stable/traefik/6.3.10/templates/gateway.yaml create mode 100644 stable/traefik/6.3.10/templates/gatewayclass.yaml create mode 100644 stable/traefik/6.3.10/templates/hpa.yaml create mode 100644 stable/traefik/6.3.10/templates/ingressclass.yaml create mode 100644 stable/traefik/6.3.10/templates/poddisruptionbudget.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/clusterrole.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/clusterrolebinding.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/podsecuritypolicy.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/role.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/rolebinding.yaml create mode 100644 stable/traefik/6.3.10/templates/rbac/serviceaccount.yaml create mode 100644 stable/traefik/6.3.10/templates/service.yaml create mode 100644 stable/traefik/6.3.10/templates/tlsoption.yaml create mode 100644 stable/traefik/6.3.10/test_values.yaml create mode 100644 stable/traefik/6.3.10/values.yaml create mode 100644 stable/transmission/6.2.5/CONFIG.md create mode 100644 stable/transmission/6.2.5/Chart.lock create mode 100644 stable/transmission/6.2.5/Chart.yaml create mode 100644 stable/transmission/6.2.5/README.md create mode 100644 stable/transmission/6.2.5/app-readme.md create mode 100644 stable/transmission/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/transmission/6.2.5/ix_values.yaml create mode 100644 stable/transmission/6.2.5/questions.yaml create mode 100644 stable/transmission/6.2.5/templates/common.yaml create mode 100644 stable/transmission/6.2.5/test_values.yaml create mode 100644 stable/transmission/6.2.5/values.yaml create mode 100644 stable/truecommand/6.2.5/CONFIG.md create mode 100644 stable/truecommand/6.2.5/Chart.lock create mode 100644 stable/truecommand/6.2.5/Chart.yaml create mode 100644 stable/truecommand/6.2.5/README.md create mode 100644 stable/truecommand/6.2.5/app-readme.md create mode 100644 stable/truecommand/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/truecommand/6.2.5/ix_values.yaml create mode 100644 stable/truecommand/6.2.5/questions.yaml create mode 100644 stable/truecommand/6.2.5/templates/common.yaml create mode 100644 stable/truecommand/6.2.5/test_values.yaml create mode 100644 stable/truecommand/6.2.5/values.yaml create mode 100644 stable/vaultwarden/3.3.6/CONFIG.md create mode 100644 stable/vaultwarden/3.3.6/Chart.lock create mode 100644 stable/vaultwarden/3.3.6/Chart.yaml create mode 100644 stable/vaultwarden/3.3.6/README.md create mode 100644 stable/vaultwarden/3.3.6/app-readme.md create mode 100644 stable/vaultwarden/3.3.6/charts/common-6.4.3.tgz create mode 100644 stable/vaultwarden/3.3.6/charts/postgresql-10.5.1.tgz create mode 100644 stable/vaultwarden/3.3.6/ix_values.yaml create mode 100644 stable/vaultwarden/3.3.6/questions.yaml create mode 100644 stable/vaultwarden/3.3.6/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.3.6/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.3.6/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.3.6/templates/common.yaml create mode 100644 stable/vaultwarden/3.3.6/test_values.yaml create mode 100644 stable/vaultwarden/3.3.6/values.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/CONFIG.md create mode 100644 stable/zwavejs2mqtt/6.2.5/Chart.lock create mode 100644 stable/zwavejs2mqtt/6.2.5/Chart.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/README.md create mode 100644 stable/zwavejs2mqtt/6.2.5/app-readme.md create mode 100644 stable/zwavejs2mqtt/6.2.5/charts/common-6.4.3.tgz create mode 100644 stable/zwavejs2mqtt/6.2.5/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/questions.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/test_values.yaml create mode 100644 stable/zwavejs2mqtt/6.2.5/values.yaml diff --git a/deprecated/nzbhydra/6.2.5/CONFIG.md b/deprecated/nzbhydra/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/deprecated/nzbhydra/6.2.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.2.5/Chart.lock b/deprecated/nzbhydra/6.2.5/Chart.lock new file mode 100644 index 00000000000..b8dcc3d117f --- /dev/null +++ b/deprecated/nzbhydra/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:02:04.063903991Z" diff --git a/deprecated/nzbhydra/6.2.5/Chart.yaml b/deprecated/nzbhydra/6.2.5/Chart.yaml new file mode 100644 index 00000000000..cff4e473395 --- /dev/null +++ b/deprecated/nzbhydra/6.2.5/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/deprecated/nzbhydra/6.2.5/README.md b/deprecated/nzbhydra/6.2.5/README.md new file mode 100644 index 00000000000..c2333961dd9 --- /dev/null +++ b/deprecated/nzbhydra/6.2.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.2.5/app-readme.md b/deprecated/nzbhydra/6.2.5/app-readme.md new file mode 100644 index 00000000000..2012c83a622 --- /dev/null +++ b/deprecated/nzbhydra/6.2.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.2.5/charts/common-6.4.3.tgz b/deprecated/nzbhydra/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/deprecated/nzbhydra/6.2.5/ix_values.yaml b/deprecated/nzbhydra/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..057c2c67a5d --- /dev/null +++ b/deprecated/nzbhydra/6.2.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.2.5/questions.yaml b/deprecated/nzbhydra/6.2.5/questions.yaml new file mode 100644 index 00000000000..a370c1b3051 --- /dev/null +++ b/deprecated/nzbhydra/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5076 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36041 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/deprecated/nzbhydra/6.2.5/templates/common.yaml b/deprecated/nzbhydra/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/deprecated/nzbhydra/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/deprecated/nzbhydra/6.2.5/test_values.yaml b/deprecated/nzbhydra/6.2.5/test_values.yaml new file mode 100644 index 00000000000..5c988926a65 --- /dev/null +++ b/deprecated/nzbhydra/6.2.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.2.5/values.yaml b/deprecated/nzbhydra/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/develop/prototype-gui/1.3.6/CONFIG.md b/develop/prototype-gui/1.3.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/develop/prototype-gui/1.3.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/develop/prototype-gui/1.3.6/Chart.lock b/develop/prototype-gui/1.3.6/Chart.lock new file mode 100644 index 00000000000..a29ffe0f292 --- /dev/null +++ b/develop/prototype-gui/1.3.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:02:02.774274366Z" diff --git a/develop/prototype-gui/1.3.6/Chart.yaml b/develop/prototype-gui/1.3.6/Chart.yaml new file mode 100644 index 00000000000..c6345a6b9f4 --- /dev/null +++ b/develop/prototype-gui/1.3.6/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.3.6 diff --git a/develop/prototype-gui/1.3.6/README.md b/develop/prototype-gui/1.3.6/README.md new file mode 100644 index 00000000000..5b44b1dae6d --- /dev/null +++ b/develop/prototype-gui/1.3.6/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.3.6/app-readme.md b/develop/prototype-gui/1.3.6/app-readme.md new file mode 100644 index 00000000000..f1bf7dc8109 --- /dev/null +++ b/develop/prototype-gui/1.3.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 +App to test GUI prototypes diff --git a/develop/prototype-gui/1.3.6/charts/common-6.4.3.tgz b/develop/prototype-gui/1.3.6/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/develop/prototype-gui/1.3.6/ix_values.yaml b/develop/prototype-gui/1.3.6/ix_values.yaml new file mode 100644 index 00000000000..1061fbbd45d --- /dev/null +++ b/develop/prototype-gui/1.3.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: 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.3.6/questions.yaml b/develop/prototype-gui/1.3.6/questions.yaml new file mode 100644 index 00000000000..6a175db9ca9 --- /dev/null +++ b/develop/prototype-gui/1.3.6/questions.yaml @@ -0,0 +1,689 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "(Advanced) Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "(Advanced) LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "(Advanced) Enable privileged mode" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "(Advanced) When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "(Advanced) Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "2Gi" + - variable: requests + label: "(Advanced) Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "50Mi" diff --git a/develop/prototype-gui/1.3.6/templates/common.yaml b/develop/prototype-gui/1.3.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/develop/prototype-gui/1.3.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/develop/prototype-gui/1.3.6/test_values.yaml b/develop/prototype-gui/1.3.6/test_values.yaml new file mode 100644 index 00000000000..3ace39eda41 --- /dev/null +++ b/develop/prototype-gui/1.3.6/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.385 + +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.3.6/values.yaml b/develop/prototype-gui/1.3.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/airsonic/1.2.5/CONFIG.md b/incubator/airsonic/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/airsonic/1.2.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.2.5/Chart.lock b/incubator/airsonic/1.2.5/Chart.lock new file mode 100644 index 00000000000..cf5d5f37d4f --- /dev/null +++ b/incubator/airsonic/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:18.720146606Z" diff --git a/incubator/airsonic/1.2.5/Chart.yaml b/incubator/airsonic/1.2.5/Chart.yaml new file mode 100644 index 00000000000..596c428e553 --- /dev/null +++ b/incubator/airsonic/1.2.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/airsonic/1.2.5/README.md b/incubator/airsonic/1.2.5/README.md new file mode 100644 index 00000000000..9e5471b665e --- /dev/null +++ b/incubator/airsonic/1.2.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.2.5/app-readme.md b/incubator/airsonic/1.2.5/app-readme.md new file mode 100644 index 00000000000..02ff47fc823 --- /dev/null +++ b/incubator/airsonic/1.2.5/app-readme.md @@ -0,0 +1 @@ +Airsonic is a Free and Open Source community driven media server diff --git a/incubator/airsonic/1.2.5/charts/common-6.4.3.tgz b/incubator/airsonic/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/airsonic/1.2.5/ix_values.yaml b/incubator/airsonic/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..8771a6489cf --- /dev/null +++ b/incubator/airsonic/1.2.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.2.5/questions.yaml b/incubator/airsonic/1.2.5/questions.yaml new file mode 100644 index 00000000000..e93ce1284e3 --- /dev/null +++ b/incubator/airsonic/1.2.5/questions.yaml @@ -0,0 +1,643 @@ +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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/airsonic/1.2.5/templates/common.yaml b/incubator/airsonic/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/airsonic/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/airsonic/1.2.5/test_values.yaml b/incubator/airsonic/1.2.5/test_values.yaml new file mode 100644 index 00000000000..a704a092be3 --- /dev/null +++ b/incubator/airsonic/1.2.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.2.5/values.yaml b/incubator/airsonic/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/appdaemon/3.2.6/CONFIG.md b/incubator/appdaemon/3.2.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/appdaemon/3.2.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/appdaemon/3.2.6/Chart.lock b/incubator/appdaemon/3.2.6/Chart.lock new file mode 100644 index 00000000000..7bc27885087 --- /dev/null +++ b/incubator/appdaemon/3.2.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:20.016044689Z" diff --git a/incubator/appdaemon/3.2.6/Chart.yaml b/incubator/appdaemon/3.2.6/Chart.yaml new file mode 100644 index 00000000000..ddf4c9ddb1c --- /dev/null +++ b/incubator/appdaemon/3.2.6/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.6 diff --git a/incubator/appdaemon/3.2.6/README.md b/incubator/appdaemon/3.2.6/README.md new file mode 100644 index 00000000000..2da7ab26bbb --- /dev/null +++ b/incubator/appdaemon/3.2.6/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.2.6/app-readme.md b/incubator/appdaemon/3.2.6/app-readme.md new file mode 100644 index 00000000000..083a4a25f67 --- /dev/null +++ b/incubator/appdaemon/3.2.6/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.2.6/charts/common-6.4.3.tgz b/incubator/appdaemon/3.2.6/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/appdaemon/3.2.6/ix_values.yaml b/incubator/appdaemon/3.2.6/ix_values.yaml new file mode 100644 index 00000000000..ef02d27c01d --- /dev/null +++ b/incubator/appdaemon/3.2.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: 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.2.6/questions.yaml b/incubator/appdaemon/3.2.6/questions.yaml new file mode 100644 index 00000000000..854eaa669f4 --- /dev/null +++ b/incubator/appdaemon/3.2.6/questions.yaml @@ -0,0 +1,602 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HA_URL + label: "HA URL" + description: "Your HomeAssistant URL" + schema: + type: string + default: "" + required: true + - variable: TOKEN + label: "HA Token" + description: "Your HomeAssistant Token" + schema: + type: string + default: "" + required: true + - variable: DASH_URL + label: "Dashboard URL" + description: "URL of your appdaemon dashboard" + schema: + type: string + default: "http://$HOSTNAME:5050" + required: true + - variable: LATITUDE + label: "Latitude" + description: "Latitude of your home assistant instance" + schema: + type: string + default: "" + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: string + default: "" + required: true + - variable: ELEVATION + label: "Elevation" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5050 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51050 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: conf + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/conf" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/appdaemon/3.2.6/templates/common.yaml b/incubator/appdaemon/3.2.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/appdaemon/3.2.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/appdaemon/3.2.6/test_values.yaml b/incubator/appdaemon/3.2.6/test_values.yaml new file mode 100644 index 00000000000..c17735094cc --- /dev/null +++ b/incubator/appdaemon/3.2.6/test_values.yaml @@ -0,0 +1,41 @@ +image: + repository: ghcr.io/k8s-at-home/appdaemon + pullPolicy: IfNotPresent + tag: "v4.0.8" + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +env: + TZ: "America/Chicago" + LATITUDE: 46 + LONGITUDE: -94 + ELEVATION: 1217 + DASH_URL: "http://$HOSTNAME:5050" + +service: + main: + ports: + main: + port: 5050 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51050 + protocol: TCP + +hostPathMounts: + - name: config + enabled: true + mountPath: /conf + type: emptyDir diff --git a/incubator/appdaemon/3.2.6/values.yaml b/incubator/appdaemon/3.2.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bazarr/6.2.5/CONFIG.md b/incubator/bazarr/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/bazarr/6.2.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.2.5/Chart.lock b/incubator/bazarr/6.2.5/Chart.lock new file mode 100644 index 00000000000..47309392dc4 --- /dev/null +++ b/incubator/bazarr/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:21.334431568Z" diff --git a/incubator/bazarr/6.2.5/Chart.yaml b/incubator/bazarr/6.2.5/Chart.yaml new file mode 100644 index 00000000000..5f843b3a1e4 --- /dev/null +++ b/incubator/bazarr/6.2.5/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/bazarr/6.2.5/README.md b/incubator/bazarr/6.2.5/README.md new file mode 100644 index 00000000000..53d43687885 --- /dev/null +++ b/incubator/bazarr/6.2.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.2.5/app-readme.md b/incubator/bazarr/6.2.5/app-readme.md new file mode 100644 index 00000000000..d983e4cb852 --- /dev/null +++ b/incubator/bazarr/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/bazarr/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/bazarr/6.2.5/ix_values.yaml b/incubator/bazarr/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..a24f5dba0c4 --- /dev/null +++ b/incubator/bazarr/6.2.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.2.5/questions.yaml b/incubator/bazarr/6.2.5/questions.yaml new file mode 100644 index 00000000000..4a9bbdc201c --- /dev/null +++ b/incubator/bazarr/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6767 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36025 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/bazarr/6.2.5/templates/common.yaml b/incubator/bazarr/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bazarr/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bazarr/6.2.5/test_values.yaml b/incubator/bazarr/6.2.5/test_values.yaml new file mode 100644 index 00000000000..4b2e3faafc5 --- /dev/null +++ b/incubator/bazarr/6.2.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.2.5/values.yaml b/incubator/bazarr/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre-web/6.2.5/CONFIG.md b/incubator/calibre-web/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/calibre-web/6.2.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.2.5/Chart.lock b/incubator/calibre-web/6.2.5/Chart.lock new file mode 100644 index 00000000000..3861b7f86f0 --- /dev/null +++ b/incubator/calibre-web/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:22.668564137Z" diff --git a/incubator/calibre-web/6.2.5/Chart.yaml b/incubator/calibre-web/6.2.5/Chart.yaml new file mode 100644 index 00000000000..4ddbae3d8c6 --- /dev/null +++ b/incubator/calibre-web/6.2.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/calibre-web/6.2.5/README.md b/incubator/calibre-web/6.2.5/README.md new file mode 100644 index 00000000000..49f2aeb758d --- /dev/null +++ b/incubator/calibre-web/6.2.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.2.5/app-readme.md b/incubator/calibre-web/6.2.5/app-readme.md new file mode 100644 index 00000000000..e5b39d2720c --- /dev/null +++ b/incubator/calibre-web/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/calibre-web/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/calibre-web/6.2.5/ix_values.yaml b/incubator/calibre-web/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/incubator/calibre-web/6.2.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.2.5/questions.yaml b/incubator/calibre-web/6.2.5/questions.yaml new file mode 100644 index 00000000000..dfb23541541 --- /dev/null +++ b/incubator/calibre-web/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8083 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36015 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/calibre-web/6.2.5/templates/common.yaml b/incubator/calibre-web/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/calibre-web/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/calibre-web/6.2.5/test_values.yaml b/incubator/calibre-web/6.2.5/test_values.yaml new file mode 100644 index 00000000000..240957f08b5 --- /dev/null +++ b/incubator/calibre-web/6.2.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.2.5/values.yaml b/incubator/calibre-web/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deluge/6.2.5/CONFIG.md b/incubator/deluge/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/deluge/6.2.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.2.5/Chart.lock b/incubator/deluge/6.2.5/Chart.lock new file mode 100644 index 00000000000..f4fcc6b9c2e --- /dev/null +++ b/incubator/deluge/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:23.976088246Z" diff --git a/incubator/deluge/6.2.5/Chart.yaml b/incubator/deluge/6.2.5/Chart.yaml new file mode 100644 index 00000000000..d3db9adf285 --- /dev/null +++ b/incubator/deluge/6.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/deluge/6.2.5/README.md b/incubator/deluge/6.2.5/README.md new file mode 100644 index 00000000000..9828773a773 --- /dev/null +++ b/incubator/deluge/6.2.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.2.5/app-readme.md b/incubator/deluge/6.2.5/app-readme.md new file mode 100644 index 00000000000..0bce0f81e82 --- /dev/null +++ b/incubator/deluge/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/deluge/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/deluge/6.2.5/ix_values.yaml b/incubator/deluge/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/incubator/deluge/6.2.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.2.5/questions.yaml b/incubator/deluge/6.2.5/questions.yaml new file mode 100644 index 00000000000..ad4621fccc7 --- /dev/null +++ b/incubator/deluge/6.2.5/questions.yaml @@ -0,0 +1,745 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + ## Portal Button + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + ## Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Australia/Hobart" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + ## Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + ## Enable Host Network + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8112 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36026 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/deluge/6.2.5/templates/common.yaml b/incubator/deluge/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deluge/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deluge/6.2.5/test_values.yaml b/incubator/deluge/6.2.5/test_values.yaml new file mode 100644 index 00000000000..3c8f28d1d26 --- /dev/null +++ b/incubator/deluge/6.2.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.2.5/values.yaml b/incubator/deluge/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/fireflyiii/4.3.6/CONFIG.md b/incubator/fireflyiii/4.3.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/fireflyiii/4.3.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/fireflyiii/4.3.6/Chart.lock b/incubator/fireflyiii/4.3.6/Chart.lock new file mode 100644 index 00000000000..25c10e47ed1 --- /dev/null +++ b/incubator/fireflyiii/4.3.6/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +digest: sha256:465e7b131ee731b148c277a3ef6895af062a39143161e9035a7f8b0841b06e85 +generated: "2021-06-30T20:01:28.102927364Z" diff --git a/incubator/fireflyiii/4.3.6/Chart.yaml b/incubator/fireflyiii/4.3.6/Chart.yaml new file mode 100644 index 00000000000..f315ee3a3df --- /dev/null +++ b/incubator/fireflyiii/4.3.6/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +deprecated: false +description: A free and open source personal finance manager +home: https://github.com/firefly-iii/firefly-iii/ +icon: https://www.firefly-iii.org/assets/logo/color.png +keywords: +- fireflyiii +- finacial +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: fireflyiii +sources: +- https://github.com/firefly-iii/firefly-iii/ +type: application +version: 4.3.6 diff --git a/incubator/fireflyiii/4.3.6/README.md b/incubator/fireflyiii/4.3.6/README.md new file mode 100644 index 00000000000..54d181719c1 --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/app-readme.md b/incubator/fireflyiii/4.3.6/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/charts/common-6.4.3.tgz b/incubator/fireflyiii/4.3.6/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.3.6/charts/postgresql-10.5.1.tgz b/incubator/fireflyiii/4.3.6/charts/postgresql-10.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e316da60000105810013f859649f9589c513e0b GIT binary patch literal 49272 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 K{tKW0#svULPLH<$ literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.3.6/ix_values.yaml b/incubator/fireflyiii/4.3.6/ix_values.yaml new file mode 100644 index 00000000000..a8ea761002b --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/questions.yaml b/incubator/fireflyiii/4.3.6/questions.yaml new file mode 100644 index 00000000000..d97fd8dab1b --- /dev/null +++ b/incubator/fireflyiii/4.3.6/questions.yaml @@ -0,0 +1,865 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + min_length: 32 + max_length: 32 + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36048 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/fireflyiii/4.3.6/templates/common.yaml b/incubator/fireflyiii/4.3.6/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/templates/secrets.yaml b/incubator/fireflyiii/4.3.6/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/test_values.yaml b/incubator/fireflyiii/4.3.6/test_values.yaml new file mode 100644 index 00000000000..d05a4af4796 --- /dev/null +++ b/incubator/fireflyiii/4.3.6/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.3.6/values.yaml b/incubator/fireflyiii/4.3.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/freshrss/6.2.5/CONFIG.md b/incubator/freshrss/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/freshrss/6.2.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.2.5/Chart.lock b/incubator/freshrss/6.2.5/Chart.lock new file mode 100644 index 00000000000..0485e2acd28 --- /dev/null +++ b/incubator/freshrss/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:32.858245766Z" diff --git a/incubator/freshrss/6.2.5/Chart.yaml b/incubator/freshrss/6.2.5/Chart.yaml new file mode 100644 index 00000000000..7ab11c2d9d3 --- /dev/null +++ b/incubator/freshrss/6.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/freshrss/6.2.5/README.md b/incubator/freshrss/6.2.5/README.md new file mode 100644 index 00000000000..f74143bfe11 --- /dev/null +++ b/incubator/freshrss/6.2.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.2.5/app-readme.md b/incubator/freshrss/6.2.5/app-readme.md new file mode 100644 index 00000000000..7d8a844b9cc --- /dev/null +++ b/incubator/freshrss/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/freshrss/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/freshrss/6.2.5/ix_values.yaml b/incubator/freshrss/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..98641a23823 --- /dev/null +++ b/incubator/freshrss/6.2.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.2.5/questions.yaml b/incubator/freshrss/6.2.5/questions.yaml new file mode 100644 index 00000000000..0cef3a1ed1e --- /dev/null +++ b/incubator/freshrss/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36029 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/freshrss/6.2.5/templates/common.yaml b/incubator/freshrss/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/freshrss/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/freshrss/6.2.5/test_values.yaml b/incubator/freshrss/6.2.5/test_values.yaml new file mode 100644 index 00000000000..8cadee1dd69 --- /dev/null +++ b/incubator/freshrss/6.2.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.2.5/values.yaml b/incubator/freshrss/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gaps/6.2.5/CONFIG.md b/incubator/gaps/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/gaps/6.2.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.2.5/Chart.lock b/incubator/gaps/6.2.5/Chart.lock new file mode 100644 index 00000000000..cfb9b64db71 --- /dev/null +++ b/incubator/gaps/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:34.150330936Z" diff --git a/incubator/gaps/6.2.5/Chart.yaml b/incubator/gaps/6.2.5/Chart.yaml new file mode 100644 index 00000000000..22f7f6570ec --- /dev/null +++ b/incubator/gaps/6.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/gaps/6.2.5/README.md b/incubator/gaps/6.2.5/README.md new file mode 100644 index 00000000000..b38d707d483 --- /dev/null +++ b/incubator/gaps/6.2.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.2.5/app-readme.md b/incubator/gaps/6.2.5/app-readme.md new file mode 100644 index 00000000000..2333306b1d5 --- /dev/null +++ b/incubator/gaps/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/gaps/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/gaps/6.2.5/ix_values.yaml b/incubator/gaps/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/incubator/gaps/6.2.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.2.5/questions.yaml b/incubator/gaps/6.2.5/questions.yaml new file mode 100644 index 00000000000..c1072caa7df --- /dev/null +++ b/incubator/gaps/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8484 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36030 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/gaps/6.2.5/templates/common.yaml b/incubator/gaps/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gaps/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gaps/6.2.5/test_values.yaml b/incubator/gaps/6.2.5/test_values.yaml new file mode 100644 index 00000000000..c7555ac8822 --- /dev/null +++ b/incubator/gaps/6.2.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.2.5/values.yaml b/incubator/gaps/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/grocy/6.2.5/CONFIG.md b/incubator/grocy/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/grocy/6.2.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.2.5/Chart.lock b/incubator/grocy/6.2.5/Chart.lock new file mode 100644 index 00000000000..74702b09272 --- /dev/null +++ b/incubator/grocy/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:35.485255791Z" diff --git a/incubator/grocy/6.2.5/Chart.yaml b/incubator/grocy/6.2.5/Chart.yaml new file mode 100644 index 00000000000..be8399c3598 --- /dev/null +++ b/incubator/grocy/6.2.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/grocy/6.2.5/README.md b/incubator/grocy/6.2.5/README.md new file mode 100644 index 00000000000..6ac696bfe77 --- /dev/null +++ b/incubator/grocy/6.2.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.2.5/app-readme.md b/incubator/grocy/6.2.5/app-readme.md new file mode 100644 index 00000000000..de807b7ad25 --- /dev/null +++ b/incubator/grocy/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/grocy/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/grocy/6.2.5/ix_values.yaml b/incubator/grocy/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..f646426e755 --- /dev/null +++ b/incubator/grocy/6.2.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.2.5/questions.yaml b/incubator/grocy/6.2.5/questions.yaml new file mode 100644 index 00000000000..c8afc95107e --- /dev/null +++ b/incubator/grocy/6.2.5/questions.yaml @@ -0,0 +1,627 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36031 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/grocy/6.2.5/templates/common.yaml b/incubator/grocy/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/grocy/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/grocy/6.2.5/test_values.yaml b/incubator/grocy/6.2.5/test_values.yaml new file mode 100644 index 00000000000..66f3d07f06c --- /dev/null +++ b/incubator/grocy/6.2.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.2.5/values.yaml b/incubator/grocy/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/haste-server/1.2.5/CONFIG.md b/incubator/haste-server/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/haste-server/1.2.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.2.5/Chart.lock b/incubator/haste-server/1.2.5/Chart.lock new file mode 100644 index 00000000000..c0da8cbae76 --- /dev/null +++ b/incubator/haste-server/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:36.798075374Z" diff --git a/incubator/haste-server/1.2.5/Chart.yaml b/incubator/haste-server/1.2.5/Chart.yaml new file mode 100644 index 00000000000..fb6bd6cfa47 --- /dev/null +++ b/incubator/haste-server/1.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/haste-server/1.2.5/README.md b/incubator/haste-server/1.2.5/README.md new file mode 100644 index 00000000000..639245c20fa --- /dev/null +++ b/incubator/haste-server/1.2.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.2.5/app-readme.md b/incubator/haste-server/1.2.5/app-readme.md new file mode 100644 index 00000000000..dd4cf171e08 --- /dev/null +++ b/incubator/haste-server/1.2.5/app-readme.md @@ -0,0 +1 @@ +Simple text sharing diff --git a/incubator/haste-server/1.2.5/charts/common-6.4.3.tgz b/incubator/haste-server/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/haste-server/1.2.5/ix_values.yaml b/incubator/haste-server/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..a9ee0bcb65b --- /dev/null +++ b/incubator/haste-server/1.2.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.2.5/questions.yaml b/incubator/haste-server/1.2.5/questions.yaml new file mode 100644 index 00000000000..70f47defa2d --- /dev/null +++ b/incubator/haste-server/1.2.5/questions.yaml @@ -0,0 +1,673 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: STORAGE_FILEPATH + label: "STORAGE_FILEPATH" + schema: + type: string + default: "/config" + - variable: STORAGE_TYPE + label: "STORAGE_TYPE" + schema: + type: string + default: "file" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7777 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36055 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/haste-server/1.2.5/templates/common.yaml b/incubator/haste-server/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/haste-server/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/haste-server/1.2.5/test_values.yaml b/incubator/haste-server/1.2.5/test_values.yaml new file mode 100644 index 00000000000..2a475ddaa2a --- /dev/null +++ b/incubator/haste-server/1.2.5/test_values.yaml @@ -0,0 +1,50 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. See [image docs](https://github.com/seejohnrun/haste-server) for more details. +# @default -- See below +env: + # -- filepath for persistance + STORAGE_FILEPATH: "/config" + # -- sets backend + STORAGE_TYPE: "file" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 7777 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/haste-server/1.2.5/values.yaml b/incubator/haste-server/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/heimdall/6.2.5/CONFIG.md b/incubator/heimdall/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/heimdall/6.2.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.2.5/Chart.lock b/incubator/heimdall/6.2.5/Chart.lock new file mode 100644 index 00000000000..4f7ceb92c94 --- /dev/null +++ b/incubator/heimdall/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:38.111694591Z" diff --git a/incubator/heimdall/6.2.5/Chart.yaml b/incubator/heimdall/6.2.5/Chart.yaml new file mode 100644 index 00000000000..01e9fa199d3 --- /dev/null +++ b/incubator/heimdall/6.2.5/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/heimdall/6.2.5/README.md b/incubator/heimdall/6.2.5/README.md new file mode 100644 index 00000000000..09eddbba410 --- /dev/null +++ b/incubator/heimdall/6.2.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.2.5/app-readme.md b/incubator/heimdall/6.2.5/app-readme.md new file mode 100644 index 00000000000..3fb24ea7f1b --- /dev/null +++ b/incubator/heimdall/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/heimdall/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/heimdall/6.2.5/ix_values.yaml b/incubator/heimdall/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/incubator/heimdall/6.2.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.2.5/questions.yaml b/incubator/heimdall/6.2.5/questions.yaml new file mode 100644 index 00000000000..0c26567b9e2 --- /dev/null +++ b/incubator/heimdall/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/heimdall/6.2.5/templates/common.yaml b/incubator/heimdall/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/heimdall/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/heimdall/6.2.5/test_values.yaml b/incubator/heimdall/6.2.5/test_values.yaml new file mode 100644 index 00000000000..658614359ea --- /dev/null +++ b/incubator/heimdall/6.2.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.2.5/values.yaml b/incubator/heimdall/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lazylibrarian/6.2.5/CONFIG.md b/incubator/lazylibrarian/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lazylibrarian/6.2.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.2.5/Chart.lock b/incubator/lazylibrarian/6.2.5/Chart.lock new file mode 100644 index 00000000000..74b060e73fa --- /dev/null +++ b/incubator/lazylibrarian/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:39.422860494Z" diff --git a/incubator/lazylibrarian/6.2.5/Chart.yaml b/incubator/lazylibrarian/6.2.5/Chart.yaml new file mode 100644 index 00000000000..9416f012b66 --- /dev/null +++ b/incubator/lazylibrarian/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/lazylibrarian/6.2.5/README.md b/incubator/lazylibrarian/6.2.5/README.md new file mode 100644 index 00000000000..364a16a27da --- /dev/null +++ b/incubator/lazylibrarian/6.2.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.2.5/app-readme.md b/incubator/lazylibrarian/6.2.5/app-readme.md new file mode 100644 index 00000000000..c67c1844868 --- /dev/null +++ b/incubator/lazylibrarian/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/lazylibrarian/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/lazylibrarian/6.2.5/ix_values.yaml b/incubator/lazylibrarian/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/incubator/lazylibrarian/6.2.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.2.5/questions.yaml b/incubator/lazylibrarian/6.2.5/questions.yaml new file mode 100644 index 00000000000..7e5108de662 --- /dev/null +++ b/incubator/lazylibrarian/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5299 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lazylibrarian/6.2.5/templates/common.yaml b/incubator/lazylibrarian/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lazylibrarian/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lazylibrarian/6.2.5/test_values.yaml b/incubator/lazylibrarian/6.2.5/test_values.yaml new file mode 100644 index 00000000000..6bba6ace4dc --- /dev/null +++ b/incubator/lazylibrarian/6.2.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.2.5/values.yaml b/incubator/lazylibrarian/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lychee/6.2.5/CONFIG.md b/incubator/lychee/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lychee/6.2.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.2.5/Chart.lock b/incubator/lychee/6.2.5/Chart.lock new file mode 100644 index 00000000000..475960aa0f6 --- /dev/null +++ b/incubator/lychee/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:40.689902967Z" diff --git a/incubator/lychee/6.2.5/Chart.yaml b/incubator/lychee/6.2.5/Chart.yaml new file mode 100644 index 00000000000..7a83be6fb57 --- /dev/null +++ b/incubator/lychee/6.2.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/lychee/6.2.5/README.md b/incubator/lychee/6.2.5/README.md new file mode 100644 index 00000000000..aa434e835bb --- /dev/null +++ b/incubator/lychee/6.2.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.2.5/app-readme.md b/incubator/lychee/6.2.5/app-readme.md new file mode 100644 index 00000000000..792e9d50ab7 --- /dev/null +++ b/incubator/lychee/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/lychee/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/lychee/6.2.5/ix_values.yaml b/incubator/lychee/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..63bb15faef3 --- /dev/null +++ b/incubator/lychee/6.2.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.2.5/questions.yaml b/incubator/lychee/6.2.5/questions.yaml new file mode 100644 index 00000000000..274586a8b7c --- /dev/null +++ b/incubator/lychee/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36034 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lychee/6.2.5/templates/common.yaml b/incubator/lychee/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lychee/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lychee/6.2.5/test_values.yaml b/incubator/lychee/6.2.5/test_values.yaml new file mode 100644 index 00000000000..fefa59b25b6 --- /dev/null +++ b/incubator/lychee/6.2.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.2.5/values.yaml b/incubator/lychee/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mealie/1.2.5/CONFIG.md b/incubator/mealie/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mealie/1.2.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.2.5/Chart.lock b/incubator/mealie/1.2.5/Chart.lock new file mode 100644 index 00000000000..9b16e566f42 --- /dev/null +++ b/incubator/mealie/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:41.974565629Z" diff --git a/incubator/mealie/1.2.5/Chart.yaml b/incubator/mealie/1.2.5/Chart.yaml new file mode 100644 index 00000000000..225dea8fc6c --- /dev/null +++ b/incubator/mealie/1.2.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/mealie/1.2.5/README.md b/incubator/mealie/1.2.5/README.md new file mode 100644 index 00000000000..e7c5ffbf7a7 --- /dev/null +++ b/incubator/mealie/1.2.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.2.5/app-readme.md b/incubator/mealie/1.2.5/app-readme.md new file mode 100644 index 00000000000..53470db1cd0 --- /dev/null +++ b/incubator/mealie/1.2.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.2.5/charts/common-6.4.3.tgz b/incubator/mealie/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/mealie/1.2.5/ix_values.yaml b/incubator/mealie/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..3ddd4a6efb3 --- /dev/null +++ b/incubator/mealie/1.2.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.5.1 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mealie/1.2.5/questions.yaml b/incubator/mealie/1.2.5/questions.yaml new file mode 100644 index 00000000000..21ba4cdc883 --- /dev/null +++ b/incubator/mealie/1.2.5/questions.yaml @@ -0,0 +1,635 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: DB_TYPE + label: "DB_TYPE" + schema: + type: string + default: "sqlite" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mealie/1.2.5/templates/common.yaml b/incubator/mealie/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/mealie/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/mealie/1.2.5/test_values.yaml b/incubator/mealie/1.2.5/test_values.yaml new file mode 100644 index 00000000000..2023db28b3f --- /dev/null +++ b/incubator/mealie/1.2.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.5.1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hay-kot.github.io/mealie/getting-started/install/#env-variables) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application database type + DB_TYPE: sqlite + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data/ diff --git a/incubator/mealie/1.2.5/values.yaml b/incubator/mealie/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mosquitto/1.2.5/CONFIG.md b/incubator/mosquitto/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mosquitto/1.2.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/mosquitto/1.2.5/Chart.lock b/incubator/mosquitto/1.2.5/Chart.lock new file mode 100644 index 00000000000..437648d99bf --- /dev/null +++ b/incubator/mosquitto/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:43.300792553Z" diff --git a/incubator/mosquitto/1.2.5/Chart.yaml b/incubator/mosquitto/1.2.5/Chart.yaml new file mode 100644 index 00000000000..ba923f622ec --- /dev/null +++ b/incubator/mosquitto/1.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/mosquitto/1.2.5/README.md b/incubator/mosquitto/1.2.5/README.md new file mode 100644 index 00000000000..9d71dbea3f9 --- /dev/null +++ b/incubator/mosquitto/1.2.5/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.2.5/app-readme.md b/incubator/mosquitto/1.2.5/app-readme.md new file mode 100644 index 00000000000..93652bac7a6 --- /dev/null +++ b/incubator/mosquitto/1.2.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 +Eclipse Mosquitto - An open source MQTT broker diff --git a/incubator/mosquitto/1.2.5/charts/common-6.4.3.tgz b/incubator/mosquitto/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/mosquitto/1.2.5/ix_values.yaml b/incubator/mosquitto/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..b638fcf296e --- /dev/null +++ b/incubator/mosquitto/1.2.5/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.2.5/questions.yaml b/incubator/mosquitto/1.2.5/questions.yaml new file mode 100644 index 00000000000..f7e4f8e1c30 --- /dev/null +++ b/incubator/mosquitto/1.2.5/questions.yaml @@ -0,0 +1,789 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: auth + group: "App Configuration" + label: "Authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + description: "By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config." + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1883 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1883 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mosquitto/1.2.5/templates/common.yaml b/incubator/mosquitto/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..15d4d961a1c --- /dev/null +++ b/incubator/mosquitto/1.2.5/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.2.5/templates/configmap.yaml b/incubator/mosquitto/1.2.5/templates/configmap.yaml new file mode 100644 index 00000000000..489d68b0ea5 --- /dev/null +++ b/incubator/mosquitto/1.2.5/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.2.5/test_values.yaml b/incubator/mosquitto/1.2.5/test_values.yaml new file mode 100644 index 00000000000..cda69f06c35 --- /dev/null +++ b/incubator/mosquitto/1.2.5/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.2.5/values.yaml b/incubator/mosquitto/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/navidrome/6.2.5/CONFIG.md b/incubator/navidrome/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/navidrome/6.2.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.2.5/Chart.lock b/incubator/navidrome/6.2.5/Chart.lock new file mode 100644 index 00000000000..14b36b9dcc2 --- /dev/null +++ b/incubator/navidrome/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:44.576598318Z" diff --git a/incubator/navidrome/6.2.5/Chart.yaml b/incubator/navidrome/6.2.5/Chart.yaml new file mode 100644 index 00000000000..0cba448f7e4 --- /dev/null +++ b/incubator/navidrome/6.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/navidrome/6.2.5/README.md b/incubator/navidrome/6.2.5/README.md new file mode 100644 index 00000000000..55b2cc48984 --- /dev/null +++ b/incubator/navidrome/6.2.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.2.5/app-readme.md b/incubator/navidrome/6.2.5/app-readme.md new file mode 100644 index 00000000000..4f10b994279 --- /dev/null +++ b/incubator/navidrome/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/navidrome/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/navidrome/6.2.5/ix_values.yaml b/incubator/navidrome/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..46ab6231661 --- /dev/null +++ b/incubator/navidrome/6.2.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.44.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/navidrome/6.2.5/questions.yaml b/incubator/navidrome/6.2.5/questions.yaml new file mode 100644 index 00000000000..35020edf67b --- /dev/null +++ b/incubator/navidrome/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4533 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/navidrome/6.2.5/templates/common.yaml b/incubator/navidrome/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/navidrome/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/navidrome/6.2.5/test_values.yaml b/incubator/navidrome/6.2.5/test_values.yaml new file mode 100644 index 00000000000..08f4e094838 --- /dev/null +++ b/incubator/navidrome/6.2.5/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.44.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 4533 + +env: + ND_SCANINTERVAL: "15m" + ND_LOGLEVEL: "info" + ND_SESSIONTIMEOUT: "24h" + ND_ENABLETRANSCODINGCONFIG: "true" + ND_MUSICFOLDER: "/music" + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/navidrome/6.2.5/values.yaml b/incubator/navidrome/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/node-red/6.2.5/CONFIG.md b/incubator/node-red/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/node-red/6.2.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.2.5/Chart.lock b/incubator/node-red/6.2.5/Chart.lock new file mode 100644 index 00000000000..883f09fa4fa --- /dev/null +++ b/incubator/node-red/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:45.866308806Z" diff --git a/incubator/node-red/6.2.5/Chart.yaml b/incubator/node-red/6.2.5/Chart.yaml new file mode 100644 index 00000000000..63b97e69454 --- /dev/null +++ b/incubator/node-red/6.2.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/node-red/6.2.5/README.md b/incubator/node-red/6.2.5/README.md new file mode 100644 index 00000000000..7e2fe870bae --- /dev/null +++ b/incubator/node-red/6.2.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.2.5/app-readme.md b/incubator/node-red/6.2.5/app-readme.md new file mode 100644 index 00000000000..6ecbe710e71 --- /dev/null +++ b/incubator/node-red/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/node-red/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/node-red/6.2.5/ix_values.yaml b/incubator/node-red/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..1a08797f274 --- /dev/null +++ b/incubator/node-red/6.2.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.2.5/questions.yaml b/incubator/node-red/6.2.5/questions.yaml new file mode 100644 index 00000000000..96dd2dc18c3 --- /dev/null +++ b/incubator/node-red/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1880 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36028 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/node-red/6.2.5/templates/common.yaml b/incubator/node-red/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/node-red/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/node-red/6.2.5/test_values.yaml b/incubator/node-red/6.2.5/test_values.yaml new file mode 100644 index 00000000000..a6ddda7114e --- /dev/null +++ b/incubator/node-red/6.2.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.2.5/values.yaml b/incubator/node-red/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nzbget/6.2.5/CONFIG.md b/incubator/nzbget/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/nzbget/6.2.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.2.5/Chart.lock b/incubator/nzbget/6.2.5/Chart.lock new file mode 100644 index 00000000000..295d767e09b --- /dev/null +++ b/incubator/nzbget/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:47.175757986Z" diff --git a/incubator/nzbget/6.2.5/Chart.yaml b/incubator/nzbget/6.2.5/Chart.yaml new file mode 100644 index 00000000000..7ac495ff619 --- /dev/null +++ b/incubator/nzbget/6.2.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/nzbget/6.2.5/README.md b/incubator/nzbget/6.2.5/README.md new file mode 100644 index 00000000000..702d0038550 --- /dev/null +++ b/incubator/nzbget/6.2.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.2.5/app-readme.md b/incubator/nzbget/6.2.5/app-readme.md new file mode 100644 index 00000000000..bde861cf216 --- /dev/null +++ b/incubator/nzbget/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/nzbget/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/nzbget/6.2.5/ix_values.yaml b/incubator/nzbget/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..ef8e5a4f233 --- /dev/null +++ b/incubator/nzbget/6.2.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.2.5/questions.yaml b/incubator/nzbget/6.2.5/questions.yaml new file mode 100644 index 00000000000..2f3f2355874 --- /dev/null +++ b/incubator/nzbget/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6789 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36021 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/nzbget/6.2.5/templates/common.yaml b/incubator/nzbget/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nzbget/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nzbget/6.2.5/test_values.yaml b/incubator/nzbget/6.2.5/test_values.yaml new file mode 100644 index 00000000000..355d869f8c7 --- /dev/null +++ b/incubator/nzbget/6.2.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.2.5/values.yaml b/incubator/nzbget/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/organizr/6.2.6/CONFIG.md b/incubator/organizr/6.2.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/organizr/6.2.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/organizr/6.2.6/Chart.lock b/incubator/organizr/6.2.6/Chart.lock new file mode 100644 index 00000000000..8b8b3b283af --- /dev/null +++ b/incubator/organizr/6.2.6/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:48.47871418Z" diff --git a/incubator/organizr/6.2.6/Chart.yaml b/incubator/organizr/6.2.6/Chart.yaml new file mode 100644 index 00000000000..6598bfaea56 --- /dev/null +++ b/incubator/organizr/6.2.6/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.6 diff --git a/incubator/organizr/6.2.6/README.md b/incubator/organizr/6.2.6/README.md new file mode 100644 index 00000000000..c2cae416d20 --- /dev/null +++ b/incubator/organizr/6.2.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: 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.2.6/app-readme.md b/incubator/organizr/6.2.6/app-readme.md new file mode 100644 index 00000000000..0bfeec6a4ef --- /dev/null +++ b/incubator/organizr/6.2.6/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.2.6/charts/common-6.4.3.tgz b/incubator/organizr/6.2.6/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/organizr/6.2.6/ix_values.yaml b/incubator/organizr/6.2.6/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/incubator/organizr/6.2.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: 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.2.6/questions.yaml b/incubator/organizr/6.2.6/questions.yaml new file mode 100644 index 00000000000..a971f4d7e91 --- /dev/null +++ b/incubator/organizr/6.2.6/questions.yaml @@ -0,0 +1,738 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36046 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/organizr/6.2.6/templates/common.yaml b/incubator/organizr/6.2.6/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/organizr/6.2.6/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/organizr/6.2.6/test_values.yaml b/incubator/organizr/6.2.6/test_values.yaml new file mode 100644 index 00000000000..e61f52c2663 --- /dev/null +++ b/incubator/organizr/6.2.6/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.2.6/values.yaml b/incubator/organizr/6.2.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/podgrab/4.2.5/CONFIG.md b/incubator/podgrab/4.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/podgrab/4.2.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.2.5/Chart.lock b/incubator/podgrab/4.2.5/Chart.lock new file mode 100644 index 00000000000..6bba5cf8004 --- /dev/null +++ b/incubator/podgrab/4.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:49.798643422Z" diff --git a/incubator/podgrab/4.2.5/Chart.yaml b/incubator/podgrab/4.2.5/Chart.yaml new file mode 100644 index 00000000000..cf0626beb70 --- /dev/null +++ b/incubator/podgrab/4.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/podgrab/4.2.5/README.md b/incubator/podgrab/4.2.5/README.md new file mode 100644 index 00000000000..3e8138a6285 --- /dev/null +++ b/incubator/podgrab/4.2.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.2.5/app-readme.md b/incubator/podgrab/4.2.5/app-readme.md new file mode 100644 index 00000000000..6d69d3a84c9 --- /dev/null +++ b/incubator/podgrab/4.2.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.2.5/charts/common-6.4.3.tgz b/incubator/podgrab/4.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/podgrab/4.2.5/ix_values.yaml b/incubator/podgrab/4.2.5/ix_values.yaml new file mode 100644 index 00000000000..30b72ab29c1 --- /dev/null +++ b/incubator/podgrab/4.2.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.2.5/questions.yaml b/incubator/podgrab/4.2.5/questions.yaml new file mode 100644 index 00000000000..60e3096cb7f --- /dev/null +++ b/incubator/podgrab/4.2.5/questions.yaml @@ -0,0 +1,676 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PASSWORD + label: "Password" + description: "Desired Password" + schema: + type: string + default: "" + required: false + - variable: CHECK_FREQUENCY + label: "Update Frequency" + description: "Interval to check for new podcasts" + schema: + type: int + default: 240 + required: true + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36047 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/podgrab/4.2.5/templates/common.yaml b/incubator/podgrab/4.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/podgrab/4.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/podgrab/4.2.5/test_values.yaml b/incubator/podgrab/4.2.5/test_values.yaml new file mode 100644 index 00000000000..b0e9dc7d774 --- /dev/null +++ b/incubator/podgrab/4.2.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.2.5/values.yaml b/incubator/podgrab/4.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/prowlarr/1.2.5/CONFIG.md b/incubator/prowlarr/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/prowlarr/1.2.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/prowlarr/1.2.5/Chart.lock b/incubator/prowlarr/1.2.5/Chart.lock new file mode 100644 index 00000000000..a7c3145c09f --- /dev/null +++ b/incubator/prowlarr/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:51.085282196Z" diff --git a/incubator/prowlarr/1.2.5/Chart.yaml b/incubator/prowlarr/1.2.5/Chart.yaml new file mode 100644 index 00000000000..ab24640bf5a --- /dev/null +++ b/incubator/prowlarr/1.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/prowlarr/1.2.5/README.md b/incubator/prowlarr/1.2.5/README.md new file mode 100644 index 00000000000..4c3568ce709 --- /dev/null +++ b/incubator/prowlarr/1.2.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) + +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.2.5/app-readme.md b/incubator/prowlarr/1.2.5/app-readme.md new file mode 100644 index 00000000000..e2143326076 --- /dev/null +++ b/incubator/prowlarr/1.2.5/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.2.5/charts/common-6.4.3.tgz b/incubator/prowlarr/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 zcmV)bK&ihUiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9sySK5vyRp6Vm-UU!?cKez(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;dZz+=-2;Z{?B1jq4I$QK>PgPUfX#)x^hf;zI#L9peO>l~-^cVmI zpsqQf6T8Tg1QiMlO5sI<7^M1ZH~`{9%qNG9v@Qzh{0Q0iA7O%HkTE${0$5Ob@+7;N zp_HtF7@}F0mWY6?040G0O{%0sWB>r4Vs&AYQE5gX2brY|d0lX%!5Jw81EAL$gWFF! zzyw~PWD!`rf)3`mnq8oRc2tZ?T%Z`_Sxf~}f${`LupEPp7LHZV_AE^k=T zZ?gg%DPqbsFlXH4GJ`SmEs6>R2?8rIn!qX{s{p1kc$*~&PA}i(F(jfRD6CV_np5Ni z_CtDv5=2lFL=Bz;J7TP$U;w^Mvx1HlT+(lnema&49Rz)$HNWPug=q#qfGUM^h!Z;2 zSS{`MB4Em@xa0uXUshGEYpuFDEQp*ip#G(%$6MZ`6i9*Qn96=I#U;s#8<5}`Cal-_ zhwu6O*Yx!mYz+o@1~2Og%YM-zl9ia2D1IoHLIo6TSvuav7w#E7nCqmiw@15s!Ue*VP)0v4BLOJ(|*)f}|V*F1{{c@`g7 zb8_IBlA`$QdfM@l2XPD__&zJ}Z;*P&nYksukzt;PmvTAKo5~ z!R%(3!?L7WxM=Phh*N;lIWDr4iN-lBFdg4z2+jnP!;>{Nvr9)s+WHZ&7K#nh}Cd{%muKDo76hDUv zu5prp3&aZzVLZbrrQ3j|Z>cy&QwU(M(>Gjwm1PjP4aG7zGil zjH09LI=zNP3=U3S(aNU?DKm>&Lq&=RDnp!&;w&mh1eRCj2&ccIhzw&$;1K3auF%dI zX}vm>y*fl6@~lL|Jd20aTqB($ahgH;VGts@M=5 zRwc=1ATMxMU~&VZ1eScoiScBD3Ob|-l@V-kU)*r{5=~KDQJF969nxyY38KIrHJ z?NCg>G%MMfLWe!U>E%GakW2SZQvOF9pLK*k; z>QY-_QV1sC==fCfrCbx^sVbz@PveY~LS%s%ya5F&vt*7yS|(X`RpkJeC7qR73d(GT zz(3Vgqfo27WV9SIuv{hqpo>8I48;g#$dn{w(|rtr4Y|C$WTJE=lnX|lSg0s**~Bf2 z*?<ARMCXx zkXk)vZC&@(P{26GVq`~m##94w;yWp_3#6tB8v*=7kDRX)rq`f{{tY29?eyFf{HJ>UhD()wC}0=a{3TE-0p07-*p(Y>r)7Ks6N zz_k(6Z(-QsTrWJQpU$b=qB8Xwms9#yNNxJA0NHh_fS)MXe5I%@2LZdJ#xeKc(8iIQ z98ujoWeOt~>1vg!2{qdsoE@G7>^=8}oE@Ij2wqL7<#Tp+A~4{RD%7zu)!AI2-$(SH zQzdFvd6RQUrm~I;^(YY5FI5BNFQwU2zHmK3j^6BX;94j^y_$&SD?t&}ozEpF zSx>BSGC7WEmc*rmD7;zHuyDfmjU2!z=i>&jX^&xYgc5jjilQuy%Q4s#A9GY-Cerxp zjdk&!;2Fv)(kMTHIH?MBHZ4#|=^cZeLG3Y!A->a4SF_AL*45_+8SD!B(`a90w3}>O z@^E(p|H8)mDPIv59_?Z!agX&<2fE~uE?_^6^F_wF&a@?uau?`(jPb3GvHa{AIHQEk z5KK!zEi+gG2xjmDo>enS)Xq0s>-!r!>(pAMb=fGQM1m>@7u>mn37Zt9dqVAa=gscA zQ>&F-tN6}#Be}{rcm@t?g;JG_U`ka;7{}ZfMfF8CBxB6>k702GuFwrA@eC)hkQ(OK zR9*gBf(gC)nbx>jIcJ~EV)&?N~w6zj29h4T!VARQO-H;9pav0ZY&K9M9TI!>pEFM##Y%A zS}rd#l0{h(YTr()oWams=jU_@J744fKc#=19iE&s$I|(`qmy&JI$!PRC$aA3@Hz#M zE}r$)LK=fhMCzG`Q-TUQl-|94&AzgETKi_S)^mc#47$}MWyRMMlWo_qrdo;xcTgI$ zn6;Yww5JGY&KdS4G<)~F27OL@tQ7k?u~<2^Zcs7?r)o2q8SDCTiqn!H7=vu0;i09^ zbB2QTMo4>DY*0`R#bWBo?TwOmoi5JU3SQG*Q*Dn2$vh?{vlyMIF`$;U*BOle0TY-; zs9?QxEX(PFu+%wqUssv(ic!eSCrley&ooKt*tsy{^s+!@*=J?0i{5W(7I6Gavna5@ z(kyD2OS9SsY?WG~>V4N{0mdh_B$fwXn-z207U$QvBvcWc;W$pvH7rmmXC5gan&2z_ z%hijLK`L`d$1mSQg%!!@k{7`wxe<^L*b6h8eeP}jKB z4q{!Ce-!vm7|U>SQ}f`gsL=7jDL6emc>Pk*T94tC66I{yb=4q;(wJ2Qu-zx&mY+%N zD2<0zDb|V!{(#~)byc~v4(YtX>F@%UIMP_H&7VI6*EMk5S^EI$o0N>EB$OkY?Vyc8 zdWq8yo}wfvhcIH>=5#g%526rC4Oh^`cIf&{%4gs$2VUy?I4pYfZ>)e0Q0>hHti7@& z&nziE%}P>Ba9tX*FZCehq<^24gmQop1-?f~y+lB4E=4-=HYzc=+7Qv)m z$!wyiVO|qO0n|DQ{ZwnEHDxD|OheF*B%qA{k@1fE9#|+>Om!N%>}#RA;P3ljBiz^? zt~Vf^G27&Xg((^zHDj@XNeWoQNaT{bKx~IMLiJFfXe=mvle9NvrZ)A1tSPnD(tq~) z)E+J&_(w*jVh5WA3Q+ODM;7gYyvSHo2Q+(!_XkP1IN+$%{x~1L#;6&Rq|_+l;V~+H zh3S?MeE05E?RGI`dV~ssCsgf}{wUf%5lqk_Dv04eGl%~(InrE%*j9~lI#xwOFBTKnY?Sr8pJTQ#iA%N(o(L-ktsf#E2<$mZn9}tVPS>pEc!5 zqt;TYe*R^^G0;|MyK9TK^r48euy;{-Z|XV}RPNpVntt=Ery4zK`%lCiG-x&4#Vq=% z3|qa%yh0C^SI0yf-LCtdDqpWwP5ES8q0RX`S_5d7lba)4tg(qig)^mtyFoQ?PCnOF zo=H|jDnK)5LAWPB9s&_?NDKXhlZ1(7rqiT1Dl)tf$}Ly5D4b&z{ifjm#Pn~H@rlHp zx>-`qkkqEk4Rg8b>R}=0qyMDjyw4`@$rQck)&G9JCW?ws4O;T+;n!k%mpZ14ikRKO z-@l<0afFOG9(V+v0kP?!wW<}YX_aD44n z!YRoLc!|KF3Rx1S`2=4Y0GL%&A{GaEK0IFo@l6V6IHF4ij~u4V#HHj|?5M`X%NLo}(0$yj8qW&H7c!JPs%ZD;gQAY-n=O zX_X|@Iy4}$^^$ElF#jl71JN{7ri80C9H$P0>v=beP~YjqGt?)|K`9FzQWy;RO;!~{22!Kpov@3eEd5m;-D1|oxdGrj)B<-Q zD65Mh-@r*rIV_dZ64w(}x^w_0B`C6t>xgA_p{5S)%3)buF#Sd|tXK@tn@m4nB4rz~ zhUc5wCeMUk!4_*CraH@Fq^3#jAG#1*YNCsH-^Hl-s{p!?--g2&)f5gng{2H;8d54s z?zMrcX=Csf!T6^F6Z8XJKg}&J$OT|FQ8da{Q1b3}1|k)%ML=Nh@Os4%bT zDgF)dkN;rUf8;DX2NMJdoh+9ka$PWFjme@2rgD|6eaZMYJ_~0I91yJ$eNc}yadHGa zlOv96I3mnBn*dnr88Z=+f4|chEA;Wjs{2 zxEL`pnzt%6LUi_2XVktn<>9$RbMDeZW;aJV>Qg;VSXQKFFjdW{9FL|bx{{m1q_`1k zkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUifNCT?sLjzOq8aM3b*^`5MZ9(FPbUMHS>fR z->eSgUyhJ)!pI_7BKC>PCD6uTGCFFwqt$_iM04c4EBUH;kYHFMbqG%g0F;sf^S2{J zq7nBu4#5oOIhAp*PNbun7m}w+mU7Af#_>=PFeDk{H6qcF(J-Xbnf*D0obu7?Kx>DZ zhd3XDVB>F_;l}QZa3kDUU+1G;QOZwX3_&1Wj!`xX(F>VFcioFm049pNNV&Y z81ZAdrRR7+IFMD;iSB3MCj_dpf=O}%3KV6t8A@a3f6>AR>wr&Do$n51AVF|0_DxwJ z86E5q&Z?5bj;0yb9CKBPijW7O!KBOpPN}?Oo5oWr)JpEUD?w4ERA&2_}S{ zm45cDCT0zkRWzjpyum4^{Txc;IL?%PEZd@0t5V)x&dy1eB-u4iFFE*xPUAHI<6o}Ma!N%r`H<-PXJ=?Fw=T7zDd_?{abB#@HxwB*E|JmNyd&>Xu zD9`Qf=$nB!sY{BRJflla?J%T+LuLD6(?0~S2tOoLpfpAWGx{s~SHdj}Ig-Eyq?(pI zInP}%GSNdg_-6F!)8O`Y$isvX2spA3CP@H>pQ!kwUq|17H>kK2M{2SNCSn6Y25_aZ zPAdNvONIQKkp>E+!*WA2YY4!+C|v-CPBfbSDoh@rqnH5nZ&z6sJs#BQ1p-;iO`2XX1Rp_))0hhB z^%@!T+;$?Ac}%+S)#dJkPSfQB(2mh4+KSTvGl4h(D|vxaG6BJHMgSDaO>AOTzA9G( zAE~Q)r^(K4_I!hCrg)<=oaWF$wY!cOX1&Xc{bpL;S-~3hY+tw@<_`3bGhCKb=k<}`WitA}Lpooj1QipiR5(e{8}Yd%z58jd|7yN1O$+E+ z|2KEnt@VFrYj5Xi{eO&yt^Z8tS1~(OC?IAr(B=Zw#(*8jouV1~Wup3<(^oY%7jQ%Z*N%phYdF zA~ejq2J`QxY~0p`GqZUdQd~r(8H)qS*y(C7EGi|~Pd%c}qiSeHLTV2u8H}A|wh^fZ z_-SC~u{2c6v6rEYIs_*`WSRdr_iPmElu!V{oStTy;;rZSZq*SEJCSv`iMkpk6neh40*f48-CB`ZM4 z(wBlzOM|Ld;K;FR(xg?Y@z3CgcUn$W*7+@Zgb9&Tqr*C7=~cU-ST9U&KPjV6%IKd+ z8Exu+@=VF{_JF$dzs-$3TmM_%+j`Rf9^;|XTU7tpV8hm4SrGV)r0?%prHSk;>!5!}_aUfrr8yvEv+W#0DQcHg3 zFeo?$TKLs@$WYD6;cDGF*%?;r1VQ_jnCNVYIDaea>-B1wSLmj6G~pwd;G!fB;3j~fHrBq}O|n1m z)71a+dGyHfKU;hD{Xg5A8&CS*qdd(2r|W+w^=Ts!;mv}W+x0=eSC56oX!AZt#SsG-FDE zxl(e-`;PC9byQnMWGi`n-k7Fmr$@8v6X0Df<|Tg@ZKg$OwHXWSa`bQwtgfRFg;D|2 zDo`Z~q5Lq*Z&=+`eI3&ckbE9>8XdAPPJTS}j6l#_plNBPUaX*h*O@W{HU-#s9^S)V ztP1miRnre++Pe004XK4*2tI)A8MsA9DEb3Jn@AWf7qG>C>QOi{z0Y&*N3zwB*MhLX^1X zKhIVAX#U^L?R7i;e`kH?Y5qUT)6oBAdfYqe`zoTi%>k?uMfddo%KTZHHYQ(LI;|YM z9!HP(tm#n_j?4e6r~fc?DC-tFrtr4;hz+#;eZ;aceSO4c>pFeJcXJV|4mQ#CRoUw5 zi@G2OnhVm-&dmpF*Pv{3JD$oR+2wU?8H={pv12ecypD>72XZ=Uq&HBu`5a|E-REer z^z-=~RSTY6j(2&y>%X`la~Wztr~bcZ$N%qcZ#~8TKgy%&|N4ouh3x?IxLUhCpqE|5 zE-1bnwE;Kh`^2&tuDX)6VWTUxm4E`WHahjD=-IEV%=WjpwSP)Ugu1lM z*U7$9aWFqT11#E1VqE2aYE{5T@b4{-e#!jHir{ILisbCm1D^qD01Z+U@#0j!r3=B0jjhWIGy7mR?)xVdg zq5lg<-RS-IS%H7cQUa5cEIz16#zHWQJJ@jur2zs-%k^^GU}|1q9c{U2J||5ObL zkZ1f#8$Kxfc0i>PY4cX|i}`l-qn!jkuqcA{RP_>WsDSEt+sZF5`;6=hS+2s(P6}yUAbecRcCF6XY&lk30n_}Bktile)_1H1hH^qaZGE40cmCCDiFwZf~>YYL?lFL$HWX9`vCg)#&I+g>wZgwha)b+2+5ecVtiKRdw0Zl zgDd;yImy8M+5*cJfg%DyPU{$x%Q{$Jg~)WrIEAZv2MGoJw08FT`qJi*MNflM=Jytk zIY?+S&QYib21k&J35Z=kEmN-M(a9vzz9UfPizHHrhQ@^pZCr5)K(Y&gn$ST4TZp-ZHWgs@4_#DyF zs@MLe;2K?&D5?sil3({jqYue(qoa(?9Ho;;N|urCOB=-X>L3x=w_kH8%{#F*?zpQo zoHuMc%E}Kx693Mjm0`lJ3c%33UE2VnDu?_=6KxBM?Ff>ba_hNo>#UJ(ff8TCbR@FS zFI>L8b)>JblUOiLiL4b|%m(;FgbEV4F}Y+SOR7;{80{m5HC8L9n(f=u_Jwl;e!tGx zj7*+87(Em>mP_pHUN#52r-bBn2R7~{ud#&uI&-a`%;NxTNpom$jw~LzP{5~ z**X}b%?NQP6?FuRdZo0uv`LRnkye%cHncwnP1epTw(pY%4S)Q6BWw-_xpeB9Qk*51ary zvdBYZg}!59R?jrG7$AZBsA!#qoHbQ6pLds$Xdgiws)HTH7?af0GCE`EmW6?01C zEL8?fTl}XU6j&g-E|3$3Zw!vn92MeIeZ%!wGYmNIOGNlhtUAlJr5Vpy@E%NZoTBko zxTSrg42QO!GX$dxoQ}$=^>!FpFFran12MhcuYu>&oaL3V2U$a*h^E;_+OeCx__@TOUw5Oh;-E3<`IW}cOKl+EwDIl+rX2g{&KhASA7F0gk zm8m@brn5zC*5!FNB3>K7FXpu4cFeRx-*+@`El-p^99Eo`RzY`v)Ut^|J`2S z*s%Biw|1WFzejnzwwSzFZz%7v(+x28O}Z2sAN1QNm%TS^f&5Gxq-rajo0>8D&q~%_aV| z(k4qi%ZMbt;Ulj3whvZ#Y6)Iwm3v3MFnhS)2F7NfHG9NZVMBWrtbi1W7HRF#HuR(i zxCM$tPFW@HNo_#X2Lb(VO(uSc>Twn`mt>%~RT7}j$uJcqEh9H8z={r@JI>{p4Zc4+ zI|*2$+sm9b_FT=uzwfDh*B&yVOZr+nMJGkCtoMb2-_gZtUTQm7HWp17+-cM?^nF?; zr=p|!0_fNjG8o2ZnyZ)vb~qdk+^HpaxaS*~JG>$sVD0d5?MQol9TJq}w{XcD!%A&h zaSj<|} zY0>|emIu5;|KHl&wDW)O>~25h|9+Hb;rQP=KlqRJdF%&?23D!VZ{4A~_U^!KpIF^n zcciX&OQ{j7YufdOiT^yGM~m%0-7Y1x_qI-)#_~kCN(RGV)oht0wi(PSzqF#XnNYVz z1#4!75lCTSbr-9l(Pf@5>&_u(YXI)ZFo{m*Q&uS4V0UvP8A5j&gl0`E6M`(wPDu^__uErdx3;n|WYYJU&dLD^`_1R8Y}=ia@fRP4S{EqbZ_%Vy;8iTHmdV-s$+jN>+%Bc4D{% zhe=fuRJ=L~R>2C}0ahPZg_n@$nNS6r-4V%8yuA8p=pt63+gp^zHMK$^Ge~=#!T29A zfoX(_KqrNbE>X%kJhX}upZU(9%vHQi`I2Yl&k8u1;D|>m@siF@=BX5a@7C?zV$4khAq- z?96Vjj%FAukU=tiW$tYbE!TXghuQOFGiC^WSijVB8QIsQDQvE-Cu1M1bpy<^^X2?{ zc6g%giq$(6XNM;P*Ji1;m(jUT)&{}AQCFx}VF!O!>b#~>)T-@8aXXq^337c$adlNS zQohof(A;-yF=aiuO8r_vYZA_F@H<{pKw!CroB{UBMzHeP~E}`}P$>*mqsM!Vxcg?+Vuy z*TG7HQWI8dMrpo`F{@b;NZBh*(tibCmH!I<8mMD@+)rtXt%dG>QLCfT;I>;|SPlKk z7qLWq=KEea;ZK*nEa_>;{{&x*B28$OUKhI6pw(3itEQK6G2RA@K;DSD zHIAGFE}yD!eKp*MbV$NE#0k$X^c<{$fE1N*72oOZ(dTydgS!NVap!~SWFtwb0>(&E zhLJE(+^u59Z}d-e!&{}DLi`9WcDGR)nVV)5;uX4SgIM4>B&aXQ+uz4Qg{S91o{sf@ z8R;K806GBh1V@mtFp5YdQ$?}g;Irhk zw&B%dJ#*~(tx$*ZRz1`?*_3IbkeEbt?zITFC!O+3e%$)s6jB9H+wgx#|Nr{#=8oB)D5tPMF@RB#Y018Q5>y{4*I99uWH1iP9Ekw_B1;lsbr&#= z50ZQekExe=20zB6#(p4Cfn0691H^?&rq*uNh83um*xV!1jcw_T|BX z&HoHyvTgnw30m(V06O>o8u$P1?QLv6&Hu-E*!(|8lI$A%v${aSg(mL(&UmO`jMC6M z^_^LKuWC^GmXr*a2oLp28s1RimorrZWW_C7iZ9UiFkzk-SzchOywq+%w#8=OUa(NB z^xVXCqj-31AVdyMFGDJj_)Q|Ff4fApIVujbSZEcYlKcddE$+YpSBwW>35Oe-Mic3h_%wiOn69v zga>&p<@={k1DNMl#PeKBK;Nw5JC4+ZGlMC-MDg%~@4ToJR;P6W-=>&76)m_AXB%u7 zI_c}U_FlWMvRRiMTudWmwoGn}JxSL;^3x{&`Otar^IzNBn~nRww)Xa(yU8p6XMWWc|vi}&MCnKieObDP-Zj43^*>;c{fflN@5;nnBW;E zD5iEDnc@lOJ~}?7WpR4Rvfr+TgI5z!@D+dq5!r4_F&fxAOu#ix5^5q=C8e_j zkP$DaZ67jqkdQWP($=^l$MtT!3%(T>fh}pQHNZ8;Tce0I=49)-#~nWgAgkN;y!Z^V ztyI=`1ZKGRwRlj~_aZRXPz|gIP(g{iOap;gNlRD#Rpa=2--uFWBJw%NtM!|SK+HsK zh*NnebVoY8*)SJ#hL>X6S%+{GdamUw&>E^q9PxLpnHDHdV1z*Me*+M_4;Gg%vQ@TN z7b@#P6tO(zB%`hCXh~_*Iksl6=C(BphWt>l(R(WGdS?jXst;;vCKYK6U3EZG{1Nm8 z@lvYVOOinUxp zM~%<7=J7^9V2EZ}S|Sfz_VpAk47MbYph=Z5z%IzAqJRtbuqBk900`zV!7;FLu6$Ll z20n^hQu$A5=(Oqo@&Nb)`+wGVoBIFG-jo05Q647U-k{==uMh-+7@9vyv+JEENKvq0b1o_2q4`2*7ErRh6i4R9VSpnACb7uW6^jn$fn$b?sSI z62=dzBV8AmAe$;3odHTk28AG~gRCVr2Bt4Y{b8rAyZ>pgdH>Va_S62~ zqdd3#Mu)R00yBuy`f?L#iN!!Ab5WYjHzPG*?Tw;(nWf+kB{UJI4?5hG`uPzyKg4}0 z#+5c>raH^5d|DtZP@a{TWW|kUxi`GMW*q`AS4{^ndw)_TiIyyA_#ZD*SsG{WLi=Cvy>%VkivJlaa@LMd@N z+jx1Wj0Fak1W!voK?E54_scMn>7(|r{^s~>0HZ=uFZt!B7Tl{ zGpncWVH9BOix`d8^~25n`nJes{V1R%%{yiU)Q^%iHDg}5sM3f+>HIY=iA4~5)jWPG zOLNmq{o=?Sq#MN@T(lrq7g{z4vam3M6Yc^la}?pp4MRBMASPKsyB!x0GZQJCSxF4?lHyOUC=)`IYrSb@=nS`9+)3n8m5vSNiB)nEGB6SMx+du!MG7 zHUTr3tHg=`YW_wUpKSGrIb`)NM}&I_(ul;Gbj3pZ2=N3tUXIgVMt+lZkvr|LSFKVlSiLukX#qIW1V_J9z zqKoVTbx=L}W&pU|%C9LsD=Kt+a0*x&Rd9(?R6v4a@ZHHffYV9F8%aybj#8;*+3Xtt zc~9A`NFN|R%48G)+d`ohoq3p*BB&Dqv7-951~s64zzjhBRg)A}(MWo$I_SAoY5_&1 z#j@(zIOT z6C=auwcuqB?@X0tAL*eV8?lDtS3(?ADHb3Sx z8d`oqS3-B)o_441^JD@vQviZyootAkV2-5$|~I;i7&D9y)?P z(AuK{r7*B>z_;duwLk^(Ei+=H2zA+_jV8n$A8W*{*{ibND!_X+VvY@4g4`yX8M~ z#ysTt@2#!9hWy{%dAk4YQ64V;Ss#lm$kg^vvP&HGllsC}H++D*o^6=&o{7LnEM#NU z7a*sa;@IwW(TX{w81q#L8wvEjc9{_nZNe$wR-$Ubp;N>=J z1Bvp}EV^oMg`1^~mNE51kfjX+IuhH-lMtAL6(&b0fj6fp%F?(rSVgBw=qLo*NtfWM z!d4aNY+9glnk8`)wq2qpV1j2TtB99m^LtOAIVv#ouexCxpWP69D&y`yKlk$c*`H4R zPv73VqZZg@|L^Wv`9C%{)_0%m|3`V4iOR24ZSw&5Geh`xiEVTLIi0y5*1&U2(9Cy@ zudZ^;D4-L%Y>fA719ZeB1cS9|yA063K`_lqRw<|h0RwiCFvDxa{yQ-3i((Rr=h%_H zE6d8)5L!St?-ek~XNnF3CzZ366zL$?9lp%WSMPX?Q(c5XtfQkCpG;AyQC(ISbtUm* zYy|pw0!lO(1%mMpX>ucXuKBMHC|-w&-j)5%l4uaEaW;>Pkh6Jxb?})Kc1~u_BNBQU zNzy~Z_sKPEh?58X{wwmj3cy0IPWUa}v3i2oKq+Dti zbT@e!WU2ZdP3?lsmT=V8mT z@;V=U6JEfp!8ak9(Z90-Uk<+ce+SRNkFda5Rf1PXFUvug7ul~UB7+de2#$F1BKvg^ z&dVr^(dhReCB*!H`|{xE&C75WKLn2U`M1YZ=exaj~+%ML}+PS}INw^b_kt$7s|fO1w;h#dhg2ZL|E`97PW z9A2XFH{XE&l(;W3nN}BJl+8w@s1Ofq8Noa+N2EY#G=n8U#fWq0?}Nd!XW$LQG8A<% z_z1*J4=-m_7x@U@6$$t__y~r>;Sliu$v@cp8VmRc*nbS@Tdu^-P)dod(|C=+`QP_9 z!j0W^xXs-wf1uXZ-F*9{%(Zod5ibqvVg8 z6S-eme=&9=M;4H|?Eqg|NC+TEB9HuV@D0t!ibPgv`SO;}XvLHVvkMJaZxVop+=#|UAHik4InuWj1-*O*xcIO=v`F?wHP#<9iH??Zp3EZxgDf2 z%*ElGSFM!H`z#_>9g%vTdu=p?4LtKa4HsOmWHo++-nTe08 z6=jx=MCoCa;C=ub3n|;4bJye=Um3>Pb=rpmvV4{IDs72j<1z;r#|@q8_~qIAgQGXE zj@`s|fwOh3)Bibr|K^9IcduVM;WcH1V5GD3H7?L)1&jE;-ERZ(4S=f`B_z{qhDNGJ zFL;gq-w4;k&GpUo^%t9a8U%Sh%Qu~iOOITVsfs)w<*wdA_v%>}e%-q0nb|I_c~WPr zRORbqovtN-oxiLLI}Sm5*6bExDRV(Mc_K3S_^Z}Ac06S!_yb!hPEaw!Whr>-B(jmg z*Rv?;Ckvfa>jz(bB3P;5YFQIk!}x$MptJYY(EI4)ZL0Vk74Q41+5MF2PUY7+nd>am zXE+##K|RFi+aFvb31JkWvV4=-fZrk*|5RXten=zD-gQ9e>Rv~cI>^TC9R9f#TZwn z*f_&_9VG|Dg`UAdMY1}J7`sfIXTF{x0%J%Zs7gxv&r_7lhH(~^V7?LV=-X!6?oyf+ z*I5?-I#Q)a;*yne#H+1-rp;m%|67uBq|R8sr@zC?Y&kgE_kXuGx7O|b-<{2!r~J>4 z@`&ILwF``AOtP)8D64=D1Dsw4gTem^+BQqs=%Hh~N-+s|U9Egc3Phr5!3yHZ&8Vy} zLBU{kFkq5ESw3f|B&YNn6%AEHz%7Htiihk2`^~m>fy5VnkCGXCHTX0bOabv44&|ye z0xPTr_@)VX6`Uec3?yV|cb|aP)1Ju8=j5qU#k0r&fEh zljCBpq!kIBk;0Pc!~AD1u(^_5m6sMO7I^{Vq#&uiYSNJKk=N8fE*4cg_ZD^+I{ zEO=KR>2Fy^lNH8g5{Vlh)+m2hjjDLUYX5bgezL&URD26@a-3bSprQz07DZO9teRk~ zQ@ORn@C{7y1n~sZI(_ne8GeVzihd`~8VH(`*d*tmEK$KPb3e|=%UMotR+=cynsq+3 zHSnI_L}6D5sg1u9aIIeGD_qB~D+jCL;S?uvfzlNZ0y!nd`x?@p*MAY<#b63n2X;r0 zD72^5etW-YjNn|biLiQ!hv_z<&0zsxL@JmZK>}I!@5YRmPhCzh(#Gjy5D-KE{TjGJ zH}$};0Xir%F*3^b0b~h)R?PPdYDj;rtcEL`_|+x_&6Dj-R{pz!36JGjY4*vQMUOoZ z)L*M&%J&u22gPN14=L>x(G>1I3^ad#xy0VonUIYh|+n;|K4XG-)EEeD4pw~l%Z)f z;8td<8;e{@s-}yaZ<7o*+U6l=Ld))NhnszfmSBzLT`}?&P52*FlI}CHoMti4!_}i5HT1?PS_6TFn-;M!=#76h zYqq(I!W|&{_EDdmG@tt{`F}H z;~7rRdk`rAQ4+Nko!2+Xe1ktQ63ykHL0&_WFF@~FqjLM0Y%l)*oV zt2Z|21p$6Ce|B_Ila{*I8jqtJ9gQ(&n)R)V$3Ffxhq=FUgM(d_HI6;$>3<$Qo$5*+ zHJy&mRxO>@y|a@3GM)F-(QDoF4a~WMc!gFPv$(1B`W5z<>AZ)&uI?7=sj;&-xI*CK zw`@ryZ(#1gBPz-K8@&F{JXP~Awo>n`P3;#Meg`~u3*a61ehp+-I-2^RS`-4{oPdG!Y7KZ{=Y1?($~OSGY0rt>uu;W8~K+5`97 zfAAYqBD9=8RQ+xkTf77t!hH-amtn<0i~&>Y*Bp??AP96#iME)3b?e#u;xVaAoW4AK z`|_;TZ1~q&!IbDpQTedzGX77tI&yCHTp2~Dtm&&n&BzA1s+1UJJysF5gqn2qTuMBP zQY)-4Qd#(X+5(+>_Ht?}4QxpuU{!W1b6K zUkwgfv?McW%q2!&5O~xW#Ue7Avp+=`o$x@d0arouSo1zzCE82UANw!XU##ms46Ui+ z44~auTBBEcF z5MRiWsn>kG6_bhZmi3Zf9pr`MZ=#9e=k;GYDtcBtIf~an1E8SLSmW-9M2vqw5;@5< zL@ka7eyhbkSighfU?Dc%dzyJ~wSvO-x4jn$_fR70BRBeqZ6!B^#xULo=L(5-OlNG5 zYjuaC{)p9)8&PHr7){Y46@bdSC(j?5@Dhk;KVdTE%l;dc!FWLwTI%BwKX2jiAIYO( zW1xjq(feiLL;~77|d?iAC5sNk}U_b8-Xb>3Qe<;Ns}bxgAV@SJ=*l*OKnGe@5e3cCh5th?`Z`_Av%yXrt~JRS19cuz*Q8#`ET_$_ zk#1yE7I<;7kH&_WY?n3FbW%y8(KBb`NrNE{^o1#QFB3K=7*Zb=l`~MpYH#7l&A0cKVTi{dx#@|A~(0UJ!Ef1cgs=)Su(?D1~daBcKkp1i@m9bZ!i{05`BJLBG) zF>p2Z=4&)#peL}>&4nX~W?6cQS`Pjh*IVt!tU{^p%`ZlWR$p(dqRzcp(jY@`&Jy`? zDlYFj^@T0igy^?@-Hj3xg1u$dIF;llMVZGwD$L*sgNQGBzeCgR%-Pk)+sjNiR1{5R zuRx?KQjZ1)9?W2z^)eHUQ+KkX?r1O0+#v~c(Ad%srvw!f7@^xwxB46rg2x!F@?AZp z`N0dzJWdcnD-72faJFi-VaHu*gN_l|KT5>Q&?}pHJ)HNSTl;x>4E=wa75F!5$|vvh zEPf9wl9ds>w>i*p|HJy`-iCeu-_G{#lm7o0&zGYAf3Jq#NfsZdfwyd9pbO2P$ujWp zqMw=2$;hV7(9L`Lr*Jq)#22tcKdQ}H?I^aWPpLGbl0Mzn@TecJ3F2vq+ZZ`x`MjFY zeLG<|eJgXh>5nS_?G60UTGnmuxQ|wOAF6|xx@J2Uq%vNw_xi>e@2bVAsK>#A#F#oc z?+h!LdCkTAG1yphF?tNP+)d-=#3>?l=9G)KP@HVm8VZb2&hx_U3&MphVwIWI^zUys zKGu!ce-W%Mm5+)XCnvW(oP6=8J#N*{MhQH<(Y~)`8gxEcwMdxx%()BZtmD}<;NxXY zwOijFV+8R6jd0?-W7Gzq8?821mVvGw*B*3rf%`{Twe(7lAgO)}@f$=69DS~pxW)Y^ zlbM=Ubz{Nf^78QH-8+I4{2NOmd4h@vr37B0KJvMrMD}6W-(B|!S=ENI)ri|5%Bx@u zcGsIHQME?BL9?v5dEj=nAlcu$OVefyU@!)IzSbRPvkRQ|QxERnIgit7*`aHoodHiP z-~CsFAQ=V(DY>W=|c&3QBkfP zq_GTIc9P^zwB#m@9|-LzY+UWM&u?>LOAWuusdshbil+S$pPQ!k(ZM6`&GId0w*XLSS*zR-=nkCZmkgq>xNyQnAlJj?7!Znh?(W z3?)zAF!u5MK70eN;i9iC425Ul&=L7qjP|gJG1|u+`jOfguEc7+Ch)^dUX8hu!X|_N zELOMZhn^=W1gjTuGs}f~5x25Mlp}gxlz3YuNE+u>CEZ3ZXfglshbGZVfB0)lEPh|p zRRUWxsIJdw&_USZX#V7Ay?Nf3Dl=__vRP$v$tHo2oKL=XE-lh*eilH@XmOIc{S?5b zd-=T^!^RET>;87@v6OImL)HD`SG@|YK+&ePiX!ZM_q}&=J5);UsCNrfjZ}NXv_-oV zweGS|Ig(GX5nJDgwf|zhQ#-haDzOA*lq+5KlGdlbY&~68_Vao)-UAd%!m_cswcT%p zH9Oo-f@7eL0Y&q)ye@Bfz3Z~M)FpE{OG;kg87ywt0yf@PYeidf3tde54$66!2MwE` z@d8FyD286R_gjmfkQ1QTA;weFvLeX89{j=An50y3& z#b>Wi<*Ro8l{Xq}k;IZM+JM)8b@uwS)njy0WOE$fDI@niR%Mc?HJSdg@37xmE0&6D z`~1(Lqqb)eWE>GsA43!HWBm>U&Lo;{dUTc_XLVN3FOKD(hiM*8@iL#s2erTuJ?|Kz zzHIfpNI$>R19yO)?OkM!ebV*rr|Y#W?sVC>habgAJ(08pw~?eg%~8~?CUP(>9s`n; zba3h51aQ*<(g9|1UyF{IqVgtUu=OXkuD0c2@aRyDrq#2#&Fj&Yf#EL6S?@^3GMz8| z#@f@_uP^p7;y-d!%y3!K?tcGkcCoBDkdF9|-QCR{EB<45XMOJ}{^K#8FD3rtq#kvZ}*bpy+8R`O+D2>nq+;aEd*+p$yFV8Ig@9d)0EdB|T zshxUmVdF!~FZvpngf8RE_si4K^(xQO639G{J?nItIgTnS)7AcH0pd!e54uJ0$rkO8 z$Sm(?fwCTR1}pqo?2=!z3!hE$eU@Dbd*r{f3(FQ6!ir==ZRu~_=cN;F5!*zg>VBtP z{D8V$f34Dqr>rXv(%8xgyxd#t1seY?$ud63nh$?$$#QoYaW|RNCRv_E)GxIhK<}K8)I|ybm?)AJnG7T!Dq8zI1yY>e=_v({CUy4BQDXeW;L`Mqm zj#kv4>Xc`QEQ8hX6u}~@b9;8BJzWS(pM9 zclTmCf%d($-LEFO;oMV8I?QG>n8sbFfopZ9rw+1+?y-Q*vAC|Wn2xcCZqZ+-SVWgt zK!;ddcUV+s=&LK-<4Cwyu@)oKuUHFLfY#h^vqEayLeTq^?5?yU0(q-8KDxl^sGQPO zdKj^_dYWCQVE7j7?7kT9?7jekq5n#oU+B2|mwmai=lHaQ095%p(FiEoOlLF6if-cd^GJ**^D=IG*Gk|ywQh!nWG#UAA`CXA!`Lek- z;b8Z7cXuC)MZ3GZ9u~1LcW2StDm^IQm8e)YlL`rV|8IZ$+heflZ-4unXC$dFOJLJM z8b8peYGatM&LfXR%1HM}RA27S;*(1ppH$c%x73HPD4mBV?_M4Gc*wqg_v+~P$FV09 z`teQZhcj*?KB`)bT2Z2}0V`Fi4g*#eTi6~InZ>1qdZ^G{=a!aBfIDC0pbAK zu>8s50UWI89T(8bMrV9LJLBn}$8dI!7y-YBpkMgBdK@~4;27->+i7bMb*xo(U(m1wqM8>exVUCqM)+sZ zSo3+*GqPAsDWc7&z__ay6ZF5|o-SF~7<8Q;9=v`zq)7av;SWPmXBg2} zL!UHa!&1rRhaq^_Lg*TQ7Ml_J$ZvDyBfiLjd?cQ-U^vznwrQC%-8Nc7^Y0L=iE4> z3bXrW$Z6fgh9xAR($`L~-?E*5=e*Ow%EXp_YM*A^A7j>;n_Jo#xZgB9O3RZh!O_i^ zG6_4TVQ`pKB|*ivxUj5VDo|3+l6y{`UO4VI?+q04Ow_S;&FUMNRxr_gicV~??7{ux zEOp`%@1MlMA66WwF>pU&a1h6sk_MAQwH1C}_hU=+p+M0pA5IA*IO^DBfDXD<*sSD~ z^piCS7*li2ETjpjn-tD)q~}U$5OCf~fGMHiR2tHjK_Ybqe&Pm)chqe8MR|L)K`8!uJ=jRHn=H(rm%z@F=dc{Tu z_Y!lxwegkQrol zLgOQk{Gb|q6D(^{cAZ|sB0e~I+Iito&lr;ho_lU_D1CA6 zI&H+NuoXf(NRFsB%t2My*9UUZ($x^{0WZ zJ4{LyZHt%kB5n-GZX*2HeSuM(*o}(aT;K!BjD*l9UtlJ9@1(<+xgPvtI)7fH?2o4b zh=BY%DFNPVCS^3ewI0sBiy;5Prng#z1p)4xAsZ0zL2pyac=f=G_)B3VdQL?@$TAMxChEOb4zG9X4T^C!11dEjV%-yH1Y9TI){=EK6yDQEzyWHt+O_Nc~;oi3>9OGogki$~W zhyffdJ1mY9XbJxY(mULdpk&h$+O8(%(wncy^l?B#-Nl3jBNr$lVgKIE3UwrGy4zYN zlSMQ>%MW7^jL0nCXxfA-F9j{aJX>ufUSl#HGMo=e=Vp^mS>lWV3XX7rB0@!ZcZ&qH zKbhmwl?|+!BusValLPa~f%)XXd{_sjan^_Tef!EWcT~_N?~u*WG5A`9y?<@csC&`A zR&KN((#R^ueP~~Atbd2C55|!W6Un_SCh;^3C%wIz%YM0Kg)ihrpx+wIB*}vkyqyk z_+N~H^LV1Z?v0+JUhm&K1_Cv4T7um*x3wG;W?g;Ra8>jhNnMiLgwy6NGfLX7GZT#0 zk5>E2)q-Hu6zx>|&h2Z2@~qWhb@!SsN8F2pxwvZ5r0rG{Cs+NQ?yBB;mkBULw;U6G zX0bt`Rp`E)*4+ZPeN{7MO{Yq~EXLWwX7Z3G!01ml5ZlsCFV>Aahv7{B>^TwEgGgrX`pIM$G}%;oDEz_?e`<2doXve)+Dv|;qG%ce z1tL|EdNh3S#YyWsd6vAgTBC%H0qHrg%Ijtp8-)w_jy&caH|ccLb?(%bEBgC_uZOh{ zNj-%YIs4{c!cK~eWKovfa~1P0U=n`cw0iEfMnV~b;Oy|kih0Zv9AQG=dyb6y#8EDw z?sJ%nVEg{;>|{aVr?9cQi=#VTY(X&4oi2#)-O=5dN$a|?@h@Mlq<#{Y%NCci^L^4x z4x0PRvV%0u2)jjM2@1JanrT=ppm&#T8q7vm!~+PoKIoPy-TLBNns_r1Hah7xAO%Dd zd=-id%EPPb0u?DDs0?u?J)1)RFUx3(m^l(m3CT+pIszU@T6(zkBrZRbxYYWiRcNYh zJXlxgn?zq1Dhour=xxwI^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9 zO=cuK%?q58$x5Kn_EibejDSg2rE##PF~PIr(z@2odGd+|dUej-pyE|JhY5}av&}95 iUzJ_dEOkHU>3Mpdo~Nhp^Zx|^0RR72-nd2pZ~_1i{MDua literal 0 HcmV?d00001 diff --git a/incubator/prowlarr/1.2.5/ix_values.yaml b/incubator/prowlarr/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..a08bf740b09 --- /dev/null +++ b/incubator/prowlarr/1.2.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/prowlarr + # -- image tag + tag: v0.1.0.568 + # -- 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.2.5/questions.yaml b/incubator/prowlarr/1.2.5/questions.yaml new file mode 100644 index 00000000000..d0b353f9d5a --- /dev/null +++ b/incubator/prowlarr/1.2.5/questions.yaml @@ -0,0 +1,675 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9696 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9696 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/prowlarr/1.2.5/templates/common.yaml b/incubator/prowlarr/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/prowlarr/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/prowlarr/1.2.5/test_values.yaml b/incubator/prowlarr/1.2.5/test_values.yaml new file mode 100644 index 00000000000..e47309316f4 --- /dev/null +++ b/incubator/prowlarr/1.2.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/prowlarr + # -- image tag + tag: v0.1.0.568 + # -- image pull policy + pullPolicy: IfNotPresent + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9696 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/prowlarr/1.2.5/values.yaml b/incubator/prowlarr/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/qbittorrent/6.2.5/CONFIG.md b/incubator/qbittorrent/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/Chart.lock b/incubator/qbittorrent/6.2.5/Chart.lock new file mode 100644 index 00000000000..2983468acbb --- /dev/null +++ b/incubator/qbittorrent/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:52.407563743Z" diff --git a/incubator/qbittorrent/6.2.5/Chart.yaml b/incubator/qbittorrent/6.2.5/Chart.yaml new file mode 100644 index 00000000000..22cda233583 --- /dev/null +++ b/incubator/qbittorrent/6.2.5/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/qbittorrent/6.2.5/README.md b/incubator/qbittorrent/6.2.5/README.md new file mode 100644 index 00000000000..0da3d2911d3 --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/app-readme.md b/incubator/qbittorrent/6.2.5/app-readme.md new file mode 100644 index 00000000000..5d26b483c2c --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/qbittorrent/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/qbittorrent/6.2.5/ix_values.yaml b/incubator/qbittorrent/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..a2b08bf404d --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/questions.yaml b/incubator/qbittorrent/6.2.5/questions.yaml new file mode 100644 index 00000000000..7755dec07ad --- /dev/null +++ b/incubator/qbittorrent/6.2.5/questions.yaml @@ -0,0 +1,815 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36039 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/qbittorrent/6.2.5/templates/_configmap.tpl b/incubator/qbittorrent/6.2.5/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/templates/common.yaml b/incubator/qbittorrent/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/test_values.yaml b/incubator/qbittorrent/6.2.5/test_values.yaml new file mode 100644 index 00000000000..eb3c2a84503 --- /dev/null +++ b/incubator/qbittorrent/6.2.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.2.5/values.yaml b/incubator/qbittorrent/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/readarr/6.2.5/CONFIG.md b/incubator/readarr/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/readarr/6.2.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/readarr/6.2.5/Chart.lock b/incubator/readarr/6.2.5/Chart.lock new file mode 100644 index 00000000000..91caf2a3453 --- /dev/null +++ b/incubator/readarr/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:53.705030894Z" diff --git a/incubator/readarr/6.2.5/Chart.yaml b/incubator/readarr/6.2.5/Chart.yaml new file mode 100644 index 00000000000..e8641811945 --- /dev/null +++ b/incubator/readarr/6.2.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/readarr/6.2.5/README.md b/incubator/readarr/6.2.5/README.md new file mode 100644 index 00000000000..4bc9ba2a1c8 --- /dev/null +++ b/incubator/readarr/6.2.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) + +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.2.5/app-readme.md b/incubator/readarr/6.2.5/app-readme.md new file mode 100644 index 00000000000..ec0ebb214b7 --- /dev/null +++ b/incubator/readarr/6.2.5/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.2.5/charts/common-6.4.3.tgz b/incubator/readarr/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/readarr/6.2.5/ix_values.yaml b/incubator/readarr/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..6fe59ecebcc --- /dev/null +++ b/incubator/readarr/6.2.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/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.759 + +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.2.5/questions.yaml b/incubator/readarr/6.2.5/questions.yaml new file mode 100644 index 00000000000..066b93d876a --- /dev/null +++ b/incubator/readarr/6.2.5/questions.yaml @@ -0,0 +1,668 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8787 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36038 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/readarr/6.2.5/templates/common.yaml b/incubator/readarr/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/readarr/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/readarr/6.2.5/test_values.yaml b/incubator/readarr/6.2.5/test_values.yaml new file mode 100644 index 00000000000..68ddec8b757 --- /dev/null +++ b/incubator/readarr/6.2.5/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.759 + +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.2.5/values.yaml b/incubator/readarr/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/reg/1.2.4/CONFIG.md b/incubator/reg/1.2.4/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/reg/1.2.4/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps 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.2.4/Chart.lock b/incubator/reg/1.2.4/Chart.lock new file mode 100644 index 00000000000..3954db5bd0a --- /dev/null +++ b/incubator/reg/1.2.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:54.987941339Z" diff --git a/incubator/reg/1.2.4/Chart.yaml b/incubator/reg/1.2.4/Chart.yaml new file mode 100644 index 00000000000..f2f8ba40817 --- /dev/null +++ b/incubator/reg/1.2.4/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.4 diff --git a/incubator/reg/1.2.4/README.md b/incubator/reg/1.2.4/README.md new file mode 100644 index 00000000000..1c5cdc4b5bb --- /dev/null +++ b/incubator/reg/1.2.4/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.2.4/app-readme.md b/incubator/reg/1.2.4/app-readme.md new file mode 100644 index 00000000000..579122c7ecc --- /dev/null +++ b/incubator/reg/1.2.4/app-readme.md @@ -0,0 +1 @@ +Docker registry v2 command line client and repo listing generator with diff --git a/incubator/reg/1.2.4/charts/common-6.4.3.tgz b/incubator/reg/1.2.4/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/reg/1.2.4/ci/ct-values.yaml b/incubator/reg/1.2.4/ci/ct-values.yaml new file mode 100644 index 00000000000..7ec97337b23 --- /dev/null +++ b/incubator/reg/1.2.4/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + EXTRA_ARGS: "server --registry r.j3ss.co" diff --git a/incubator/reg/1.2.4/ix_values.yaml b/incubator/reg/1.2.4/ix_values.yaml new file mode 100644 index 00000000000..6ad228ab223 --- /dev/null +++ b/incubator/reg/1.2.4/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.2.4/questions.yaml b/incubator/reg/1.2.4/questions.yaml new file mode 100644 index 00000000000..484df233233 --- /dev/null +++ b/incubator/reg/1.2.4/questions.yaml @@ -0,0 +1,664 @@ +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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/reg/1.2.4/templates/common.yaml b/incubator/reg/1.2.4/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/reg/1.2.4/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/reg/1.2.4/test_values.yaml b/incubator/reg/1.2.4/test_values.yaml new file mode 100644 index 00000000000..93668d4a17f --- /dev/null +++ b/incubator/reg/1.2.4/test_values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + +# -- environment variables. See more environment variables in the [reg documentation](https://github.com/genuinetools/reg). +env: + # -- Set the container timezone + TZ: UTC + # -- Set the server registry + # EXTRA_ARGS: "server --registry r.j3ss.co" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false diff --git a/incubator/reg/1.2.4/values.yaml b/incubator/reg/1.2.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/sabnzbd/6.2.5/CONFIG.md b/incubator/sabnzbd/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/sabnzbd/6.2.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.2.5/Chart.lock b/incubator/sabnzbd/6.2.5/Chart.lock new file mode 100644 index 00000000000..e5b5b000138 --- /dev/null +++ b/incubator/sabnzbd/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:56.274939922Z" diff --git a/incubator/sabnzbd/6.2.5/Chart.yaml b/incubator/sabnzbd/6.2.5/Chart.yaml new file mode 100644 index 00000000000..928a605803e --- /dev/null +++ b/incubator/sabnzbd/6.2.5/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/sabnzbd/6.2.5/README.md b/incubator/sabnzbd/6.2.5/README.md new file mode 100644 index 00000000000..d713e25f27a --- /dev/null +++ b/incubator/sabnzbd/6.2.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.2.5/app-readme.md b/incubator/sabnzbd/6.2.5/app-readme.md new file mode 100644 index 00000000000..05e7f339851 --- /dev/null +++ b/incubator/sabnzbd/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/sabnzbd/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 zcmV)bK&ihUiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9sySK5vyRp6Vm-UU!?cKez(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;dZz+=-2;Z{?B1jq4I$QK>PgPUfX#)x^hf;zI#L9peO>l~-^cVmI zpsqQf6T8Tg1QiMlO5sI<7^M1ZH~`{9%qNG9v@Qzh{0Q0iA7O%HkTE${0$5Ob@+7;N zp_HtF7@}F0mWY6?040G0O{%0sWB>r4Vs&AYQE5gX2brY|d0lX%!5Jw81EAL$gWFF! zzyw~PWD!`rf)3`mnq8oRc2tZ?T%Z`_Sxf~}f${`LupEPp7LHZV_AE^k=T zZ?gg%DPqbsFlXH4GJ`SmEs6>R2?8rIn!qX{s{p1kc$*~&PA}i(F(jfRD6CV_np5Ni z_CtDv5=2lFL=Bz;J7TP$U;w^Mvx1HlT+(lnema&49Rz)$HNWPug=q#qfGUM^h!Z;2 zSS{`MB4Em@xa0uXUshGEYpuFDEQp*ip#G(%$6MZ`6i9*Qn96=I#U;s#8<5}`Cal-_ zhwu6O*Yx!mYz+o@1~2Og%YM-zl9ia2D1IoHLIo6TSvuav7w#E7nCqmiw@15s!Ue*VP)0v4BLOJ(|*)f}|V*F1{{c@`g7 zb8_IBlA`$QdfM@l2XPD__&zJ}Z;*P&nYksukzt;PmvTAKo5~ z!R%(3!?L7WxM=Phh*N;lIWDr4iN-lBFdg4z2+jnP!;>{Nvr9)s+WHZ&7K#nh}Cd{%muKDo76hDUv zu5prp3&aZzVLZbrrQ3j|Z>cy&QwU(M(>Gjwm1PjP4aG7zGil zjH09LI=zNP3=U3S(aNU?DKm>&Lq&=RDnp!&;w&mh1eRCj2&ccIhzw&$;1K3auF%dI zX}vm>y*fl6@~lL|Jd20aTqB($ahgH;VGts@M=5 zRwc=1ATMxMU~&VZ1eScoiScBD3Ob|-l@V-kU)*r{5=~KDQJF969nxyY38KIrHJ z?NCg>G%MMfLWe!U>E%GakW2SZQvOF9pLK*k; z>QY-_QV1sC==fCfrCbx^sVbz@PveY~LS%s%ya5F&vt*7yS|(X`RpkJeC7qR73d(GT zz(3Vgqfo27WV9SIuv{hqpo>8I48;g#$dn{w(|rtr4Y|C$WTJE=lnX|lSg0s**~Bf2 z*?<ARMCXx zkXk)vZC&@(P{26GVq`~m##94w;yWp_3#6tB8v*=7kDRX)rq`f{{tY29?eyFf{HJ>UhD()wC}0=a{3TE-0p07-*p(Y>r)7Ks6N zz_k(6Z(-QsTrWJQpU$b=qB8Xwms9#yNNxJA0NHh_fS)MXe5I%@2LZdJ#xeKc(8iIQ z98ujoWeOt~>1vg!2{qdsoE@G7>^=8}oE@Ij2wqL7<#Tp+A~4{RD%7zu)!AI2-$(SH zQzdFvd6RQUrm~I;^(YY5FI5BNFQwU2zHmK3j^6BX;94j^y_$&SD?t&}ozEpF zSx>BSGC7WEmc*rmD7;zHuyDfmjU2!z=i>&jX^&xYgc5jjilQuy%Q4s#A9GY-Cerxp zjdk&!;2Fv)(kMTHIH?MBHZ4#|=^cZeLG3Y!A->a4SF_AL*45_+8SD!B(`a90w3}>O z@^E(p|H8)mDPIv59_?Z!agX&<2fE~uE?_^6^F_wF&a@?uau?`(jPb3GvHa{AIHQEk z5KK!zEi+gG2xjmDo>enS)Xq0s>-!r!>(pAMb=fGQM1m>@7u>mn37Zt9dqVAa=gscA zQ>&F-tN6}#Be}{rcm@t?g;JG_U`ka;7{}ZfMfF8CBxB6>k702GuFwrA@eC)hkQ(OK zR9*gBf(gC)nbx>jIcJ~EV)&?N~w6zj29h4T!VARQO-H;9pav0ZY&K9M9TI!>pEFM##Y%A zS}rd#l0{h(YTr()oWams=jU_@J744fKc#=19iE&s$I|(`qmy&JI$!PRC$aA3@Hz#M zE}r$)LK=fhMCzG`Q-TUQl-|94&AzgETKi_S)^mc#47$}MWyRMMlWo_qrdo;xcTgI$ zn6;Yww5JGY&KdS4G<)~F27OL@tQ7k?u~<2^Zcs7?r)o2q8SDCTiqn!H7=vu0;i09^ zbB2QTMo4>DY*0`R#bWBo?TwOmoi5JU3SQG*Q*Dn2$vh?{vlyMIF`$;U*BOle0TY-; zs9?QxEX(PFu+%wqUssv(ic!eSCrley&ooKt*tsy{^s+!@*=J?0i{5W(7I6Gavna5@ z(kyD2OS9SsY?WG~>V4N{0mdh_B$fwXn-z207U$QvBvcWc;W$pvH7rmmXC5gan&2z_ z%hijLK`L`d$1mSQg%!!@k{7`wxe<^L*b6h8eeP}jKB z4q{!Ce-!vm7|U>SQ}f`gsL=7jDL6emc>Pk*T94tC66I{yb=4q;(wJ2Qu-zx&mY+%N zD2<0zDb|V!{(#~)byc~v4(YtX>F@%UIMP_H&7VI6*EMk5S^EI$o0N>EB$OkY?Vyc8 zdWq8yo}wfvhcIH>=5#g%526rC4Oh^`cIf&{%4gs$2VUy?I4pYfZ>)e0Q0>hHti7@& z&nziE%}P>Ba9tX*FZCehq<^24gmQop1-?f~y+lB4E=4-=HYzc=+7Qv)m z$!wyiVO|qO0n|DQ{ZwnEHDxD|OheF*B%qA{k@1fE9#|+>Om!N%>}#RA;P3ljBiz^? zt~Vf^G27&Xg((^zHDj@XNeWoQNaT{bKx~IMLiJFfXe=mvle9NvrZ)A1tSPnD(tq~) z)E+J&_(w*jVh5WA3Q+ODM;7gYyvSHo2Q+(!_XkP1IN+$%{x~1L#;6&Rq|_+l;V~+H zh3S?MeE05E?RGI`dV~ssCsgf}{wUf%5lqk_Dv04eGl%~(InrE%*j9~lI#xwOFBTKnY?Sr8pJTQ#iA%N(o(L-ktsf#E2<$mZn9}tVPS>pEc!5 zqt;TYe*R^^G0;|MyK9TK^r48euy;{-Z|XV}RPNpVntt=Ery4zK`%lCiG-x&4#Vq=% z3|qa%yh0C^SI0yf-LCtdDqpWwP5ES8q0RX`S_5d7lba)4tg(qig)^mtyFoQ?PCnOF zo=H|jDnK)5LAWPB9s&_?NDKXhlZ1(7rqiT1Dl)tf$}Ly5D4b&z{ifjm#Pn~H@rlHp zx>-`qkkqEk4Rg8b>R}=0qyMDjyw4`@$rQck)&G9JCW?ws4O;T+;n!k%mpZ14ikRKO z-@l<0afFOG9(V+v0kP?!wW<}YX_aD44n z!YRoLc!|KF3Rx1S`2=4Y0GL%&A{GaEK0IFo@l6V6IHF4ij~u4V#HHj|?5M`X%NLo}(0$yj8qW&H7c!JPs%ZD;gQAY-n=O zX_X|@Iy4}$^^$ElF#jl71JN{7ri80C9H$P0>v=beP~YjqGt?)|K`9FzQWy;RO;!~{22!Kpov@3eEd5m;-D1|oxdGrj)B<-Q zD65Mh-@r*rIV_dZ64w(}x^w_0B`C6t>xgA_p{5S)%3)buF#Sd|tXK@tn@m4nB4rz~ zhUc5wCeMUk!4_*CraH@Fq^3#jAG#1*YNCsH-^Hl-s{p!?--g2&)f5gng{2H;8d54s z?zMrcX=Csf!T6^F6Z8XJKg}&J$OT|FQ8da{Q1b3}1|k)%ML=Nh@Os4%bT zDgF)dkN;rUf8;DX2NMJdoh+9ka$PWFjme@2rgD|6eaZMYJ_~0I91yJ$eNc}yadHGa zlOv96I3mnBn*dnr88Z=+f4|chEA;Wjs{2 zxEL`pnzt%6LUi_2XVktn<>9$RbMDeZW;aJV>Qg;VSXQKFFjdW{9FL|bx{{m1q_`1k zkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUifNCT?sLjzOq8aM3b*^`5MZ9(FPbUMHS>fR z->eSgUyhJ)!pI_7BKC>PCD6uTGCFFwqt$_iM04c4EBUH;kYHFMbqG%g0F;sf^S2{J zq7nBu4#5oOIhAp*PNbun7m}w+mU7Af#_>=PFeDk{H6qcF(J-Xbnf*D0obu7?Kx>DZ zhd3XDVB>F_;l}QZa3kDUU+1G;QOZwX3_&1Wj!`xX(F>VFcioFm049pNNV&Y z81ZAdrRR7+IFMD;iSB3MCj_dpf=O}%3KV6t8A@a3f6>AR>wr&Do$n51AVF|0_DxwJ z86E5q&Z?5bj;0yb9CKBPijW7O!KBOpPN}?Oo5oWr)JpEUD?w4ERA&2_}S{ zm45cDCT0zkRWzjpyum4^{Txc;IL?%PEZd@0t5V)x&dy1eB-u4iFFE*xPUAHI<6o}Ma!N%r`H<-PXJ=?Fw=T7zDd_?{abB#@HxwB*E|JmNyd&>Xu zD9`Qf=$nB!sY{BRJflla?J%T+LuLD6(?0~S2tOoLpfpAWGx{s~SHdj}Ig-Eyq?(pI zInP}%GSNdg_-6F!)8O`Y$isvX2spA3CP@H>pQ!kwUq|17H>kK2M{2SNCSn6Y25_aZ zPAdNvONIQKkp>E+!*WA2YY4!+C|v-CPBfbSDoh@rqnH5nZ&z6sJs#BQ1p-;iO`2XX1Rp_))0hhB z^%@!T+;$?Ac}%+S)#dJkPSfQB(2mh4+KSTvGl4h(D|vxaG6BJHMgSDaO>AOTzA9G( zAE~Q)r^(K4_I!hCrg)<=oaWF$wY!cOX1&Xc{bpL;S-~3hY+tw@<_`3bGhCKb=k<}`WitA}Lpooj1QipiR5(e{8}Yd%z58jd|7yN1O$+E+ z|2KEnt@VFrYj5Xi{eO&yt^Z8tS1~(OC?IAr(B=Zw#(*8jouV1~Wup3<(^oY%7jQ%Z*N%phYdF zA~ejq2J`QxY~0p`GqZUdQd~r(8H)qS*y(C7EGi|~Pd%c}qiSeHLTV2u8H}A|wh^fZ z_-SC~u{2c6v6rEYIs_*`WSRdr_iPmElu!V{oStTy;;rZSZq*SEJCSv`iMkpk6neh40*f48-CB`ZM4 z(wBlzOM|Ld;K;FR(xg?Y@z3CgcUn$W*7+@Zgb9&Tqr*C7=~cU-ST9U&KPjV6%IKd+ z8Exu+@=VF{_JF$dzs-$3TmM_%+j`Rf9^;|XTU7tpV8hm4SrGV)r0?%prHSk;>!5!}_aUfrr8yvEv+W#0DQcHg3 zFeo?$TKLs@$WYD6;cDGF*%?;r1VQ_jnCNVYIDaea>-B1wSLmj6G~pwd;G!fB;3j~fHrBq}O|n1m z)71a+dGyHfKU;hD{Xg5A8&CS*qdd(2r|W+w^=Ts!;mv}W+x0=eSC56oX!AZt#SsG-FDE zxl(e-`;PC9byQnMWGi`n-k7Fmr$@8v6X0Df<|Tg@ZKg$OwHXWSa`bQwtgfRFg;D|2 zDo`Z~q5Lq*Z&=+`eI3&ckbE9>8XdAPPJTS}j6l#_plNBPUaX*h*O@W{HU-#s9^S)V ztP1miRnre++Pe004XK4*2tI)A8MsA9DEb3Jn@AWf7qG>C>QOi{z0Y&*N3zwB*MhLX^1X zKhIVAX#U^L?R7i;e`kH?Y5qUT)6oBAdfYqe`zoTi%>k?uMfddo%KTZHHYQ(LI;|YM z9!HP(tm#n_j?4e6r~fc?DC-tFrtr4;hz+#;eZ;aceSO4c>pFeJcXJV|4mQ#CRoUw5 zi@G2OnhVm-&dmpF*Pv{3JD$oR+2wU?8H={pv12ecypD>72XZ=Uq&HBu`5a|E-REer z^z-=~RSTY6j(2&y>%X`la~Wztr~bcZ$N%qcZ#~8TKgy%&|N4ouh3x?IxLUhCpqE|5 zE-1bnwE;Kh`^2&tuDX)6VWTUxm4E`WHahjD=-IEV%=WjpwSP)Ugu1lM z*U7$9aWFqT11#E1VqE2aYE{5T@b4{-e#!jHir{ILisbCm1D^qD01Z+U@#0j!r3=B0jjhWIGy7mR?)xVdg zq5lg<-RS-IS%H7cQUa5cEIz16#zHWQJJ@jur2zs-%k^^GU}|1q9c{U2J||5ObL zkZ1f#8$Kxfc0i>PY4cX|i}`l-qn!jkuqcA{RP_>WsDSEt+sZF5`;6=hS+2s(P6}yUAbecRcCF6XY&lk30n_}Bktile)_1H1hH^qaZGE40cmCCDiFwZf~>YYL?lFL$HWX9`vCg)#&I+g>wZgwha)b+2+5ecVtiKRdw0Zl zgDd;yImy8M+5*cJfg%DyPU{$x%Q{$Jg~)WrIEAZv2MGoJw08FT`qJi*MNflM=Jytk zIY?+S&QYib21k&J35Z=kEmN-M(a9vzz9UfPizHHrhQ@^pZCr5)K(Y&gn$ST4TZp-ZHWgs@4_#DyF zs@MLe;2K?&D5?sil3({jqYue(qoa(?9Ho;;N|urCOB=-X>L3x=w_kH8%{#F*?zpQo zoHuMc%E}Kx693Mjm0`lJ3c%33UE2VnDu?_=6KxBM?Ff>ba_hNo>#UJ(ff8TCbR@FS zFI>L8b)>JblUOiLiL4b|%m(;FgbEV4F}Y+SOR7;{80{m5HC8L9n(f=u_Jwl;e!tGx zj7*+87(Em>mP_pHUN#52r-bBn2R7~{ud#&uI&-a`%;NxTNpom$jw~LzP{5~ z**X}b%?NQP6?FuRdZo0uv`LRnkye%cHncwnP1epTw(pY%4S)Q6BWw-_xpeB9Qk*51ary zvdBYZg}!59R?jrG7$AZBsA!#qoHbQ6pLds$Xdgiws)HTH7?af0GCE`EmW6?01C zEL8?fTl}XU6j&g-E|3$3Zw!vn92MeIeZ%!wGYmNIOGNlhtUAlJr5Vpy@E%NZoTBko zxTSrg42QO!GX$dxoQ}$=^>!FpFFran12MhcuYu>&oaL3V2U$a*h^E;_+OeCx__@TOUw5Oh;-E3<`IW}cOKl+EwDIl+rX2g{&KhASA7F0gk zm8m@brn5zC*5!FNB3>K7FXpu4cFeRx-*+@`El-p^99Eo`RzY`v)Ut^|J`2S z*s%Biw|1WFzejnzwwSzFZz%7v(+x28O}Z2sAN1QNm%TS^f&5Gxq-rajo0>8D&q~%_aV| z(k4qi%ZMbt;Ulj3whvZ#Y6)Iwm3v3MFnhS)2F7NfHG9NZVMBWrtbi1W7HRF#HuR(i zxCM$tPFW@HNo_#X2Lb(VO(uSc>Twn`mt>%~RT7}j$uJcqEh9H8z={r@JI>{p4Zc4+ zI|*2$+sm9b_FT=uzwfDh*B&yVOZr+nMJGkCtoMb2-_gZtUTQm7HWp17+-cM?^nF?; zr=p|!0_fNjG8o2ZnyZ)vb~qdk+^HpaxaS*~JG>$sVD0d5?MQol9TJq}w{XcD!%A&h zaSj<|} zY0>|emIu5;|KHl&wDW)O>~25h|9+Hb;rQP=KlqRJdF%&?23D!VZ{4A~_U^!KpIF^n zcciX&OQ{j7YufdOiT^yGM~m%0-7Y1x_qI-)#_~kCN(RGV)oht0wi(PSzqF#XnNYVz z1#4!75lCTSbr-9l(Pf@5>&_u(YXI)ZFo{m*Q&uS4V0UvP8A5j&gl0`E6M`(wPDu^__uErdx3;n|WYYJU&dLD^`_1R8Y}=ia@fRP4S{EqbZ_%Vy;8iTHmdV-s$+jN>+%Bc4D{% zhe=fuRJ=L~R>2C}0ahPZg_n@$nNS6r-4V%8yuA8p=pt63+gp^zHMK$^Ge~=#!T29A zfoX(_KqrNbE>X%kJhX}upZU(9%vHQi`I2Yl&k8u1;D|>m@siF@=BX5a@7C?zV$4khAq- z?96Vjj%FAukU=tiW$tYbE!TXghuQOFGiC^WSijVB8QIsQDQvE-Cu1M1bpy<^^X2?{ zc6g%giq$(6XNM;P*Ji1;m(jUT)&{}AQCFx}VF!O!>b#~>)T-@8aXXq^337c$adlNS zQohof(A;-yF=aiuO8r_vYZA_F@H<{pKw!CroB{UBMzHeP~E}`}P$>*mqsM!Vxcg?+Vuy z*TG7HQWI8dMrpo`F{@b;NZBh*(tibCmH!I<8mMD@+)rtXt%dG>QLCfT;I>;|SPlKk z7qLWq=KEea;ZK*nEa_>;{{&x*B28$OUKhI6pw(3itEQK6G2RA@K;DSD zHIAGFE}yD!eKp*MbV$NE#0k$X^c<{$fE1N*72oOZ(dTydgS!NVap!~SWFtwb0>(&E zhLJE(+^u59Z}d-e!&{}DLi`9WcDGR)nVV)5;uX4SgIM4>B&aXQ+uz4Qg{S91o{sf@ z8R;K806GBh1V@mtFp5YdQ$?}g;Irhk zw&B%dJ#*~(tx$*ZRz1`?*_3IbkeEbt?zITFC!O+3e%$)s6jB9H+wgx#|Nr{#=8oB)D5tPMF@RB#Y018Q5>y{4*I99uWH1iP9Ekw_B1;lsbr&#= z50ZQekExe=20zB6#(p4Cfn0691H^?&rq*uNh83um*xV!1jcw_T|BX z&HoHyvTgnw30m(V06O>o8u$P1?QLv6&Hu-E*!(|8lI$A%v${aSg(mL(&UmO`jMC6M z^_^LKuWC^GmXr*a2oLp28s1RimorrZWW_C7iZ9UiFkzk-SzchOywq+%w#8=OUa(NB z^xVXCqj-31AVdyMFGDJj_)Q|Ff4fApIVujbSZEcYlKcddE$+YpSBwW>35Oe-Mic3h_%wiOn69v zga>&p<@={k1DNMl#PeKBK;Nw5JC4+ZGlMC-MDg%~@4ToJR;P6W-=>&76)m_AXB%u7 zI_c}U_FlWMvRRiMTudWmwoGn}JxSL;^3x{&`Otar^IzNBn~nRww)Xa(yU8p6XMWWc|vi}&MCnKieObDP-Zj43^*>;c{fflN@5;nnBW;E zD5iEDnc@lOJ~}?7WpR4Rvfr+TgI5z!@D+dq5!r4_F&fxAOu#ix5^5q=C8e_j zkP$DaZ67jqkdQWP($=^l$MtT!3%(T>fh}pQHNZ8;Tce0I=49)-#~nWgAgkN;y!Z^V ztyI=`1ZKGRwRlj~_aZRXPz|gIP(g{iOap;gNlRD#Rpa=2--uFWBJw%NtM!|SK+HsK zh*NnebVoY8*)SJ#hL>X6S%+{GdamUw&>E^q9PxLpnHDHdV1z*Me*+M_4;Gg%vQ@TN z7b@#P6tO(zB%`hCXh~_*Iksl6=C(BphWt>l(R(WGdS?jXst;;vCKYK6U3EZG{1Nm8 z@lvYVOOinUxp zM~%<7=J7^9V2EZ}S|Sfz_VpAk47MbYph=Z5z%IzAqJRtbuqBk900`zV!7;FLu6$Ll z20n^hQu$A5=(Oqo@&Nb)`+wGVoBIFG-jo05Q647U-k{==uMh-+7@9vyv+JEENKvq0b1o_2q4`2*7ErRh6i4R9VSpnACb7uW6^jn$fn$b?sSI z62=dzBV8AmAe$;3odHTk28AG~gRCVr2Bt4Y{b8rAyZ>pgdH>Va_S62~ zqdd3#Mu)R00yBuy`f?L#iN!!Ab5WYjHzPG*?Tw;(nWf+kB{UJI4?5hG`uPzyKg4}0 z#+5c>raH^5d|DtZP@a{TWW|kUxi`GMW*q`AS4{^ndw)_TiIyyA_#ZD*SsG{WLi=Cvy>%VkivJlaa@LMd@N z+jx1Wj0Fak1W!voK?E54_scMn>7(|r{^s~>0HZ=uFZt!B7Tl{ zGpncWVH9BOix`d8^~25n`nJes{V1R%%{yiU)Q^%iHDg}5sM3f+>HIY=iA4~5)jWPG zOLNmq{o=?Sq#MN@T(lrq7g{z4vam3M6Yc^la}?pp4MRBMASPKsyB!x0GZQJCSxF4?lHyOUC=)`IYrSb@=nS`9+)3n8m5vSNiB)nEGB6SMx+du!MG7 zHUTr3tHg=`YW_wUpKSGrIb`)NM}&I_(ul;Gbj3pZ2=N3tUXIgVMt+lZkvr|LSFKVlSiLukX#qIW1V_J9z zqKoVTbx=L}W&pU|%C9LsD=Kt+a0*x&Rd9(?R6v4a@ZHHffYV9F8%aybj#8;*+3Xtt zc~9A`NFN|R%48G)+d`ohoq3p*BB&Dqv7-951~s64zzjhBRg)A}(MWo$I_SAoY5_&1 z#j@(zIOT z6C=auwcuqB?@X0tAL*eV8?lDtS3(?ADHb3Sx z8d`oqS3-B)o_441^JD@vQviZyootAkV2-5$|~I;i7&D9y)?P z(AuK{r7*B>z_;duwLk^(Ei+=H2zA+_jV8n$A8W*{*{ibND!_X+VvY@4g4`yX8M~ z#ysTt@2#!9hWy{%dAk4YQ64V;Ss#lm$kg^vvP&HGllsC}H++D*o^6=&o{7LnEM#NU z7a*sa;@IwW(TX{w81q#L8wvEjc9{_nZNe$wR-$Ubp;N>=J z1Bvp}EV^oMg`1^~mNE51kfjX+IuhH-lMtAL6(&b0fj6fp%F?(rSVgBw=qLo*NtfWM z!d4aNY+9glnk8`)wq2qpV1j2TtB99m^LtOAIVv#ouexCxpWP69D&y`yKlk$c*`H4R zPv73VqZZg@|L^Wv`9C%{)_0%m|3`V4iOR24ZSw&5Geh`xiEVTLIi0y5*1&U2(9Cy@ zudZ^;D4-L%Y>fA719ZeB1cS9|yA063K`_lqRw<|h0RwiCFvDxa{yQ-3i((Rr=h%_H zE6d8)5L!St?-ek~XNnF3CzZ366zL$?9lp%WSMPX?Q(c5XtfQkCpG;AyQC(ISbtUm* zYy|pw0!lO(1%mMpX>ucXuKBMHC|-w&-j)5%l4uaEaW;>Pkh6Jxb?})Kc1~u_BNBQU zNzy~Z_sKPEh?58X{wwmj3cy0IPWUa}v3i2oKq+Dti zbT@e!WU2ZdP3?lsmT=V8mT z@;V=U6JEfp!8ak9(Z90-Uk<+ce+SRNkFda5Rf1PXFUvug7ul~UB7+de2#$F1BKvg^ z&dVr^(dhReCB*!H`|{xE&C75WKLn2U`M1YZ=exaj~+%ML}+PS}INw^b_kt$7s|fO1w;h#dhg2ZL|E`97PW z9A2XFH{XE&l(;W3nN}BJl+8w@s1Ofq8Noa+N2EY#G=n8U#fWq0?}Nd!XW$LQG8A<% z_z1*J4=-m_7x@U@6$$t__y~r>;Sliu$v@cp8VmRc*nbS@Tdu^-P)dod(|C=+`QP_9 z!j0W^xXs-wf1uXZ-F*9{%(Zod5ibqvVg8 z6S-eme=&9=M;4H|?Eqg|NC+TEB9HuV@D0t!ibPgv`SO;}XvLHVvkMJaZxVop+=#|UAHik4InuWj1-*O*xcIO=v`F?wHP#<9iH??Zp3EZxgDf2 z%*ElGSFM!H`z#_>9g%vTdu=p?4LtKa4HsOmWHo++-nTe08 z6=jx=MCoCa;C=ub3n|;4bJye=Um3>Pb=rpmvV4{IDs72j<1z;r#|@q8_~qIAgQGXE zj@`s|fwOh3)Bibr|K^9IcduVM;WcH1V5GD3H7?L)1&jE;-ERZ(4S=f`B_z{qhDNGJ zFL;gq-w4;k&GpUo^%t9a8U%Sh%Qu~iOOITVsfs)w<*wdA_v%>}e%-q0nb|I_c~WPr zRORbqovtN-oxiLLI}Sm5*6bExDRV(Mc_K3S_^Z}Ac06S!_yb!hPEaw!Whr>-B(jmg z*Rv?;Ckvfa>jz(bB3P;5YFQIk!}x$MptJYY(EI4)ZL0Vk74Q41+5MF2PUY7+nd>am zXE+##K|RFi+aFvb31JkWvV4=-fZrk*|5RXten=zD-gQ9e>Rv~cI>^TC9R9f#TZwn z*f_&_9VG|Dg`UAdMY1}J7`sfIXTF{x0%J%Zs7gxv&r_7lhH(~^V7?LV=-X!6?oyf+ z*I5?-I#Q)a;*yne#H+1-rp;m%|67uBq|R8sr@zC?Y&kgE_kXuGx7O|b-<{2!r~J>4 z@`&ILwF``AOtP)8D64=D1Dsw4gTem^+BQqs=%Hh~N-+s|U9Egc3Phr5!3yHZ&8Vy} zLBU{kFkq5ESw3f|B&YNn6%AEHz%7Htiihk2`^~m>fy5VnkCGXCHTX0bOabv44&|ye z0xPTr_@)VX6`Uec3?yV|cb|aP)1Ju8=j5qU#k0r&fEh zljCBpq!kIBk;0Pc!~AD1u(^_5m6sMO7I^{Vq#&uiYSNJKk=N8fE*4cg_ZD^+I{ zEO=KR>2Fy^lNH8g5{Vlh)+m2hjjDLUYX5bgezL&URD26@a-3bSprQz07DZO9teRk~ zQ@ORn@C{7y1n~sZI(_ne8GeVzihd`~8VH(`*d*tmEK$KPb3e|=%UMotR+=cynsq+3 zHSnI_L}6D5sg1u9aIIeGD_qB~D+jCL;S?uvfzlNZ0y!nd`x?@p*MAY<#b63n2X;r0 zD72^5etW-YjNn|biLiQ!hv_z<&0zsxL@JmZK>}I!@5YRmPhCzh(#Gjy5D-KE{TjGJ zH}$};0Xir%F*3^b0b~h)R?PPdYDj;rtcEL`_|+x_&6Dj-R{pz!36JGjY4*vQMUOoZ z)L*M&%J&u22gPN14=L>x(G>1I3^ad#xy0VonUIYh|+n;|K4XG-)EEeD4pw~l%Z)f z;8td<8;e{@s-}yaZ<7o*+U6l=Ld))NhnszfmSBzLT`}?&P52*FlI}CHoMti4!_}i5HT1?PS_6TFn-;M!=#76h zYqq(I!W|&{_EDdmG@tt{`F}H z;~7rRdk`rAQ4+Nko!2+Xe1ktQ63ykHL0&_WFF@~FqjLM0Y%l)*oV zt2Z|21p$6Ce|B_Ila{*I8jqtJ9gQ(&n)R)V$3Ffxhq=FUgM(d_HI6;$>3<$Qo$5*+ zHJy&mRxO>@y|a@3GM)F-(QDoF4a~WMc!gFPv$(1B`W5z<>AZ)&uI?7=sj;&-xI*CK zw`@ryZ(#1gBPz-K8@&F{JXP~Awo>n`P3;#Meg`~u3*a61ehp+-I-2^RS`-4{oPdG!Y7KZ{=Y1?($~OSGY0rt>uu;W8~K+5`97 zfAAYqBD9=8RQ+xkTf77t!hH-amtn<0i~&>Y*Bp??AP96#iME)3b?e#u;xVaAoW4AK z`|_;TZ1~q&!IbDpQTedzGX77tI&yCHTp2~Dtm&&n&BzA1s+1UJJysF5gqn2qTuMBP zQY)-4Qd#(X+5(+>_Ht?}4QxpuU{!W1b6K zUkwgfv?McW%q2!&5O~xW#Ue7Avp+=`o$x@d0arouSo1zzCE82UANw!XU##ms46Ui+ z44~auTBBEcF z5MRiWsn>kG6_bhZmi3Zf9pr`MZ=#9e=k;GYDtcBtIf~an1E8SLSmW-9M2vqw5;@5< zL@ka7eyhbkSighfU?Dc%dzyJ~wSvO-x4jn$_fR70BRBeqZ6!B^#xULo=L(5-OlNG5 zYjuaC{)p9)8&PHr7){Y46@bdSC(j?5@Dhk;KVdTE%l;dc!FWLwTI%BwKX2jiAIYO( zW1xjq(feiLL;~77|d?iAC5sNk}U_b8-Xb>3Qe<;Ns}bxgAV@SJ=*l*OKnGe@5e3cCh5th?`Z`_Av%yXrt~JRS19cuz*Q8#`ET_$_ zk#1yE7I<;7kH&_WY?n3FbW%y8(KBb`NrNE{^o1#QFB3K=7*Zb=l`~MpYH#7l&A0cKVTi{dx#@|A~(0UJ!Ef1cgs=)Su(?D1~daBcKkp1i@m9bZ!i{05`BJLBG) zF>p2Z=4&)#peL}>&4nX~W?6cQS`Pjh*IVt!tU{^p%`ZlWR$p(dqRzcp(jY@`&Jy`? zDlYFj^@T0igy^?@-Hj3xg1u$dIF;llMVZGwD$L*sgNQGBzeCgR%-Pk)+sjNiR1{5R zuRx?KQjZ1)9?W2z^)eHUQ+KkX?r1O0+#v~c(Ad%srvw!f7@^xwxB46rg2x!F@?AZp z`N0dzJWdcnD-72faJFi-VaHu*gN_l|KT5>Q&?}pHJ)HNSTl;x>4E=wa75F!5$|vvh zEPf9wl9ds>w>i*p|HJy`-iCeu-_G{#lm7o0&zGYAf3Jq#NfsZdfwyd9pbO2P$ujWp zqMw=2$;hV7(9L`Lr*Jq)#22tcKdQ}H?I^aWPpLGbl0Mzn@TecJ3F2vq+ZZ`x`MjFY zeLG<|eJgXh>5nS_?G60UTGnmuxQ|wOAF6|xx@J2Uq%vNw_xi>e@2bVAsK>#A#F#oc z?+h!LdCkTAG1yphF?tNP+)d-=#3>?l=9G)KP@HVm8VZb2&hx_U3&MphVwIWI^zUys zKGu!ce-W%Mm5+)XCnvW(oP6=8J#N*{MhQH<(Y~)`8gxEcwMdxx%()BZtmD}<;NxXY zwOijFV+8R6jd0?-W7Gzq8?821mVvGw*B*3rf%`{Twe(7lAgO)}@f$=69DS~pxW)Y^ zlbM=Ubz{Nf^78QH-8+I4{2NOmd4h@vr37B0KJvMrMD}6W-(B|!S=ENI)ri|5%Bx@u zcGsIHQME?BL9?v5dEj=nAlcu$OVefyU@!)IzSbRPvkRQ|QxERnIgit7*`aHoodHiP z-~CsFAQ=V(DY>W=|c&3QBkfP zq_GTIc9P^zwB#m@9|-LzY+UWM&u?>LOAWuusdshbil+S$pPQ!k(ZM6`&GId0w*XLSS*zR-=nkCZmkgq>xNyQnAlJj?7!Znh?(W z3?)zAF!u5MK70eN;i9iC425Ul&=L7qjP|gJG1|u+`jOfguEc7+Ch)^dUX8hu!X|_N zELOMZhn^=W1gjTuGs}f~5x25Mlp}gxlz3YuNE+u>CEZ3ZXfglshbGZVfB0)lEPh|p zRRUWxsIJdw&_USZX#V7Ay?Nf3Dl=__vRP$v$tHo2oKL=XE-lh*eilH@XmOIc{S?5b zd-=T^!^RET>;87@v6OImL)HD`SG@|YK+&ePiX!ZM_q}&=J5);UsCNrfjZ}NXv_-oV zweGS|Ig(GX5nJDgwf|zhQ#-haDzOA*lq+5KlGdlbY&~68_Vao)-UAd%!m_cswcT%p zH9Oo-f@7eL0Y&q)ye@Bfz3Z~M)FpE{OG;kg87ywt0yf@PYeidf3tde54$66!2MwE` z@d8FyD286R_gjmfkQ1QTA;weFvLeX89{j=An50y3& z#b>Wi<*Ro8l{Xq}k;IZM+JM)8b@uwS)njy0WOE$fDI@niR%Mc?HJSdg@37xmE0&6D z`~1(Lqqb)eWE>GsA43!HWBm>U&Lo;{dUTc_XLVN3FOKD(hiM*8@iL#s2erTuJ?|Kz zzHIfpNI$>R19yO)?OkM!ebV*rr|Y#W?sVC>habgAJ(08pw~?eg%~8~?CUP(>9s`n; zba3h51aQ*<(g9|1UyF{IqVgtUu=OXkuD0c2@aRyDrq#2#&Fj&Yf#EL6S?@^3GMz8| z#@f@_uP^p7;y-d!%y3!K?tcGkcCoBDkdF9|-QCR{EB<45XMOJ}{^K#8FD3rtq#kvZ}*bpy+8R`O+D2>nq+;aEd*+p$yFV8Ig@9d)0EdB|T zshxUmVdF!~FZvpngf8RE_si4K^(xQO639G{J?nItIgTnS)7AcH0pd!e54uJ0$rkO8 z$Sm(?fwCTR1}pqo?2=!z3!hE$eU@Dbd*r{f3(FQ6!ir==ZRu~_=cN;F5!*zg>VBtP z{D8V$f34Dqr>rXv(%8xgyxd#t1seY?$ud63nh$?$$#QoYaW|RNCRv_E)GxIhK<}K8)I|ybm?)AJnG7T!Dq8zI1yY>e=_v({CUy4BQDXeW;L`Mqm zj#kv4>Xc`QEQ8hX6u}~@b9;8BJzWS(pM9 zclTmCf%d($-LEFO;oMV8I?QG>n8sbFfopZ9rw+1+?y-Q*vAC|Wn2xcCZqZ+-SVWgt zK!;ddcUV+s=&LK-<4Cwyu@)oKuUHFLfY#h^vqEayLeTq^?5?yU0(q-8KDxl^sGQPO zdKj^_dYWCQVE7j7?7kT9?7jekq5n#oU+B2|mwmai=lHaQ095%p(FiEoOlLF6if-cd^GJ**^D=IG*Gk|ywQh!nWG#UAA`CXA!`Lek- z;b8Z7cXuC)MZ3GZ9u~1LcW2StDm^IQm8e)YlL`rV|8IZ$+heflZ-4unXC$dFOJLJM z8b8peYGatM&LfXR%1HM}RA27S;*(1ppH$c%x73HPD4mBV?_M4Gc*wqg_v+~P$FV09 z`teQZhcj*?KB`)bT2Z2}0V`Fi4g*#eTi6~InZ>1qdZ^G{=a!aBfIDC0pbAK zu>8s50UWI89T(8bMrV9LJLBn}$8dI!7y-YBpkMgBdK@~4;27->+i7bMb*xo(U(m1wqM8>exVUCqM)+sZ zSo3+*GqPAsDWc7&z__ay6ZF5|o-SF~7<8Q;9=v`zq)7av;SWPmXBg2} zL!UHa!&1rRhaq^_Lg*TQ7Ml_J$ZvDyBfiLjd?cQ-U^vznwrQC%-8Nc7^Y0L=iE4> z3bXrW$Z6fgh9xAR($`L~-?E*5=e*Ow%EXp_YM*A^A7j>;n_Jo#xZgB9O3RZh!O_i^ zG6_4TVQ`pKB|*ivxUj5VDo|3+l6y{`UO4VI?+q04Ow_S;&FUMNRxr_gicV~??7{ux zEOp`%@1MlMA66WwF>pU&a1h6sk_MAQwH1C}_hU=+p+M0pA5IA*IO^DBfDXD<*sSD~ z^piCS7*li2ETjpjn-tD)q~}U$5OCf~fGMHiR2tHjK_Ybqe&Pm)chqe8MR|L)K`8!uJ=jRHn=H(rm%z@F=dc{Tu z_Y!lxwegkQrol zLgOQk{Gb|q6D(^{cAZ|sB0e~I+Iito&lr;ho_lU_D1CA6 zI&H+NuoXf(NRFsB%t2My*9UUZ($x^{0WZ zJ4{LyZHt%kB5n-GZX*2HeSuM(*o}(aT;K!BjD*l9UtlJ9@1(<+xgPvtI)7fH?2o4b zh=BY%DFNPVCS^3ewI0sBiy;5Prng#z1p)4xAsZ0zL2pyac=f=G_)B3VdQL?@$TAMxChEOb4zG9X4T^C!11dEjV%-yH1Y9TI){=EK6yDQEzyWHt+O_Nc~;oi3>9OGogki$~W zhyffdJ1mY9XbJxY(mULdpk&h$+O8(%(wncy^l?B#-Nl3jBNr$lVgKIE3UwrGy4zYN zlSMQ>%MW7^jL0nCXxfA-F9j{aJX>ufUSl#HGMo=e=Vp^mS>lWV3XX7rB0@!ZcZ&qH zKbhmwl?|+!BusValLPa~f%)XXd{_sjan^_Tef!EWcT~_N?~u*WG5A`9y?<@csC&`A zR&KN((#R^ueP~~Atbd2C55|!W6Un_SCh;^3C%wIz%YM0Kg)ihrpx+wIB*}vkyqyk z_+N~H^LV1Z?v0+JUhm&K1_Cv4T7um*x3wG;W?g;Ra8>jhNnMiLgwy6NGfLX7GZT#0 zk5>E2)q-Hu6zx>|&h2Z2@~qWhb@!SsN8F2pxwvZ5r0rG{Cs+NQ?yBB;mkBULw;U6G zX0bt`Rp`E)*4+ZPeN{7MO{Yq~EXLWwX7Z3G!01ml5ZlsCFV>Aahv7{B>^TwEgGgrX`pIM$G}%;oDEz_?e`<2doXve)+Dv|;qG%ce z1tL|EdNh3S#YyWsd6vAgTBC%H0qHrg%Ijtp8-)w_jy&caH|ccLb?(%bEBgC_uZOh{ zNj-%YIs4{c!cK~eWKovfa~1P0U=n`cw0iEfMnV~b;Oy|kih0Zv9AQG=dyb6y#8EDw z?sJ%nVEg{;>|{aVr?9cQi=#VTY(X&4oi2#)-O=5dN$a|?@h@Mlq<#{Y%NCci^L^4x z4x0PRvV%0u2)jjM2@1JanrT=ppm&#T8q7vm!~+PoKIoPy-TLBNns_r1Hah7xAO%Dd zd=-id%EPPb0u?DDs0?u?J)1)RFUx3(m^l(m3CT+pIszU@T6(zkBrZRbxYYWiRcNYh zJXlxgn?zq1Dhour=xxwI^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9 zO=cuK%?q58$x5Kn_EibejDSg2rE##PF~PIr(z@2odGd+|dUej-pyE|JhY5}av&}95 iUzJ_dEOkHU>3Mpdo~Nhp^Zx|^0RR72-nd2pZ~_1i{MDua literal 0 HcmV?d00001 diff --git a/incubator/sabnzbd/6.2.5/ix_values.yaml b/incubator/sabnzbd/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..30d7a90daa6 --- /dev/null +++ b/incubator/sabnzbd/6.2.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.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/sabnzbd/6.2.5/questions.yaml b/incubator/sabnzbd/6.2.5/questions.yaml new file mode 100644 index 00000000000..ab15d95f125 --- /dev/null +++ b/incubator/sabnzbd/6.2.5/questions.yaml @@ -0,0 +1,675 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HOST_WHITELIST_ENTRIES + label: "HostName Whitelist" + description: "If you use a reverse proxy, you might need to enter your hostname's here (comma seperated)" + schema: + type: string + default: "" + required: false + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36045 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/sabnzbd/6.2.5/templates/common.yaml b/incubator/sabnzbd/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/sabnzbd/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/sabnzbd/6.2.5/test_values.yaml b/incubator/sabnzbd/6.2.5/test_values.yaml new file mode 100644 index 00000000000..975c096f802 --- /dev/null +++ b/incubator/sabnzbd/6.2.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.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/sabnzbd/6.2.5/values.yaml b/incubator/sabnzbd/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/thelounge/1.2.5/CONFIG.md b/incubator/thelounge/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/thelounge/1.2.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.2.5/Chart.lock b/incubator/thelounge/1.2.5/Chart.lock new file mode 100644 index 00000000000..950aa4b245e --- /dev/null +++ b/incubator/thelounge/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:57.579786086Z" diff --git a/incubator/thelounge/1.2.5/Chart.yaml b/incubator/thelounge/1.2.5/Chart.yaml new file mode 100644 index 00000000000..ecff7b6ad63 --- /dev/null +++ b/incubator/thelounge/1.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/thelounge/1.2.5/README.md b/incubator/thelounge/1.2.5/README.md new file mode 100644 index 00000000000..5c6d12360e7 --- /dev/null +++ b/incubator/thelounge/1.2.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.2.5/app-readme.md b/incubator/thelounge/1.2.5/app-readme.md new file mode 100644 index 00000000000..3bea542e86c --- /dev/null +++ b/incubator/thelounge/1.2.5/app-readme.md @@ -0,0 +1 @@ +The Lounge, modern web IRC client designed for self-hosting diff --git a/incubator/thelounge/1.2.5/charts/common-6.4.3.tgz b/incubator/thelounge/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/thelounge/1.2.5/ix_values.yaml b/incubator/thelounge/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..12e3b82367b --- /dev/null +++ b/incubator/thelounge/1.2.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.2.5/questions.yaml b/incubator/thelounge/1.2.5/questions.yaml new file mode 100644 index 00000000000..8ed478474ff --- /dev/null +++ b/incubator/thelounge/1.2.5/questions.yaml @@ -0,0 +1,636 @@ +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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/thelounge/1.2.5/templates/common.yaml b/incubator/thelounge/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/thelounge/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/thelounge/1.2.5/test_values.yaml b/incubator/thelounge/1.2.5/test_values.yaml new file mode 100644 index 00000000000..b92da5d94e9 --- /dev/null +++ b/incubator/thelounge/1.2.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.2.5/values.yaml b/incubator/thelounge/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/tvheadend/7.2.5/CONFIG.md b/incubator/tvheadend/7.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/tvheadend/7.2.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.2.5/Chart.lock b/incubator/tvheadend/7.2.5/Chart.lock new file mode 100644 index 00000000000..ee334e79533 --- /dev/null +++ b/incubator/tvheadend/7.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:58.888605024Z" diff --git a/incubator/tvheadend/7.2.5/Chart.yaml b/incubator/tvheadend/7.2.5/Chart.yaml new file mode 100644 index 00000000000..b8534f135ba --- /dev/null +++ b/incubator/tvheadend/7.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/tvheadend/7.2.5/README.md b/incubator/tvheadend/7.2.5/README.md new file mode 100644 index 00000000000..9fd48d51480 --- /dev/null +++ b/incubator/tvheadend/7.2.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.2.5/app-readme.md b/incubator/tvheadend/7.2.5/app-readme.md new file mode 100644 index 00000000000..972a532e256 --- /dev/null +++ b/incubator/tvheadend/7.2.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.2.5/charts/common-6.4.3.tgz b/incubator/tvheadend/7.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/tvheadend/7.2.5/ix_values.yaml b/incubator/tvheadend/7.2.5/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/incubator/tvheadend/7.2.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.2.5/questions.yaml b/incubator/tvheadend/7.2.5/questions.yaml new file mode 100644 index 00000000000..808628a146a --- /dev/null +++ b/incubator/tvheadend/7.2.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: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9981 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36042 + required: true + - variable: htsp + label: "HTSP Service" + description: "HTSP service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: htsp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9982 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36043 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/tvheadend/7.2.5/templates/common.yaml b/incubator/tvheadend/7.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/tvheadend/7.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/tvheadend/7.2.5/test_values.yaml b/incubator/tvheadend/7.2.5/test_values.yaml new file mode 100644 index 00000000000..2835710b41e --- /dev/null +++ b/incubator/tvheadend/7.2.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.2.5/values.yaml b/incubator/tvheadend/7.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unifi/6.2.5/CONFIG.md b/incubator/unifi/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unifi/6.2.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.2.5/Chart.lock b/incubator/unifi/6.2.5/Chart.lock new file mode 100644 index 00000000000..3522b5005c3 --- /dev/null +++ b/incubator/unifi/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:02:00.185928759Z" diff --git a/incubator/unifi/6.2.5/Chart.yaml b/incubator/unifi/6.2.5/Chart.yaml new file mode 100644 index 00000000000..82716d65da7 --- /dev/null +++ b/incubator/unifi/6.2.5/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/unifi/6.2.5/README.md b/incubator/unifi/6.2.5/README.md new file mode 100644 index 00000000000..15ae1d22835 --- /dev/null +++ b/incubator/unifi/6.2.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.2.5/app-readme.md b/incubator/unifi/6.2.5/app-readme.md new file mode 100644 index 00000000000..0e6732e4033 --- /dev/null +++ b/incubator/unifi/6.2.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.2.5/charts/common-6.4.3.tgz b/incubator/unifi/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/unifi/6.2.5/ix_values.yaml b/incubator/unifi/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..c32ec8b42a3 --- /dev/null +++ b/incubator/unifi/6.2.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: v6.2.26 + pullPolicy: IfNotPresent + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unifi/6.2.5/questions.yaml b/incubator/unifi/6.2.5/questions.yaml new file mode 100644 index 00000000000..a493d748532 --- /dev/null +++ b/incubator/unifi/6.2.5/questions.yaml @@ -0,0 +1,823 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8443 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36035 + required: true + - variable: comm + label: "Unifi Device Communication Service" + description: "Unifi Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36036 + required: true + - variable: stun + label: "STUN Device Communication Service" + description: "STUN Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: udp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3478 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36037 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unifi/6.2.5/templates/common.yaml b/incubator/unifi/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unifi/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unifi/6.2.5/test_values.yaml b/incubator/unifi/6.2.5/test_values.yaml new file mode 100644 index 00000000000..d308cc86b98 --- /dev/null +++ b/incubator/unifi/6.2.5/test_values.yaml @@ -0,0 +1,48 @@ +# Default values for Unifi. + +image: + repository: jacobalberty/unifi + tag: v6.2.26 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" + +service: + main: + ports: + main: + protocol: HTTPS + port: 8443 + comm: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 8080 + protocol: TCP + stun: + enabled: true + type: ClusterIP + ports: + udp: + enabled: true + port: 3478 + protocol: UDP + +env: + # TZ: + PUID: "568" + PGID: "568" + +persistence: + config: + enabled: true + mountPath: "/unifi" + type: emptyDir diff --git a/incubator/unifi/6.2.5/values.yaml b/incubator/unifi/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unpackerr/1.2.5/CONFIG.md b/incubator/unpackerr/1.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unpackerr/1.2.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/unpackerr/1.2.5/Chart.lock b/incubator/unpackerr/1.2.5/Chart.lock new file mode 100644 index 00000000000..055cd95a569 --- /dev/null +++ b/incubator/unpackerr/1.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:02:01.459964175Z" diff --git a/incubator/unpackerr/1.2.5/Chart.yaml b/incubator/unpackerr/1.2.5/Chart.yaml new file mode 100644 index 00000000000..e7e17b0f5b6 --- /dev/null +++ b/incubator/unpackerr/1.2.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/incubator/unpackerr/1.2.5/README.md b/incubator/unpackerr/1.2.5/README.md new file mode 100644 index 00000000000..1cece29651d --- /dev/null +++ b/incubator/unpackerr/1.2.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) ![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.2.5/app-readme.md b/incubator/unpackerr/1.2.5/app-readme.md new file mode 100644 index 00000000000..92412a850ac --- /dev/null +++ b/incubator/unpackerr/1.2.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 +This application runs as a daemon on your download host. It checks for diff --git a/incubator/unpackerr/1.2.5/charts/common-6.4.3.tgz b/incubator/unpackerr/1.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/incubator/unpackerr/1.2.5/ix_values.yaml b/incubator/unpackerr/1.2.5/ix_values.yaml new file mode 100644 index 00000000000..f94e0877d86 --- /dev/null +++ b/incubator/unpackerr/1.2.5/ix_values.yaml @@ -0,0 +1,32 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +service: + main: + enabled: false + ports: + main: + enabled: false + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unpackerr/1.2.5/questions.yaml b/incubator/unpackerr/1.2.5/questions.yaml new file mode 100644 index 00000000000..d9e48d1b8ea --- /dev/null +++ b/incubator/unpackerr/1.2.5/questions.yaml @@ -0,0 +1,540 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" + +questions: + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: downoads + label: "App downoads Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/downoads" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unpackerr/1.2.5/templates/common.yaml b/incubator/unpackerr/1.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unpackerr/1.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unpackerr/1.2.5/test_values.yaml b/incubator/unpackerr/1.2.5/test_values.yaml new file mode 100644 index 00000000000..7e289d84f91 --- /dev/null +++ b/incubator/unpackerr/1.2.5/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Sonarr. + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.9.7 + +strategy: + type: Recreate + +service: + main: + enabled: false + ports: + main: + enabled: false + +portal: + enabled: false + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + +persistence: + downloads: + enabled: true + type: emptyDir + mountPath: /downloads + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" diff --git a/incubator/unpackerr/1.2.5/values.yaml b/incubator/unpackerr/1.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/6.2.5/CONFIG.md b/stable/collabora-online/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/collabora-online/6.2.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.2.5/Chart.lock b/stable/collabora-online/6.2.5/Chart.lock new file mode 100644 index 00000000000..9dba931a6e2 --- /dev/null +++ b/stable/collabora-online/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:45.495675739Z" diff --git a/stable/collabora-online/6.2.5/Chart.yaml b/stable/collabora-online/6.2.5/Chart.yaml new file mode 100644 index 00000000000..8f760421a36 --- /dev/null +++ b/stable/collabora-online/6.2.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/collabora-online/6.2.5/README.md b/stable/collabora-online/6.2.5/README.md new file mode 100644 index 00000000000..c0c9079a427 --- /dev/null +++ b/stable/collabora-online/6.2.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.2.5/app-readme.md b/stable/collabora-online/6.2.5/app-readme.md new file mode 100644 index 00000000000..f25a2567984 --- /dev/null +++ b/stable/collabora-online/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/collabora-online/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/collabora-online/6.2.5/ix_values.yaml b/stable/collabora-online/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..1dfa44fe108 --- /dev/null +++ b/stable/collabora-online/6.2.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.3 + pullPolicy: IfNotPresent +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/collabora-online/6.2.5/questions.yaml b/stable/collabora-online/6.2.5/questions.yaml new file mode 100644 index 00000000000..bc55d8ab868 --- /dev/null +++ b/stable/collabora-online/6.2.5/questions.yaml @@ -0,0 +1,531 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/loleaflet/dist/admin/admin.html" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: domain + label: "Domain(s) using collabora" + description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains' + schema: + type: string + default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld' + required: true + - variable: username + label: "Username for WebUI" + schema: + type: string + default: "admin" + required: true + - variable: password + label: "Password for WebUI" + schema: + type: string + private: true + default: "" + required: true + - variable: dictionaries + label: "Dictionaries to use, leave empty to use all" + schema: + type: string + default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + - variable: extra_params + label: "Extra Parameters to add" + description: 'e.g. "–o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space' + schema: + type: string + default: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + - variable: server_name + label: "Server Name" + description: "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it." + schema: + type: string + default: 'collabora\.domain\.tld' + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9980 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9980 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36004 + required: true + # Reverse Proxy + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/collabora-online/6.2.5/templates/common.yaml b/stable/collabora-online/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/6.2.5/test_values.yaml b/stable/collabora-online/6.2.5/test_values.yaml new file mode 100644 index 00000000000..30d2dcb0e54 --- /dev/null +++ b/stable/collabora-online/6.2.5/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.9.3 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + type: NodePort + ports: + main: + port: 9980 + +env: + domain: nextcloud\.domain\.tld + dictionaries: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru + username: admin + password: changeme + extra_params: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + server_name: collabora\.domain\.tld diff --git a/stable/collabora-online/6.2.5/values.yaml b/stable/collabora-online/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/4.2.5/CONFIG.md b/stable/deepstack-cpu/4.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/deepstack-cpu/4.2.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.2.5/Chart.lock b/stable/deepstack-cpu/4.2.5/Chart.lock new file mode 100644 index 00000000000..6b3933fb35a --- /dev/null +++ b/stable/deepstack-cpu/4.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:46.814549509Z" diff --git a/stable/deepstack-cpu/4.2.5/Chart.yaml b/stable/deepstack-cpu/4.2.5/Chart.yaml new file mode 100644 index 00000000000..c6fc753b2cf --- /dev/null +++ b/stable/deepstack-cpu/4.2.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/deepstack-cpu/4.2.5/README.md b/stable/deepstack-cpu/4.2.5/README.md new file mode 100644 index 00000000000..71d5cc27d33 --- /dev/null +++ b/stable/deepstack-cpu/4.2.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.2.5/app-readme.md b/stable/deepstack-cpu/4.2.5/app-readme.md new file mode 100644 index 00000000000..26df7a8b5db --- /dev/null +++ b/stable/deepstack-cpu/4.2.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.2.5/charts/common-6.4.3.tgz b/stable/deepstack-cpu/4.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/4.2.5/ix_values.yaml b/stable/deepstack-cpu/4.2.5/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/4.2.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.2.5/questions.yaml b/stable/deepstack-cpu/4.2.5/questions.yaml new file mode 100644 index 00000000000..09938c6870c --- /dev/null +++ b/stable/deepstack-cpu/4.2.5/questions.yaml @@ -0,0 +1,681 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Configure Enviroment Variables + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: VISION-FACE + label: "VISION-FACE" + description: "Enables Face Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-DETECTION + label: "VISION-DETECTION" + description: "Enables Object Detection" + schema: + type: string + default: "True" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-SCENE + label: "VISION-SCENE" + description: "Enables Scene Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: MODE + label: "Mode" + description: "Sets the performance mode" + schema: + type: string + default: "Medium" + enum: + - value: "High" + description: "High" + - value: "Medium" + description: "Medium" + - value: "Low" + description: "Low" + - variable: MODELSTORE-DETECTION + label: "Custom Models Path" + description: "Change the path of the custom models (Optional)" + schema: + type: string + default: "/modelstore/detection" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36005 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/datastore" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/deepstack-cpu/4.2.5/templates/common.yaml b/stable/deepstack-cpu/4.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/4.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/4.2.5/test_values.yaml b/stable/deepstack-cpu/4.2.5/test_values.yaml new file mode 100644 index 00000000000..939cd7e6ce4 --- /dev/null +++ b/stable/deepstack-cpu/4.2.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.2.5/values.yaml b/stable/deepstack-cpu/4.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/6.2.5/CONFIG.md b/stable/emby/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/emby/6.2.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.2.5/Chart.lock b/stable/emby/6.2.5/Chart.lock new file mode 100644 index 00000000000..56489b9aa04 --- /dev/null +++ b/stable/emby/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:48.11664134Z" diff --git a/stable/emby/6.2.5/Chart.yaml b/stable/emby/6.2.5/Chart.yaml new file mode 100644 index 00000000000..593a1febc0f --- /dev/null +++ b/stable/emby/6.2.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/emby/6.2.5/README.md b/stable/emby/6.2.5/README.md new file mode 100644 index 00000000000..d8e2f11e99d --- /dev/null +++ b/stable/emby/6.2.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.2.5/app-readme.md b/stable/emby/6.2.5/app-readme.md new file mode 100644 index 00000000000..14cf8a3a658 --- /dev/null +++ b/stable/emby/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/emby/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/emby/6.2.5/ix_values.yaml b/stable/emby/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..055f931cb08 --- /dev/null +++ b/stable/emby/6.2.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.2.5/questions.yaml b/stable/emby/6.2.5/questions.yaml new file mode 100644 index 00000000000..f784881585a --- /dev/null +++ b/stable/emby/6.2.5/questions.yaml @@ -0,0 +1,676 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36006 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/emby/6.2.5/templates/common.yaml b/stable/emby/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/6.2.5/test_values.yaml b/stable/emby/6.2.5/test_values.yaml new file mode 100644 index 00000000000..d8b77253374 --- /dev/null +++ b/stable/emby/6.2.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.2.5/values.yaml b/stable/emby/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/6.2.5/CONFIG.md b/stable/esphome/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/esphome/6.2.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.2.5/Chart.lock b/stable/esphome/6.2.5/Chart.lock new file mode 100644 index 00000000000..fef2d16a357 --- /dev/null +++ b/stable/esphome/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:49.385744618Z" diff --git a/stable/esphome/6.2.5/Chart.yaml b/stable/esphome/6.2.5/Chart.yaml new file mode 100644 index 00000000000..7ac4923dab0 --- /dev/null +++ b/stable/esphome/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/esphome/6.2.5/README.md b/stable/esphome/6.2.5/README.md new file mode 100644 index 00000000000..ce5b6cbc2b4 --- /dev/null +++ b/stable/esphome/6.2.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.2.5/app-readme.md b/stable/esphome/6.2.5/app-readme.md new file mode 100644 index 00000000000..1854a47b15a --- /dev/null +++ b/stable/esphome/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/esphome/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/esphome/6.2.5/ix_values.yaml b/stable/esphome/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..3cc119e32b6 --- /dev/null +++ b/stable/esphome/6.2.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.19.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/esphome/6.2.5/questions.yaml b/stable/esphome/6.2.5/questions.yaml new file mode 100644 index 00000000000..b90976dba6d --- /dev/null +++ b/stable/esphome/6.2.5/questions.yaml @@ -0,0 +1,771 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6052 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6052 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36007 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: platformio + label: "Platformio Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/.platformio" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/esphome/6.2.5/templates/common.yaml b/stable/esphome/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/6.2.5/test_values.yaml b/stable/esphome/6.2.5/test_values.yaml new file mode 100644 index 00000000000..107c8e192e4 --- /dev/null +++ b/stable/esphome/6.2.5/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for esphome. + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.19.4 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6052 + +env: {} + # ESPHOME_DASHBOARD_USE_PING: true + # ESPHOME_DASHBOARD_RELATIVE_URL: "/" + # ESPHOME_QUICKWIZARD: + # ESPHOME_IS_HASSIO: + # DISABLE_HA_AUTHENTICATION: + # USERNAME: + # PASSWORD: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/esphome/6.2.5/values.yaml b/stable/esphome/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/6.2.5/CONFIG.md b/stable/handbrake/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/handbrake/6.2.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.2.5/Chart.lock b/stable/handbrake/6.2.5/Chart.lock new file mode 100644 index 00000000000..5b286bfa250 --- /dev/null +++ b/stable/handbrake/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:50.725622355Z" diff --git a/stable/handbrake/6.2.5/Chart.yaml b/stable/handbrake/6.2.5/Chart.yaml new file mode 100644 index 00000000000..95a8e040fff --- /dev/null +++ b/stable/handbrake/6.2.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/handbrake/6.2.5/README.md b/stable/handbrake/6.2.5/README.md new file mode 100644 index 00000000000..f19e5d17461 --- /dev/null +++ b/stable/handbrake/6.2.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.2.5/app-readme.md b/stable/handbrake/6.2.5/app-readme.md new file mode 100644 index 00000000000..483e45f40d0 --- /dev/null +++ b/stable/handbrake/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/handbrake/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/handbrake/6.2.5/ix_values.yaml b/stable/handbrake/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..a47a4681e9c --- /dev/null +++ b/stable/handbrake/6.2.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.2.5/questions.yaml b/stable/handbrake/6.2.5/questions.yaml new file mode 100644 index 00000000000..4cf9059ae53 --- /dev/null +++ b/stable/handbrake/6.2.5/questions.yaml @@ -0,0 +1,837 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: gui + label: "GUI Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: DISPLAY_WIDTH + label: "DISPLAY_WIDTH" + description: "Width (in pixels) of the application's window." + schema: + type: string + default: "1280" + required: true + - variable: DISPLAY_HEIGHT + label: "DISPLAY_HEIGHT" + description: "Height (in pixels) of the application's window." + schema: + type: string + default: "768" + required: true + - variable: SECURE_CONNECTION + label: "SECURE_CONNECTION" + description: "When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section for more details." + schema: + type: string + default: "0" + required: true + - variable: VNC_PASSWORD + label: "VNC_PASSWORD" + description: "Password needed to connect to the application's GUI. See the VNC Password section for more details." + schema: + private: true + type: string + default: "" + - variable: autoconv + label: "Automated Conversion Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: AUTOMATED_CONVERSION_PRESET + label: "AUTOMATED_CONVERSION_PRESET" + description: "HandBrake preset used by the automatic video converter. Identification of a preset must follow the format /" + schema: + type: string + default: "General/Very Fast 1080p30" + required: true + - variable: AUTOMATED_CONVERSION_FORMAT + label: "AUTOMATED_CONVERSION_FORMAT" + description: "Video container format used by the automatic video converter for output files. This is typically the video filename extension." + schema: + type: string + default: "mp4" + required: true + - variable: AUTOMATED_CONVERSION_KEEP_SOURCE + label: "AUTOMATED_CONVERSION_KEEP_SOURCE" + description: "When set to 0, a video that has been successfully converted is removed from the watch folder." + schema: + type: string + default: "1" + required: true + - variable: AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION + label: "AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION" + description: "When set to ignore, a non-video file found in the watch folder is ignored. If set to copy, a non-video file is copied as-is to the output folder." + schema: + type: string + default: "ignore" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5800 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5800 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36002 + required: true + - variable: vnc + label: "VNC Service" + description: "VNC Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36003 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/handbrake/6.2.5/templates/common.yaml b/stable/handbrake/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/6.2.5/test_values.yaml b/stable/handbrake/6.2.5/test_values.yaml new file mode 100644 index 00000000000..9443c18f116 --- /dev/null +++ b/stable/handbrake/6.2.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.2.5/values.yaml b/stable/handbrake/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/6.2.5/CONFIG.md b/stable/home-assistant/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/home-assistant/6.2.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/home-assistant/6.2.5/Chart.lock b/stable/home-assistant/6.2.5/Chart.lock new file mode 100644 index 00000000000..1ca9db3c3e0 --- /dev/null +++ b/stable/home-assistant/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:52.109191195Z" diff --git a/stable/home-assistant/6.2.5/Chart.yaml b/stable/home-assistant/6.2.5/Chart.yaml new file mode 100644 index 00000000000..01a0b60e7fa --- /dev/null +++ b/stable/home-assistant/6.2.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/home-assistant/6.2.5/README.md b/stable/home-assistant/6.2.5/README.md new file mode 100644 index 00000000000..84a492043b3 --- /dev/null +++ b/stable/home-assistant/6.2.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) + +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.2.5/app-readme.md b/stable/home-assistant/6.2.5/app-readme.md new file mode 100644 index 00000000000..822d932e2e4 --- /dev/null +++ b/stable/home-assistant/6.2.5/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.2.5/charts/common-6.4.3.tgz b/stable/home-assistant/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/home-assistant/6.2.5/ix_values.yaml b/stable/home-assistant/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..963ea5c4458 --- /dev/null +++ b/stable/home-assistant/6.2.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: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.6 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/home-assistant/6.2.5/questions.yaml b/stable/home-assistant/6.2.5/questions.yaml new file mode 100644 index 00000000000..48a377e220f --- /dev/null +++ b/stable/home-assistant/6.2.5/questions.yaml @@ -0,0 +1,683 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: git + group: "Container Configuration" + label: "Home-Assistant Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + label: "Git deploy key" + schema: + type: string + default: "" + - variable: deployKeyBase64 + label: "Git KeyBase64 deploy key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8123 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8123 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36008 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/home-assistant/6.2.5/templates/common.yaml b/stable/home-assistant/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/6.2.5/templates/secret.yaml b/stable/home-assistant/6.2.5/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/6.2.5/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.2.5/test_values.yaml b/stable/home-assistant/6.2.5/test_values.yaml new file mode 100644 index 00000000000..5aaa9a6d3a5 --- /dev/null +++ b/stable/home-assistant/6.2.5/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.6 + +strategy: + type: Recreate + +env: {} + # TZ: + +service: + main: + ports: + main: + port: 8123 + +# # Enable devices to be discoverable +# hostNetwork: true + +# # When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet +# dnsPolicy: ClusterFirstWithHostNet + +# # Enable passing thru a USB device to Home Assistant +# securityContext: +# privileged: true + +# Allow access a Git repository by passing in a private SSH key +git: + # Raw SSH private key + deployKey: "" + # Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence. + deployKeyBase64: "" + +# Enable a prometheus-operator servicemonitor +prometheus: + serviceMonitor: + enabled: false + # interval: 1m + # additionalLabels: {} + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# # Path to your Z-Wave / Zigbee device in the container +# additionalVolumeMounts: +# - name: zwave-usb +# mountPath: /dev/serial/by-id/usb-0658_0200-if00 + +# # Path to your Z-Wave / Zigbee device on the host +# additionalVolumes: +# - name: zwave-usb +# hostPath: +# path: /dev/serial/by-id/usb-0658_0200-if00 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: false + postgresqlUsername: home-assistant + postgresqlPassword: home-assistant-pass + postgresqlDatabase: home-assistant + persistence: + enabled: false + # storageClass: "" + +# Enable influxdb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/influxdb +influxdb: + enabled: false + architecture: standalone + database: home_assistant + authEnabled: false + persistence: + enabled: false + # storageClass: "" + # size: 8Gi diff --git a/stable/home-assistant/6.2.5/values.yaml b/stable/home-assistant/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/6.2.5/CONFIG.md b/stable/jackett/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jackett/6.2.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/jackett/6.2.5/Chart.lock b/stable/jackett/6.2.5/Chart.lock new file mode 100644 index 00000000000..9afe2f65839 --- /dev/null +++ b/stable/jackett/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:53.433299712Z" diff --git a/stable/jackett/6.2.5/Chart.yaml b/stable/jackett/6.2.5/Chart.yaml new file mode 100644 index 00000000000..9ca3e94dfde --- /dev/null +++ b/stable/jackett/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/jackett/6.2.5/README.md b/stable/jackett/6.2.5/README.md new file mode 100644 index 00000000000..544627c0ffd --- /dev/null +++ b/stable/jackett/6.2.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) + +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.2.5/app-readme.md b/stable/jackett/6.2.5/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/jackett/6.2.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/jackett/6.2.5/charts/common-6.4.3.tgz b/stable/jackett/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/jackett/6.2.5/ix_values.yaml b/stable/jackett/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..99bbceace0a --- /dev/null +++ b/stable/jackett/6.2.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/jackett + pullPolicy: IfNotPresent + tag: v0.18.385 + +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.2.5/questions.yaml b/stable/jackett/6.2.5/questions.yaml new file mode 100644 index 00000000000..ffbcddb8cff --- /dev/null +++ b/stable/jackett/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jackett/6.2.5/templates/common.yaml b/stable/jackett/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/6.2.5/test_values.yaml b/stable/jackett/6.2.5/test_values.yaml new file mode 100644 index 00000000000..3ace39eda41 --- /dev/null +++ b/stable/jackett/6.2.5/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.385 + +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.2.5/values.yaml b/stable/jackett/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/6.2.5/CONFIG.md b/stable/jellyfin/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jellyfin/6.2.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.2.5/Chart.lock b/stable/jellyfin/6.2.5/Chart.lock new file mode 100644 index 00000000000..a7ffca5dd61 --- /dev/null +++ b/stable/jellyfin/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:54.710805572Z" diff --git a/stable/jellyfin/6.2.5/Chart.yaml b/stable/jellyfin/6.2.5/Chart.yaml new file mode 100644 index 00000000000..33c07fc20de --- /dev/null +++ b/stable/jellyfin/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/jellyfin/6.2.5/README.md b/stable/jellyfin/6.2.5/README.md new file mode 100644 index 00000000000..95e0dc4e096 --- /dev/null +++ b/stable/jellyfin/6.2.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.2.5/app-readme.md b/stable/jellyfin/6.2.5/app-readme.md new file mode 100644 index 00000000000..64d3430474f --- /dev/null +++ b/stable/jellyfin/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/jellyfin/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/jellyfin/6.2.5/ix_values.yaml b/stable/jellyfin/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..0dd72de44a8 --- /dev/null +++ b/stable/jellyfin/6.2.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.6 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jellyfin/6.2.5/questions.yaml b/stable/jellyfin/6.2.5/questions.yaml new file mode 100644 index 00000000000..c588632fdf8 --- /dev/null +++ b/stable/jellyfin/6.2.5/questions.yaml @@ -0,0 +1,676 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36010 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jellyfin/6.2.5/templates/common.yaml b/stable/jellyfin/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/6.2.5/test_values.yaml b/stable/jellyfin/6.2.5/test_values.yaml new file mode 100644 index 00000000000..8a0824cc8d0 --- /dev/null +++ b/stable/jellyfin/6.2.5/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for jellyfin. + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.6 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/jellyfin/6.2.5/values.yaml b/stable/jellyfin/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/6.2.5/CONFIG.md b/stable/kms/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/kms/6.2.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/kms/6.2.5/Chart.lock b/stable/kms/6.2.5/Chart.lock new file mode 100644 index 00000000000..049fea63400 --- /dev/null +++ b/stable/kms/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:56.013612949Z" diff --git a/stable/kms/6.2.5/Chart.yaml b/stable/kms/6.2.5/Chart.yaml new file mode 100644 index 00000000000..6d0fdeee865 --- /dev/null +++ b/stable/kms/6.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/kms/6.2.5/README.md b/stable/kms/6.2.5/README.md new file mode 100644 index 00000000000..f827ffa2615 --- /dev/null +++ b/stable/kms/6.2.5/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.2.5/app-readme.md b/stable/kms/6.2.5/app-readme.md new file mode 100644 index 00000000000..79791f43227 --- /dev/null +++ b/stable/kms/6.2.5/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.2.5/charts/common-6.4.3.tgz b/stable/kms/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/kms/6.2.5/ix_values.yaml b/stable/kms/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/6.2.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: 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.2.5/questions.yaml b/stable/kms/6.2.5/questions.yaml new file mode 100644 index 00000000000..e5e329bd0ce --- /dev/null +++ b/stable/kms/6.2.5/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: false + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1688 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1688 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36011 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/kms/6.2.5/templates/common.yaml b/stable/kms/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/6.2.5/test_values.yaml b/stable/kms/6.2.5/test_values.yaml new file mode 100644 index 00000000000..8aabb450d99 --- /dev/null +++ b/stable/kms/6.2.5/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.2.5/values.yaml b/stable/kms/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/6.2.5/CONFIG.md b/stable/lidarr/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/lidarr/6.2.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.2.5/Chart.lock b/stable/lidarr/6.2.5/Chart.lock new file mode 100644 index 00000000000..196ea5dde81 --- /dev/null +++ b/stable/lidarr/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:57.292601575Z" diff --git a/stable/lidarr/6.2.5/Chart.yaml b/stable/lidarr/6.2.5/Chart.yaml new file mode 100644 index 00000000000..5bd294a5c53 --- /dev/null +++ b/stable/lidarr/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/lidarr/6.2.5/README.md b/stable/lidarr/6.2.5/README.md new file mode 100644 index 00000000000..07bf87425d2 --- /dev/null +++ b/stable/lidarr/6.2.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.2.5/app-readme.md b/stable/lidarr/6.2.5/app-readme.md new file mode 100644 index 00000000000..399c4eb028a --- /dev/null +++ b/stable/lidarr/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/lidarr/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/lidarr/6.2.5/ix_values.yaml b/stable/lidarr/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..81101f40995 --- /dev/null +++ b/stable/lidarr/6.2.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.2248 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/lidarr/6.2.5/questions.yaml b/stable/lidarr/6.2.5/questions.yaml new file mode 100644 index 00000000000..d147501abae --- /dev/null +++ b/stable/lidarr/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8686 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8686 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36012 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/lidarr/6.2.5/templates/common.yaml b/stable/lidarr/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/6.2.5/test_values.yaml b/stable/lidarr/6.2.5/test_values.yaml new file mode 100644 index 00000000000..46372399a4a --- /dev/null +++ b/stable/lidarr/6.2.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.2248 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8686 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/lidarr/6.2.5/values.yaml b/stable/lidarr/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.2.5/CONFIG.md b/stable/ombi/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/ombi/6.2.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/ombi/6.2.5/Chart.lock b/stable/ombi/6.2.5/Chart.lock new file mode 100644 index 00000000000..f8a0f5b37fd --- /dev/null +++ b/stable/ombi/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:58.597353403Z" diff --git a/stable/ombi/6.2.5/Chart.yaml b/stable/ombi/6.2.5/Chart.yaml new file mode 100644 index 00000000000..45e6233eabf --- /dev/null +++ b/stable/ombi/6.2.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/ombi/6.2.5/README.md b/stable/ombi/6.2.5/README.md new file mode 100644 index 00000000000..ffc0ea8af03 --- /dev/null +++ b/stable/ombi/6.2.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) + +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.2.5/app-readme.md b/stable/ombi/6.2.5/app-readme.md new file mode 100644 index 00000000000..b573c95c432 --- /dev/null +++ b/stable/ombi/6.2.5/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.2.5/charts/common-6.4.3.tgz b/stable/ombi/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/ombi/6.2.5/ix_values.yaml b/stable/ombi/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..9405ac1721d --- /dev/null +++ b/stable/ombi/6.2.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/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1431 + +## +# 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.2.5/questions.yaml b/stable/ombi/6.2.5/questions.yaml new file mode 100644 index 00000000000..52b16e80b6e --- /dev/null +++ b/stable/ombi/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3579 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3579 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36013 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/ombi/6.2.5/templates/common.yaml b/stable/ombi/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/6.2.5/test_values.yaml b/stable/ombi/6.2.5/test_values.yaml new file mode 100644 index 00000000000..6cb5f00dfd0 --- /dev/null +++ b/stable/ombi/6.2.5/test_values.yaml @@ -0,0 +1,40 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1431 + +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.2.5/values.yaml b/stable/ombi/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/5.2.5/CONFIG.md b/stable/plex/5.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/plex/5.2.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/plex/5.2.5/Chart.lock b/stable/plex/5.2.5/Chart.lock new file mode 100644 index 00000000000..58d828351f2 --- /dev/null +++ b/stable/plex/5.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:00:59.935320963Z" diff --git a/stable/plex/5.2.5/Chart.yaml b/stable/plex/5.2.5/Chart.yaml new file mode 100644 index 00000000000..b3d3c935a05 --- /dev/null +++ b/stable/plex/5.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/plex/5.2.5/README.md b/stable/plex/5.2.5/README.md new file mode 100644 index 00000000000..0caea193425 --- /dev/null +++ b/stable/plex/5.2.5/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.2.5/app-readme.md b/stable/plex/5.2.5/app-readme.md new file mode 100644 index 00000000000..4d5dfd7c1f2 --- /dev/null +++ b/stable/plex/5.2.5/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.2.5/charts/common-6.4.3.tgz b/stable/plex/5.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/plex/5.2.5/ix_values.yaml b/stable/plex/5.2.5/ix_values.yaml new file mode 100644 index 00000000000..9d1a18c2fb7 --- /dev/null +++ b/stable/plex/5.2.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: 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.2.5/questions.yaml b/stable/plex/5.2.5/questions.yaml new file mode 100644 index 00000000000..ae7809090c3 --- /dev/null +++ b/stable/plex/5.2.5/questions.yaml @@ -0,0 +1,695 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/web" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: ADVERTISE_IP + label: "Advertise IP" + description: "IP to advertise to Plex" + schema: + type: string + default: "" + - variable: ALLOWED_NETWORKS + label: "Allowed Networks" + description: "Networks allowed to connect to plex. Add your local network IP to this list" + schema: + type: string + default: "172.16.0.0/16" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!)" + schema: + type: string + default: "" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 32400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 32400 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 32400 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/plex/5.2.5/templates/common.yaml b/stable/plex/5.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/5.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/5.2.5/test_values.yaml b/stable/plex/5.2.5/test_values.yaml new file mode 100644 index 00000000000..de9333ff0a2 --- /dev/null +++ b/stable/plex/5.2.5/test_values.yaml @@ -0,0 +1,32 @@ +# Default values for Plex. + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 32400 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + +env: + ALLOWED_NETWORKS: "172.16.0.0/16" diff --git a/stable/plex/5.2.5/values.yaml b/stable/plex/5.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/6.2.5/CONFIG.md b/stable/radarr/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/radarr/6.2.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.2.5/Chart.lock b/stable/radarr/6.2.5/Chart.lock new file mode 100644 index 00000000000..cc48023ad98 --- /dev/null +++ b/stable/radarr/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:01.23979553Z" diff --git a/stable/radarr/6.2.5/Chart.yaml b/stable/radarr/6.2.5/Chart.yaml new file mode 100644 index 00000000000..7a6fa160e7d --- /dev/null +++ b/stable/radarr/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/radarr/6.2.5/README.md b/stable/radarr/6.2.5/README.md new file mode 100644 index 00000000000..28512e3dcaf --- /dev/null +++ b/stable/radarr/6.2.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.2.5/app-readme.md b/stable/radarr/6.2.5/app-readme.md new file mode 100644 index 00000000000..a48f3396005 --- /dev/null +++ b/stable/radarr/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/radarr/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/radarr/6.2.5/ix_values.yaml b/stable/radarr/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..095e494f526 --- /dev/null +++ b/stable/radarr/6.2.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.2.5/questions.yaml b/stable/radarr/6.2.5/questions.yaml new file mode 100644 index 00000000000..b60aa48106d --- /dev/null +++ b/stable/radarr/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7878 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7878 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36016 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/radarr/6.2.5/templates/common.yaml b/stable/radarr/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/6.2.5/test_values.yaml b/stable/radarr/6.2.5/test_values.yaml new file mode 100644 index 00000000000..64bfadaa7d0 --- /dev/null +++ b/stable/radarr/6.2.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.2.5/values.yaml b/stable/radarr/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/6.2.5/CONFIG.md b/stable/sonarr/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/sonarr/6.2.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.2.5/Chart.lock b/stable/sonarr/6.2.5/Chart.lock new file mode 100644 index 00000000000..081848f37ee --- /dev/null +++ b/stable/sonarr/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:02.534601466Z" diff --git a/stable/sonarr/6.2.5/Chart.yaml b/stable/sonarr/6.2.5/Chart.yaml new file mode 100644 index 00000000000..01e4e8f62f4 --- /dev/null +++ b/stable/sonarr/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/sonarr/6.2.5/README.md b/stable/sonarr/6.2.5/README.md new file mode 100644 index 00000000000..79169b50882 --- /dev/null +++ b/stable/sonarr/6.2.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.2.5/app-readme.md b/stable/sonarr/6.2.5/app-readme.md new file mode 100644 index 00000000000..07c189ecff0 --- /dev/null +++ b/stable/sonarr/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/sonarr/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/sonarr/6.2.5/ix_values.yaml b/stable/sonarr/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..9d410bd464d --- /dev/null +++ b/stable/sonarr/6.2.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.1265 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/sonarr/6.2.5/questions.yaml b/stable/sonarr/6.2.5/questions.yaml new file mode 100644 index 00000000000..c8cd50242b1 --- /dev/null +++ b/stable/sonarr/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8989 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8989 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36017 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/sonarr/6.2.5/templates/common.yaml b/stable/sonarr/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/6.2.5/test_values.yaml b/stable/sonarr/6.2.5/test_values.yaml new file mode 100644 index 00000000000..4715fabc443 --- /dev/null +++ b/stable/sonarr/6.2.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.1265 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8989 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/sonarr/6.2.5/values.yaml b/stable/sonarr/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/6.2.5/CONFIG.md b/stable/syncthing/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/syncthing/6.2.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.2.5/Chart.lock b/stable/syncthing/6.2.5/Chart.lock new file mode 100644 index 00000000000..2112dd27d11 --- /dev/null +++ b/stable/syncthing/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:03.848971275Z" diff --git a/stable/syncthing/6.2.5/Chart.yaml b/stable/syncthing/6.2.5/Chart.yaml new file mode 100644 index 00000000000..d5e2e6c16e5 --- /dev/null +++ b/stable/syncthing/6.2.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/syncthing/6.2.5/README.md b/stable/syncthing/6.2.5/README.md new file mode 100644 index 00000000000..b317c141e85 --- /dev/null +++ b/stable/syncthing/6.2.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.2.5/app-readme.md b/stable/syncthing/6.2.5/app-readme.md new file mode 100644 index 00000000000..7eaa0780e0e --- /dev/null +++ b/stable/syncthing/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/syncthing/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/syncthing/6.2.5/ix_values.yaml b/stable/syncthing/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..f193ef8abcf --- /dev/null +++ b/stable/syncthing/6.2.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.2.5/questions.yaml b/stable/syncthing/6.2.5/questions.yaml new file mode 100644 index 00000000000..24e5083b9c5 --- /dev/null +++ b/stable/syncthing/6.2.5/questions.yaml @@ -0,0 +1,928 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8384 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8384 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36024 + required: true + - variable: listeners + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: discovery + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: discovery + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 21027 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 21027 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 21027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/syncthing/6.2.5/templates/common.yaml b/stable/syncthing/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/6.2.5/test_values.yaml b/stable/syncthing/6.2.5/test_values.yaml new file mode 100644 index 00000000000..7510fdadbc0 --- /dev/null +++ b/stable/syncthing/6.2.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.2.5/values.yaml b/stable/syncthing/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/6.2.5/CONFIG.md b/stable/tautulli/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/tautulli/6.2.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.2.5/Chart.lock b/stable/tautulli/6.2.5/Chart.lock new file mode 100644 index 00000000000..a80769e6589 --- /dev/null +++ b/stable/tautulli/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:05.128474328Z" diff --git a/stable/tautulli/6.2.5/Chart.yaml b/stable/tautulli/6.2.5/Chart.yaml new file mode 100644 index 00000000000..93465ddefe9 --- /dev/null +++ b/stable/tautulli/6.2.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/tautulli/6.2.5/README.md b/stable/tautulli/6.2.5/README.md new file mode 100644 index 00000000000..7940748258b --- /dev/null +++ b/stable/tautulli/6.2.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.2.5/app-readme.md b/stable/tautulli/6.2.5/app-readme.md new file mode 100644 index 00000000000..4286929041b --- /dev/null +++ b/stable/tautulli/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/tautulli/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/tautulli/6.2.5/ix_values.yaml b/stable/tautulli/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..0c644bf8078 --- /dev/null +++ b/stable/tautulli/6.2.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.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/tautulli/6.2.5/questions.yaml b/stable/tautulli/6.2.5/questions.yaml new file mode 100644 index 00000000000..bcfd92417db --- /dev/null +++ b/stable/tautulli/6.2.5/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8181 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8181 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36018 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/tautulli/6.2.5/templates/common.yaml b/stable/tautulli/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/6.2.5/test_values.yaml b/stable/tautulli/6.2.5/test_values.yaml new file mode 100644 index 00000000000..472d124199a --- /dev/null +++ b/stable/tautulli/6.2.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.4 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8181 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/tautulli/6.2.5/values.yaml b/stable/tautulli/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.3.10/CONFIG.md b/stable/traefik/6.3.10/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/Chart.lock b/stable/traefik/6.3.10/Chart.lock new file mode 100644 index 00000000000..891dba4b5dd --- /dev/null +++ b/stable/traefik/6.3.10/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:06.415001319Z" diff --git a/stable/traefik/6.3.10/Chart.yaml b/stable/traefik/6.3.10/Chart.yaml new file mode 100644 index 00000000000..492bd0188e3 --- /dev/null +++ b/stable/traefik/6.3.10/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +deprecated: false +description: A Traefik based Reverse Proxy and Certificate Manager +home: https://github.com/truecharts/apps/tree/master/charts/stable/traefik +icon: https://raw.githubusercontent.com/traefik/traefik/v2.3/docs/content/assets/img/traefik.logo.png +keywords: +- traefik +- ingress +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: traefik +sources: +- https://github.com/traefik/traefik +- https://github.com/traefik/traefik-helm-chart +- https://traefik.io/ +type: application +upstream_version: v9.19.2 +version: 6.3.10 diff --git a/stable/traefik/6.3.10/LICENSE b/stable/traefik/6.3.10/LICENSE new file mode 100644 index 00000000000..907ff83212c --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/README.md b/stable/traefik/6.3.10/README.md new file mode 100644 index 00000000000..d00a60858d3 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/app-readme.md b/stable/traefik/6.3.10/app-readme.md new file mode 100644 index 00000000000..753f84f7068 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/charts/common-6.4.3.tgz b/stable/traefik/6.3.10/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/traefik/6.3.10/crds/ingressroute.yaml b/stable/traefik/6.3.10/crds/ingressroute.yaml new file mode 100644 index 00000000000..9422be3c878 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/ingressroutetcp.yaml b/stable/traefik/6.3.10/crds/ingressroutetcp.yaml new file mode 100644 index 00000000000..b50eb9dcc46 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/ingressrouteudp.yaml b/stable/traefik/6.3.10/crds/ingressrouteudp.yaml new file mode 100644 index 00000000000..d7c2624b576 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/middlewares.yaml b/stable/traefik/6.3.10/crds/middlewares.yaml new file mode 100644 index 00000000000..513b36f5d8a --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/serverstransports.yaml b/stable/traefik/6.3.10/crds/serverstransports.yaml new file mode 100644 index 00000000000..689a57f71bd --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/tlsoptions.yaml b/stable/traefik/6.3.10/crds/tlsoptions.yaml new file mode 100644 index 00000000000..a0c2573fb93 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/tlsstores.yaml b/stable/traefik/6.3.10/crds/tlsstores.yaml new file mode 100644 index 00000000000..f9a40052ba6 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/crds/traefikservices.yaml b/stable/traefik/6.3.10/crds/traefikservices.yaml new file mode 100644 index 00000000000..59fa4839477 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/ix_values.yaml b/stable/traefik/6.3.10/ix_values.yaml new file mode 100644 index 00000000000..b8247bf1ca9 --- /dev/null +++ b/stable/traefik/6.3.10/ix_values.yaml @@ -0,0 +1,329 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Enable persistence using Persistent Volume Claims +# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +# After the pvc has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--certificatesresolvers.le.acme.storage=/data/acme.json" +# It will persist TLS certificates. +persistence: + enabled: false + name: data + accessMode: ReadWriteOnce + size: 128Mi + path: /data + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] diff --git a/stable/traefik/6.3.10/questions.yaml b/stable/traefik/6.3.10/questions.yaml new file mode 100644 index 00000000000..fe39b424f9c --- /dev/null +++ b/stable/traefik/6.3.10/questions.yaml @@ -0,0 +1,385 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Middlewares" + description: "Traefik Middlewares" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/dashboard/" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + - variable: middlewares + label: "" + group: "Middlewares" + schema: + type: dict + attrs: + - variable: basicAuth + label: "basicAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: users + label: "Users" + schema: + type: list + default: [] + items: + - variable: usersEntry + label: "" + schema: + type: dict + attrs: + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + default: "" + + + - variable: forwardAuth + label: "forwardAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: address + label: "Address" + schema: + type: string + required: true + default: "" + - variable: trustForwardHeader + label: "trustForwardHeader" + schema: + type: boolean + default: false + - variable: authResponseHeadersRegex + label: "authResponseHeadersRegex" + schema: + type: string + default: "" + - variable: authResponseHeaders + label: "authResponseHeaders" + schema: + type: list + default: [] + items: + - variable: authResponseHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: authRequestHeaders + label: "authRequestHeaders" + schema: + type: list + default: [] + items: + - variable: authRequestHeadersEntry + label: "" + schema: + type: string + default: "" + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: ports + label: "(Advanced) Traefik Entrypoints" + group: "Networking and Services" + schema: + type: dict + attrs: + - variable: traefik + label: "traefik internal" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9000 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port on the outside" + schema: + type: int + show_if: [["expose", "=", true]] + default: 9000 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + default: "TCP" + - variable: web + label: "web" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9080 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9080 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + - variable: redirectEnable + label: "Enable Redirect" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: redirectTo + label: "Target Entrypoint" + description: "Select the Target Entrypoint to redirect to" + schema: + type: string + required: true + default: "websecure" + - variable: websecure + label: "websecure" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9443 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9443 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + - variable: tls + label: "tls" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: true + hidden: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 65532 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 65532 + + + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 65532 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/traefik/6.3.10/templates/_helpers.tpl b/stable/traefik/6.3.10/templates/_helpers.tpl new file mode 100644 index 00000000000..f7b055fa82e --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/_podtemplate.tpl b/stable/traefik/6.3.10/templates/_podtemplate.tpl new file mode 100644 index 00000000000..9e8fe8aca34 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/custom/common.yaml b/stable/traefik/6.3.10/templates/custom/common.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.3.10/templates/custom/middleware-namespace.yaml b/stable/traefik/6.3.10/templates/custom/middleware-namespace.yaml new file mode 100644 index 00000000000..16156ee5e12 --- /dev/null +++ b/stable/traefik/6.3.10/templates/custom/middleware-namespace.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: traefikmiddlewares + namespace: traefikmiddlewares + annotations: + "helm.sh/hook": pre-install diff --git a/stable/traefik/6.3.10/templates/custom/middlewares/basic-middleware.yaml b/stable/traefik/6.3.10/templates/custom/middlewares/basic-middleware.yaml new file mode 100644 index 00000000000..d81132ed5a1 --- /dev/null +++ b/stable/traefik/6.3.10/templates/custom/middlewares/basic-middleware.yaml @@ -0,0 +1,57 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: compress + namespace: traefikmiddlewares +spec: + compress: {} +--- +# Here, an average of 300 requests per second is allowed. +# In addition, a burst of 200 requests is allowed. +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-ratelimit + namespace: traefikmiddlewares +spec: + rateLimit: + average: 300 + burst: 200 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-secure-headers + namespace: traefikmiddlewares +spec: + headers: + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + accessControlMaxAge: 100 + # sslRedirect: true + # stsSeconds: 63072000 + # stsIncludeSubdomains: false + # stsPreload: false + # forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + sslForceHost: true + referrerPolicy: same-origin + customResponseHeaders: + X-Robots-Tag: 'none' + server: '' +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: chain-basic + namespace: traefikmiddlewares +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: basic-secure-headers + - name: compress diff --git a/stable/traefik/6.3.10/templates/custom/middlewares/basicauth.yaml b/stable/traefik/6.3.10/templates/custom/middlewares/basicauth.yaml new file mode 100644 index 00000000000..412502ed73c --- /dev/null +++ b/stable/traefik/6.3.10/templates/custom/middlewares/basicauth.yaml @@ -0,0 +1,28 @@ +{{ range $index, $middlewareData := .Values.middlewares.basicAuth }} +--- +{{- $users := list }} +{{ range $index, $userdata := $middlewareData.users }} + {{ $users = append $users ( htpasswd $userdata.username $userdata.password | b64enc ) }} +{{ end }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{printf "%v-%v" $middlewareData.name "secret" }} + namespace: traefikmiddlewares +data: + users: |{{ len $users }} + {{- range $index, $user := $users }} + {{ printf "%s" $user }} + {{- end }} +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + basicAuth: + secret: {{printf "%v-%v" $middlewareData.name "secret" }} +{{ end }} diff --git a/stable/traefik/6.3.10/templates/custom/middlewares/forwardauth.yaml b/stable/traefik/6.3.10/templates/custom/middlewares/forwardauth.yaml new file mode 100644 index 00000000000..bb90d33775e --- /dev/null +++ b/stable/traefik/6.3.10/templates/custom/middlewares/forwardauth.yaml @@ -0,0 +1,23 @@ +{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: traefikmiddlewares +spec: + forwardAuth: + address: {{ $middlewareData.address }} + {{- if $middlewareData.authResponseHeaders }} + authResponseHeaders: {{ $middlewareData.authResponseHeaders }} + {{- end }} + {{- if $middlewareData.authRequestHeaders }} + authRequestHeaders: {{ $middlewareData.authRequestHeaders }} + {{- end }} + {{- if $middlewareData.authResponseHeadersRegex }} + authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }} + {{- end }} + {{- if $middlewareData.trustForwardHeader }} + trustForwardHeader: true + {{- end }} +{{ end }} diff --git a/stable/traefik/6.3.10/templates/custom/portal.yaml b/stable/traefik/6.3.10/templates/custom/portal.yaml new file mode 100644 index 00000000000..92e80f287a2 --- /dev/null +++ b/stable/traefik/6.3.10/templates/custom/portal.yaml @@ -0,0 +1,45 @@ +{{- if .Values.portal }} +{{- if .Values.portal.enabled }} +{{- $ingr := dict -}} +{{- $host := "$node_ip" }} +{{- $port := 443 }} +{{- $protocol := "https" }} +{{- $portProtocol := "" }} +{{- $path := "/dashboard/" }} + +{{- if $ingr }} + {{- if $ingr.enabled }} + {{- range $ingr.hosts }} + {{- if .hostTpl }} + {{ $host = ( tpl .hostTpl $ ) }} + {{- else if .host }} + {{ $host = .host }} + {{- else }} + {{ $host = "$node_ip" }} + {{- end }} + {{- if .paths }} + {{- $path = (first .paths).path }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} + +{{- if eq $host "$node_ip" }} + {{- $port = .Values.ports.traefik.exposedPort }} + {{- $protocol = "http" }} +{{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + protocol: {{ $protocol }} + host: {{ $host | quote }} + port: {{ $port | quote }} + path: {{ $path | quote }} + url: {{ ( printf "%v://%v:%v%v" $protocol $host $port $path ) | quote }} +{{- end }} +{{- end }} diff --git a/stable/traefik/6.3.10/templates/daemonset.yaml b/stable/traefik/6.3.10/templates/daemonset.yaml new file mode 100644 index 00000000000..469e105c358 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/dashboard-hook-ingressroute.yaml b/stable/traefik/6.3.10/templates/dashboard-hook-ingressroute.yaml new file mode 100644 index 00000000000..ec278c26910 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/deployment.yaml b/stable/traefik/6.3.10/templates/deployment.yaml new file mode 100644 index 00000000000..494087cfd0a --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/gateway.yaml b/stable/traefik/6.3.10/templates/gateway.yaml new file mode 100644 index 00000000000..85194211fe5 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/gatewayclass.yaml b/stable/traefik/6.3.10/templates/gatewayclass.yaml new file mode 100644 index 00000000000..61bf007db1e --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/hpa.yaml b/stable/traefik/6.3.10/templates/hpa.yaml new file mode 100644 index 00000000000..bf37117de6a --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/ingressclass.yaml b/stable/traefik/6.3.10/templates/ingressclass.yaml new file mode 100644 index 00000000000..7c62458c82e --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/poddisruptionbudget.yaml b/stable/traefik/6.3.10/templates/poddisruptionbudget.yaml new file mode 100644 index 00000000000..9893e521759 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/clusterrole.yaml b/stable/traefik/6.3.10/templates/rbac/clusterrole.yaml new file mode 100644 index 00000000000..2c63e006414 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/clusterrolebinding.yaml b/stable/traefik/6.3.10/templates/rbac/clusterrolebinding.yaml new file mode 100644 index 00000000000..509e92ff2b7 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/podsecuritypolicy.yaml b/stable/traefik/6.3.10/templates/rbac/podsecuritypolicy.yaml new file mode 100644 index 00000000000..66bc1458d55 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/role.yaml b/stable/traefik/6.3.10/templates/rbac/role.yaml new file mode 100644 index 00000000000..6c763065d6f --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/rolebinding.yaml b/stable/traefik/6.3.10/templates/rbac/rolebinding.yaml new file mode 100644 index 00000000000..10416401867 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/rbac/serviceaccount.yaml b/stable/traefik/6.3.10/templates/rbac/serviceaccount.yaml new file mode 100644 index 00000000000..bcc941eec95 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/templates/service.yaml b/stable/traefik/6.3.10/templates/service.yaml new file mode 100644 index 00000000000..745bb9102d7 --- /dev/null +++ b/stable/traefik/6.3.10/templates/service.yaml @@ -0,0 +1,114 @@ +{{- if .Values.service.enabled -}} + +{{ $tcpPorts := dict }} +{{ $udpPorts := dict }} +{{- range $name, $config := .Values.ports }} + {{- if eq (toString $config.protocol) "UDP" }} + {{ $_ := set $udpPorts $name $config }} + {{- else }} + {{ $_ := set $tcpPorts $name $config }} + {{- end }} +{{- end }} + +apiVersion: v1 +kind: List +metadata: + name: {{ template "traefik.fullname" . }} +items: +{{- if $tcpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.service.labels }} + {{- toYaml . | nindent 8 }} + {{- end }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $tcpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "TCP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} + +{{- if $udpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }}-udp + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $udpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "UDP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} +{{- end -}} diff --git a/stable/traefik/6.3.10/templates/tlsoption.yaml b/stable/traefik/6.3.10/templates/tlsoption.yaml new file mode 100644 index 00000000000..ec46e8bbc94 --- /dev/null +++ b/stable/traefik/6.3.10/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.3.10/test_values.yaml b/stable/traefik/6.3.10/test_values.yaml new file mode 100644 index 00000000000..74e6d4760b6 --- /dev/null +++ b/stable/traefik/6.3.10/test_values.yaml @@ -0,0 +1,426 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] +# - configMapRef: +# name: config-map-name +# - secretRef: +# name: secret-name + +# Configure ports +ports: + # The name of this one can't be changed as it is used for the readiness and + # liveness probes, but you can adjust its config to your liking + traefik: + port: 9000 + # Use hostPort if set. + # hostPort: 9000 + # + # Use hostIP if set. If not set, Kubernetes will default to 0.0.0.0, which + # means it's listening on all your interfaces and all your IPs. You may want + # to set this value if you need traefik to listen on specific interface + # only. + # hostIP: 192.168.100.10 + + # Defines whether the port is exposed if service.type is LoadBalancer or + # NodePort. + # + # You SHOULD NOT expose the traefik port on production deployments. + # If you want to access it from outside of your cluster, + # use `kubectl port-forward` or create a secure ingress + expose: false + # The exposed port for this service + exposedPort: 9000 + # The port protocol (TCP/UDP) + protocol: TCP + web: + port: 9080 + # hostPort: 8000 + expose: true + exposedPort: 80 + # The port protocol (TCP/UDP) + protocol: TCP + # Use nodeport if set. This is useful if you have configured Traefik in a + # LoadBalancer + # nodePort: 32080 + # Port Redirections + # Added in 2.2, you can make permanent redirects via entrypoints. + # https://docs.traefik.io/routing/entrypoints/#redirection + redirectTo: websecure + websecure: + port: 9443 + # hostPort: 8443 + expose: true + exposedPort: 443 + # The port protocol (TCP/UDP) + protocol: TCP + # nodePort: 32443 + # Set TLS at the entrypoint + # https://doc.traefik.io/traefik/routing/entrypoints/#tls + tls: + enabled: true + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Enable persistence using Persistent Volume Claims +# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +# After the pvc has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--certificatesresolvers.le.acme.storage=/data/acme.json" +# It will persist TLS certificates. +persistence: + enabled: false + name: data + accessMode: ReadWriteOnce + size: 128Mi + path: /data + +# If hostNetwork is true, runs traefik in the host network namespace +# To prevent unschedulabel pods due to port collisions, if hostNetwork=true +# and replicas>1, a pod anti-affinity is recommended and will be set if the +# affinity is left as default. +hostNetwork: false + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +resources: {} + # requests: + # cpu: "100m" + # memory: "50Mi" + # limits: + # cpu: "300m" + # memory: "150Mi" +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + +podSecurityContext: + fsGroup: 65532 + +## SCALE Middleware Handlers + +middlewares: + basicAuth: [] + # - name: basicauthexample + # users: + # - username: testuser + # password: testpassword + forwardAuth: [] + # - name: forwardAuthexample + # address: https://auth.example.com/ + # authResponseHeaders: + # - X-Secret + # - X-Auth-User + # authRequestHeaders: + # - "Accept" + # - "X-CustomHeader" + # authResponseHeadersRegex: "^X-" + # trustForwardHeader: true diff --git a/stable/traefik/6.3.10/values.yaml b/stable/traefik/6.3.10/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/transmission/6.2.5/CONFIG.md b/stable/transmission/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/transmission/6.2.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.2.5/Chart.lock b/stable/transmission/6.2.5/Chart.lock new file mode 100644 index 00000000000..85b7505c496 --- /dev/null +++ b/stable/transmission/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:07.7251277Z" diff --git a/stable/transmission/6.2.5/Chart.yaml b/stable/transmission/6.2.5/Chart.yaml new file mode 100644 index 00000000000..84b9ab873f4 --- /dev/null +++ b/stable/transmission/6.2.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/transmission/6.2.5/README.md b/stable/transmission/6.2.5/README.md new file mode 100644 index 00000000000..ccfa3f4990f --- /dev/null +++ b/stable/transmission/6.2.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.2.5/app-readme.md b/stable/transmission/6.2.5/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/transmission/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/transmission/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 zcmV)bK&ihUiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvJcic9TI110dzy1^$+Sy3?so8p$r=Qh4tC5_F96@3liSI zS@M_VKkMu3>$}_A?EmZQ>-PWG_qI0wva!9sySK5vyRp6Vm-UU!?cKez(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;dZz+=-2;Z{?B1jq4I$QK>PgPUfX#)x^hf;zI#L9peO>l~-^cVmI zpsqQf6T8Tg1QiMlO5sI<7^M1ZH~`{9%qNG9v@Qzh{0Q0iA7O%HkTE${0$5Ob@+7;N zp_HtF7@}F0mWY6?040G0O{%0sWB>r4Vs&AYQE5gX2brY|d0lX%!5Jw81EAL$gWFF! zzyw~PWD!`rf)3`mnq8oRc2tZ?T%Z`_Sxf~}f${`LupEPp7LHZV_AE^k=T zZ?gg%DPqbsFlXH4GJ`SmEs6>R2?8rIn!qX{s{p1kc$*~&PA}i(F(jfRD6CV_np5Ni z_CtDv5=2lFL=Bz;J7TP$U;w^Mvx1HlT+(lnema&49Rz)$HNWPug=q#qfGUM^h!Z;2 zSS{`MB4Em@xa0uXUshGEYpuFDEQp*ip#G(%$6MZ`6i9*Qn96=I#U;s#8<5}`Cal-_ zhwu6O*Yx!mYz+o@1~2Og%YM-zl9ia2D1IoHLIo6TSvuav7w#E7nCqmiw@15s!Ue*VP)0v4BLOJ(|*)f}|V*F1{{c@`g7 zb8_IBlA`$QdfM@l2XPD__&zJ}Z;*P&nYksukzt;PmvTAKo5~ z!R%(3!?L7WxM=Phh*N;lIWDr4iN-lBFdg4z2+jnP!;>{Nvr9)s+WHZ&7K#nh}Cd{%muKDo76hDUv zu5prp3&aZzVLZbrrQ3j|Z>cy&QwU(M(>Gjwm1PjP4aG7zGil zjH09LI=zNP3=U3S(aNU?DKm>&Lq&=RDnp!&;w&mh1eRCj2&ccIhzw&$;1K3auF%dI zX}vm>y*fl6@~lL|Jd20aTqB($ahgH;VGts@M=5 zRwc=1ATMxMU~&VZ1eScoiScBD3Ob|-l@V-kU)*r{5=~KDQJF969nxyY38KIrHJ z?NCg>G%MMfLWe!U>E%GakW2SZQvOF9pLK*k; z>QY-_QV1sC==fCfrCbx^sVbz@PveY~LS%s%ya5F&vt*7yS|(X`RpkJeC7qR73d(GT zz(3Vgqfo27WV9SIuv{hqpo>8I48;g#$dn{w(|rtr4Y|C$WTJE=lnX|lSg0s**~Bf2 z*?<ARMCXx zkXk)vZC&@(P{26GVq`~m##94w;yWp_3#6tB8v*=7kDRX)rq`f{{tY29?eyFf{HJ>UhD()wC}0=a{3TE-0p07-*p(Y>r)7Ks6N zz_k(6Z(-QsTrWJQpU$b=qB8Xwms9#yNNxJA0NHh_fS)MXe5I%@2LZdJ#xeKc(8iIQ z98ujoWeOt~>1vg!2{qdsoE@G7>^=8}oE@Ij2wqL7<#Tp+A~4{RD%7zu)!AI2-$(SH zQzdFvd6RQUrm~I;^(YY5FI5BNFQwU2zHmK3j^6BX;94j^y_$&SD?t&}ozEpF zSx>BSGC7WEmc*rmD7;zHuyDfmjU2!z=i>&jX^&xYgc5jjilQuy%Q4s#A9GY-Cerxp zjdk&!;2Fv)(kMTHIH?MBHZ4#|=^cZeLG3Y!A->a4SF_AL*45_+8SD!B(`a90w3}>O z@^E(p|H8)mDPIv59_?Z!agX&<2fE~uE?_^6^F_wF&a@?uau?`(jPb3GvHa{AIHQEk z5KK!zEi+gG2xjmDo>enS)Xq0s>-!r!>(pAMb=fGQM1m>@7u>mn37Zt9dqVAa=gscA zQ>&F-tN6}#Be}{rcm@t?g;JG_U`ka;7{}ZfMfF8CBxB6>k702GuFwrA@eC)hkQ(OK zR9*gBf(gC)nbx>jIcJ~EV)&?N~w6zj29h4T!VARQO-H;9pav0ZY&K9M9TI!>pEFM##Y%A zS}rd#l0{h(YTr()oWams=jU_@J744fKc#=19iE&s$I|(`qmy&JI$!PRC$aA3@Hz#M zE}r$)LK=fhMCzG`Q-TUQl-|94&AzgETKi_S)^mc#47$}MWyRMMlWo_qrdo;xcTgI$ zn6;Yww5JGY&KdS4G<)~F27OL@tQ7k?u~<2^Zcs7?r)o2q8SDCTiqn!H7=vu0;i09^ zbB2QTMo4>DY*0`R#bWBo?TwOmoi5JU3SQG*Q*Dn2$vh?{vlyMIF`$;U*BOle0TY-; zs9?QxEX(PFu+%wqUssv(ic!eSCrley&ooKt*tsy{^s+!@*=J?0i{5W(7I6Gavna5@ z(kyD2OS9SsY?WG~>V4N{0mdh_B$fwXn-z207U$QvBvcWc;W$pvH7rmmXC5gan&2z_ z%hijLK`L`d$1mSQg%!!@k{7`wxe<^L*b6h8eeP}jKB z4q{!Ce-!vm7|U>SQ}f`gsL=7jDL6emc>Pk*T94tC66I{yb=4q;(wJ2Qu-zx&mY+%N zD2<0zDb|V!{(#~)byc~v4(YtX>F@%UIMP_H&7VI6*EMk5S^EI$o0N>EB$OkY?Vyc8 zdWq8yo}wfvhcIH>=5#g%526rC4Oh^`cIf&{%4gs$2VUy?I4pYfZ>)e0Q0>hHti7@& z&nziE%}P>Ba9tX*FZCehq<^24gmQop1-?f~y+lB4E=4-=HYzc=+7Qv)m z$!wyiVO|qO0n|DQ{ZwnEHDxD|OheF*B%qA{k@1fE9#|+>Om!N%>}#RA;P3ljBiz^? zt~Vf^G27&Xg((^zHDj@XNeWoQNaT{bKx~IMLiJFfXe=mvle9NvrZ)A1tSPnD(tq~) z)E+J&_(w*jVh5WA3Q+ODM;7gYyvSHo2Q+(!_XkP1IN+$%{x~1L#;6&Rq|_+l;V~+H zh3S?MeE05E?RGI`dV~ssCsgf}{wUf%5lqk_Dv04eGl%~(InrE%*j9~lI#xwOFBTKnY?Sr8pJTQ#iA%N(o(L-ktsf#E2<$mZn9}tVPS>pEc!5 zqt;TYe*R^^G0;|MyK9TK^r48euy;{-Z|XV}RPNpVntt=Ery4zK`%lCiG-x&4#Vq=% z3|qa%yh0C^SI0yf-LCtdDqpWwP5ES8q0RX`S_5d7lba)4tg(qig)^mtyFoQ?PCnOF zo=H|jDnK)5LAWPB9s&_?NDKXhlZ1(7rqiT1Dl)tf$}Ly5D4b&z{ifjm#Pn~H@rlHp zx>-`qkkqEk4Rg8b>R}=0qyMDjyw4`@$rQck)&G9JCW?ws4O;T+;n!k%mpZ14ikRKO z-@l<0afFOG9(V+v0kP?!wW<}YX_aD44n z!YRoLc!|KF3Rx1S`2=4Y0GL%&A{GaEK0IFo@l6V6IHF4ij~u4V#HHj|?5M`X%NLo}(0$yj8qW&H7c!JPs%ZD;gQAY-n=O zX_X|@Iy4}$^^$ElF#jl71JN{7ri80C9H$P0>v=beP~YjqGt?)|K`9FzQWy;RO;!~{22!Kpov@3eEd5m;-D1|oxdGrj)B<-Q zD65Mh-@r*rIV_dZ64w(}x^w_0B`C6t>xgA_p{5S)%3)buF#Sd|tXK@tn@m4nB4rz~ zhUc5wCeMUk!4_*CraH@Fq^3#jAG#1*YNCsH-^Hl-s{p!?--g2&)f5gng{2H;8d54s z?zMrcX=Csf!T6^F6Z8XJKg}&J$OT|FQ8da{Q1b3}1|k)%ML=Nh@Os4%bT zDgF)dkN;rUf8;DX2NMJdoh+9ka$PWFjme@2rgD|6eaZMYJ_~0I91yJ$eNc}yadHGa zlOv96I3mnBn*dnr88Z=+f4|chEA;Wjs{2 zxEL`pnzt%6LUi_2XVktn<>9$RbMDeZW;aJV>Qg;VSXQKFFjdW{9FL|bx{{m1q_`1k zkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUifNCT?sLjzOq8aM3b*^`5MZ9(FPbUMHS>fR z->eSgUyhJ)!pI_7BKC>PCD6uTGCFFwqt$_iM04c4EBUH;kYHFMbqG%g0F;sf^S2{J zq7nBu4#5oOIhAp*PNbun7m}w+mU7Af#_>=PFeDk{H6qcF(J-Xbnf*D0obu7?Kx>DZ zhd3XDVB>F_;l}QZa3kDUU+1G;QOZwX3_&1Wj!`xX(F>VFcioFm049pNNV&Y z81ZAdrRR7+IFMD;iSB3MCj_dpf=O}%3KV6t8A@a3f6>AR>wr&Do$n51AVF|0_DxwJ z86E5q&Z?5bj;0yb9CKBPijW7O!KBOpPN}?Oo5oWr)JpEUD?w4ERA&2_}S{ zm45cDCT0zkRWzjpyum4^{Txc;IL?%PEZd@0t5V)x&dy1eB-u4iFFE*xPUAHI<6o}Ma!N%r`H<-PXJ=?Fw=T7zDd_?{abB#@HxwB*E|JmNyd&>Xu zD9`Qf=$nB!sY{BRJflla?J%T+LuLD6(?0~S2tOoLpfpAWGx{s~SHdj}Ig-Eyq?(pI zInP}%GSNdg_-6F!)8O`Y$isvX2spA3CP@H>pQ!kwUq|17H>kK2M{2SNCSn6Y25_aZ zPAdNvONIQKkp>E+!*WA2YY4!+C|v-CPBfbSDoh@rqnH5nZ&z6sJs#BQ1p-;iO`2XX1Rp_))0hhB z^%@!T+;$?Ac}%+S)#dJkPSfQB(2mh4+KSTvGl4h(D|vxaG6BJHMgSDaO>AOTzA9G( zAE~Q)r^(K4_I!hCrg)<=oaWF$wY!cOX1&Xc{bpL;S-~3hY+tw@<_`3bGhCKb=k<}`WitA}Lpooj1QipiR5(e{8}Yd%z58jd|7yN1O$+E+ z|2KEnt@VFrYj5Xi{eO&yt^Z8tS1~(OC?IAr(B=Zw#(*8jouV1~Wup3<(^oY%7jQ%Z*N%phYdF zA~ejq2J`QxY~0p`GqZUdQd~r(8H)qS*y(C7EGi|~Pd%c}qiSeHLTV2u8H}A|wh^fZ z_-SC~u{2c6v6rEYIs_*`WSRdr_iPmElu!V{oStTy;;rZSZq*SEJCSv`iMkpk6neh40*f48-CB`ZM4 z(wBlzOM|Ld;K;FR(xg?Y@z3CgcUn$W*7+@Zgb9&Tqr*C7=~cU-ST9U&KPjV6%IKd+ z8Exu+@=VF{_JF$dzs-$3TmM_%+j`Rf9^;|XTU7tpV8hm4SrGV)r0?%prHSk;>!5!}_aUfrr8yvEv+W#0DQcHg3 zFeo?$TKLs@$WYD6;cDGF*%?;r1VQ_jnCNVYIDaea>-B1wSLmj6G~pwd;G!fB;3j~fHrBq}O|n1m z)71a+dGyHfKU;hD{Xg5A8&CS*qdd(2r|W+w^=Ts!;mv}W+x0=eSC56oX!AZt#SsG-FDE zxl(e-`;PC9byQnMWGi`n-k7Fmr$@8v6X0Df<|Tg@ZKg$OwHXWSa`bQwtgfRFg;D|2 zDo`Z~q5Lq*Z&=+`eI3&ckbE9>8XdAPPJTS}j6l#_plNBPUaX*h*O@W{HU-#s9^S)V ztP1miRnre++Pe004XK4*2tI)A8MsA9DEb3Jn@AWf7qG>C>QOi{z0Y&*N3zwB*MhLX^1X zKhIVAX#U^L?R7i;e`kH?Y5qUT)6oBAdfYqe`zoTi%>k?uMfddo%KTZHHYQ(LI;|YM z9!HP(tm#n_j?4e6r~fc?DC-tFrtr4;hz+#;eZ;aceSO4c>pFeJcXJV|4mQ#CRoUw5 zi@G2OnhVm-&dmpF*Pv{3JD$oR+2wU?8H={pv12ecypD>72XZ=Uq&HBu`5a|E-REer z^z-=~RSTY6j(2&y>%X`la~Wztr~bcZ$N%qcZ#~8TKgy%&|N4ouh3x?IxLUhCpqE|5 zE-1bnwE;Kh`^2&tuDX)6VWTUxm4E`WHahjD=-IEV%=WjpwSP)Ugu1lM z*U7$9aWFqT11#E1VqE2aYE{5T@b4{-e#!jHir{ILisbCm1D^qD01Z+U@#0j!r3=B0jjhWIGy7mR?)xVdg zq5lg<-RS-IS%H7cQUa5cEIz16#zHWQJJ@jur2zs-%k^^GU}|1q9c{U2J||5ObL zkZ1f#8$Kxfc0i>PY4cX|i}`l-qn!jkuqcA{RP_>WsDSEt+sZF5`;6=hS+2s(P6}yUAbecRcCF6XY&lk30n_}Bktile)_1H1hH^qaZGE40cmCCDiFwZf~>YYL?lFL$HWX9`vCg)#&I+g>wZgwha)b+2+5ecVtiKRdw0Zl zgDd;yImy8M+5*cJfg%DyPU{$x%Q{$Jg~)WrIEAZv2MGoJw08FT`qJi*MNflM=Jytk zIY?+S&QYib21k&J35Z=kEmN-M(a9vzz9UfPizHHrhQ@^pZCr5)K(Y&gn$ST4TZp-ZHWgs@4_#DyF zs@MLe;2K?&D5?sil3({jqYue(qoa(?9Ho;;N|urCOB=-X>L3x=w_kH8%{#F*?zpQo zoHuMc%E}Kx693Mjm0`lJ3c%33UE2VnDu?_=6KxBM?Ff>ba_hNo>#UJ(ff8TCbR@FS zFI>L8b)>JblUOiLiL4b|%m(;FgbEV4F}Y+SOR7;{80{m5HC8L9n(f=u_Jwl;e!tGx zj7*+87(Em>mP_pHUN#52r-bBn2R7~{ud#&uI&-a`%;NxTNpom$jw~LzP{5~ z**X}b%?NQP6?FuRdZo0uv`LRnkye%cHncwnP1epTw(pY%4S)Q6BWw-_xpeB9Qk*51ary zvdBYZg}!59R?jrG7$AZBsA!#qoHbQ6pLds$Xdgiws)HTH7?af0GCE`EmW6?01C zEL8?fTl}XU6j&g-E|3$3Zw!vn92MeIeZ%!wGYmNIOGNlhtUAlJr5Vpy@E%NZoTBko zxTSrg42QO!GX$dxoQ}$=^>!FpFFran12MhcuYu>&oaL3V2U$a*h^E;_+OeCx__@TOUw5Oh;-E3<`IW}cOKl+EwDIl+rX2g{&KhASA7F0gk zm8m@brn5zC*5!FNB3>K7FXpu4cFeRx-*+@`El-p^99Eo`RzY`v)Ut^|J`2S z*s%Biw|1WFzejnzwwSzFZz%7v(+x28O}Z2sAN1QNm%TS^f&5Gxq-rajo0>8D&q~%_aV| z(k4qi%ZMbt;Ulj3whvZ#Y6)Iwm3v3MFnhS)2F7NfHG9NZVMBWrtbi1W7HRF#HuR(i zxCM$tPFW@HNo_#X2Lb(VO(uSc>Twn`mt>%~RT7}j$uJcqEh9H8z={r@JI>{p4Zc4+ zI|*2$+sm9b_FT=uzwfDh*B&yVOZr+nMJGkCtoMb2-_gZtUTQm7HWp17+-cM?^nF?; zr=p|!0_fNjG8o2ZnyZ)vb~qdk+^HpaxaS*~JG>$sVD0d5?MQol9TJq}w{XcD!%A&h zaSj<|} zY0>|emIu5;|KHl&wDW)O>~25h|9+Hb;rQP=KlqRJdF%&?23D!VZ{4A~_U^!KpIF^n zcciX&OQ{j7YufdOiT^yGM~m%0-7Y1x_qI-)#_~kCN(RGV)oht0wi(PSzqF#XnNYVz z1#4!75lCTSbr-9l(Pf@5>&_u(YXI)ZFo{m*Q&uS4V0UvP8A5j&gl0`E6M`(wPDu^__uErdx3;n|WYYJU&dLD^`_1R8Y}=ia@fRP4S{EqbZ_%Vy;8iTHmdV-s$+jN>+%Bc4D{% zhe=fuRJ=L~R>2C}0ahPZg_n@$nNS6r-4V%8yuA8p=pt63+gp^zHMK$^Ge~=#!T29A zfoX(_KqrNbE>X%kJhX}upZU(9%vHQi`I2Yl&k8u1;D|>m@siF@=BX5a@7C?zV$4khAq- z?96Vjj%FAukU=tiW$tYbE!TXghuQOFGiC^WSijVB8QIsQDQvE-Cu1M1bpy<^^X2?{ zc6g%giq$(6XNM;P*Ji1;m(jUT)&{}AQCFx}VF!O!>b#~>)T-@8aXXq^337c$adlNS zQohof(A;-yF=aiuO8r_vYZA_F@H<{pKw!CroB{UBMzHeP~E}`}P$>*mqsM!Vxcg?+Vuy z*TG7HQWI8dMrpo`F{@b;NZBh*(tibCmH!I<8mMD@+)rtXt%dG>QLCfT;I>;|SPlKk z7qLWq=KEea;ZK*nEa_>;{{&x*B28$OUKhI6pw(3itEQK6G2RA@K;DSD zHIAGFE}yD!eKp*MbV$NE#0k$X^c<{$fE1N*72oOZ(dTydgS!NVap!~SWFtwb0>(&E zhLJE(+^u59Z}d-e!&{}DLi`9WcDGR)nVV)5;uX4SgIM4>B&aXQ+uz4Qg{S91o{sf@ z8R;K806GBh1V@mtFp5YdQ$?}g;Irhk zw&B%dJ#*~(tx$*ZRz1`?*_3IbkeEbt?zITFC!O+3e%$)s6jB9H+wgx#|Nr{#=8oB)D5tPMF@RB#Y018Q5>y{4*I99uWH1iP9Ekw_B1;lsbr&#= z50ZQekExe=20zB6#(p4Cfn0691H^?&rq*uNh83um*xV!1jcw_T|BX z&HoHyvTgnw30m(V06O>o8u$P1?QLv6&Hu-E*!(|8lI$A%v${aSg(mL(&UmO`jMC6M z^_^LKuWC^GmXr*a2oLp28s1RimorrZWW_C7iZ9UiFkzk-SzchOywq+%w#8=OUa(NB z^xVXCqj-31AVdyMFGDJj_)Q|Ff4fApIVujbSZEcYlKcddE$+YpSBwW>35Oe-Mic3h_%wiOn69v zga>&p<@={k1DNMl#PeKBK;Nw5JC4+ZGlMC-MDg%~@4ToJR;P6W-=>&76)m_AXB%u7 zI_c}U_FlWMvRRiMTudWmwoGn}JxSL;^3x{&`Otar^IzNBn~nRww)Xa(yU8p6XMWWc|vi}&MCnKieObDP-Zj43^*>;c{fflN@5;nnBW;E zD5iEDnc@lOJ~}?7WpR4Rvfr+TgI5z!@D+dq5!r4_F&fxAOu#ix5^5q=C8e_j zkP$DaZ67jqkdQWP($=^l$MtT!3%(T>fh}pQHNZ8;Tce0I=49)-#~nWgAgkN;y!Z^V ztyI=`1ZKGRwRlj~_aZRXPz|gIP(g{iOap;gNlRD#Rpa=2--uFWBJw%NtM!|SK+HsK zh*NnebVoY8*)SJ#hL>X6S%+{GdamUw&>E^q9PxLpnHDHdV1z*Me*+M_4;Gg%vQ@TN z7b@#P6tO(zB%`hCXh~_*Iksl6=C(BphWt>l(R(WGdS?jXst;;vCKYK6U3EZG{1Nm8 z@lvYVOOinUxp zM~%<7=J7^9V2EZ}S|Sfz_VpAk47MbYph=Z5z%IzAqJRtbuqBk900`zV!7;FLu6$Ll z20n^hQu$A5=(Oqo@&Nb)`+wGVoBIFG-jo05Q647U-k{==uMh-+7@9vyv+JEENKvq0b1o_2q4`2*7ErRh6i4R9VSpnACb7uW6^jn$fn$b?sSI z62=dzBV8AmAe$;3odHTk28AG~gRCVr2Bt4Y{b8rAyZ>pgdH>Va_S62~ zqdd3#Mu)R00yBuy`f?L#iN!!Ab5WYjHzPG*?Tw;(nWf+kB{UJI4?5hG`uPzyKg4}0 z#+5c>raH^5d|DtZP@a{TWW|kUxi`GMW*q`AS4{^ndw)_TiIyyA_#ZD*SsG{WLi=Cvy>%VkivJlaa@LMd@N z+jx1Wj0Fak1W!voK?E54_scMn>7(|r{^s~>0HZ=uFZt!B7Tl{ zGpncWVH9BOix`d8^~25n`nJes{V1R%%{yiU)Q^%iHDg}5sM3f+>HIY=iA4~5)jWPG zOLNmq{o=?Sq#MN@T(lrq7g{z4vam3M6Yc^la}?pp4MRBMASPKsyB!x0GZQJCSxF4?lHyOUC=)`IYrSb@=nS`9+)3n8m5vSNiB)nEGB6SMx+du!MG7 zHUTr3tHg=`YW_wUpKSGrIb`)NM}&I_(ul;Gbj3pZ2=N3tUXIgVMt+lZkvr|LSFKVlSiLukX#qIW1V_J9z zqKoVTbx=L}W&pU|%C9LsD=Kt+a0*x&Rd9(?R6v4a@ZHHffYV9F8%aybj#8;*+3Xtt zc~9A`NFN|R%48G)+d`ohoq3p*BB&Dqv7-951~s64zzjhBRg)A}(MWo$I_SAoY5_&1 z#j@(zIOT z6C=auwcuqB?@X0tAL*eV8?lDtS3(?ADHb3Sx z8d`oqS3-B)o_441^JD@vQviZyootAkV2-5$|~I;i7&D9y)?P z(AuK{r7*B>z_;duwLk^(Ei+=H2zA+_jV8n$A8W*{*{ibND!_X+VvY@4g4`yX8M~ z#ysTt@2#!9hWy{%dAk4YQ64V;Ss#lm$kg^vvP&HGllsC}H++D*o^6=&o{7LnEM#NU z7a*sa;@IwW(TX{w81q#L8wvEjc9{_nZNe$wR-$Ubp;N>=J z1Bvp}EV^oMg`1^~mNE51kfjX+IuhH-lMtAL6(&b0fj6fp%F?(rSVgBw=qLo*NtfWM z!d4aNY+9glnk8`)wq2qpV1j2TtB99m^LtOAIVv#ouexCxpWP69D&y`yKlk$c*`H4R zPv73VqZZg@|L^Wv`9C%{)_0%m|3`V4iOR24ZSw&5Geh`xiEVTLIi0y5*1&U2(9Cy@ zudZ^;D4-L%Y>fA719ZeB1cS9|yA063K`_lqRw<|h0RwiCFvDxa{yQ-3i((Rr=h%_H zE6d8)5L!St?-ek~XNnF3CzZ366zL$?9lp%WSMPX?Q(c5XtfQkCpG;AyQC(ISbtUm* zYy|pw0!lO(1%mMpX>ucXuKBMHC|-w&-j)5%l4uaEaW;>Pkh6Jxb?})Kc1~u_BNBQU zNzy~Z_sKPEh?58X{wwmj3cy0IPWUa}v3i2oKq+Dti zbT@e!WU2ZdP3?lsmT=V8mT z@;V=U6JEfp!8ak9(Z90-Uk<+ce+SRNkFda5Rf1PXFUvug7ul~UB7+de2#$F1BKvg^ z&dVr^(dhReCB*!H`|{xE&C75WKLn2U`M1YZ=exaj~+%ML}+PS}INw^b_kt$7s|fO1w;h#dhg2ZL|E`97PW z9A2XFH{XE&l(;W3nN}BJl+8w@s1Ofq8Noa+N2EY#G=n8U#fWq0?}Nd!XW$LQG8A<% z_z1*J4=-m_7x@U@6$$t__y~r>;Sliu$v@cp8VmRc*nbS@Tdu^-P)dod(|C=+`QP_9 z!j0W^xXs-wf1uXZ-F*9{%(Zod5ibqvVg8 z6S-eme=&9=M;4H|?Eqg|NC+TEB9HuV@D0t!ibPgv`SO;}XvLHVvkMJaZxVop+=#|UAHik4InuWj1-*O*xcIO=v`F?wHP#<9iH??Zp3EZxgDf2 z%*ElGSFM!H`z#_>9g%vTdu=p?4LtKa4HsOmWHo++-nTe08 z6=jx=MCoCa;C=ub3n|;4bJye=Um3>Pb=rpmvV4{IDs72j<1z;r#|@q8_~qIAgQGXE zj@`s|fwOh3)Bibr|K^9IcduVM;WcH1V5GD3H7?L)1&jE;-ERZ(4S=f`B_z{qhDNGJ zFL;gq-w4;k&GpUo^%t9a8U%Sh%Qu~iOOITVsfs)w<*wdA_v%>}e%-q0nb|I_c~WPr zRORbqovtN-oxiLLI}Sm5*6bExDRV(Mc_K3S_^Z}Ac06S!_yb!hPEaw!Whr>-B(jmg z*Rv?;Ckvfa>jz(bB3P;5YFQIk!}x$MptJYY(EI4)ZL0Vk74Q41+5MF2PUY7+nd>am zXE+##K|RFi+aFvb31JkWvV4=-fZrk*|5RXten=zD-gQ9e>Rv~cI>^TC9R9f#TZwn z*f_&_9VG|Dg`UAdMY1}J7`sfIXTF{x0%J%Zs7gxv&r_7lhH(~^V7?LV=-X!6?oyf+ z*I5?-I#Q)a;*yne#H+1-rp;m%|67uBq|R8sr@zC?Y&kgE_kXuGx7O|b-<{2!r~J>4 z@`&ILwF``AOtP)8D64=D1Dsw4gTem^+BQqs=%Hh~N-+s|U9Egc3Phr5!3yHZ&8Vy} zLBU{kFkq5ESw3f|B&YNn6%AEHz%7Htiihk2`^~m>fy5VnkCGXCHTX0bOabv44&|ye z0xPTr_@)VX6`Uec3?yV|cb|aP)1Ju8=j5qU#k0r&fEh zljCBpq!kIBk;0Pc!~AD1u(^_5m6sMO7I^{Vq#&uiYSNJKk=N8fE*4cg_ZD^+I{ zEO=KR>2Fy^lNH8g5{Vlh)+m2hjjDLUYX5bgezL&URD26@a-3bSprQz07DZO9teRk~ zQ@ORn@C{7y1n~sZI(_ne8GeVzihd`~8VH(`*d*tmEK$KPb3e|=%UMotR+=cynsq+3 zHSnI_L}6D5sg1u9aIIeGD_qB~D+jCL;S?uvfzlNZ0y!nd`x?@p*MAY<#b63n2X;r0 zD72^5etW-YjNn|biLiQ!hv_z<&0zsxL@JmZK>}I!@5YRmPhCzh(#Gjy5D-KE{TjGJ zH}$};0Xir%F*3^b0b~h)R?PPdYDj;rtcEL`_|+x_&6Dj-R{pz!36JGjY4*vQMUOoZ z)L*M&%J&u22gPN14=L>x(G>1I3^ad#xy0VonUIYh|+n;|K4XG-)EEeD4pw~l%Z)f z;8td<8;e{@s-}yaZ<7o*+U6l=Ld))NhnszfmSBzLT`}?&P52*FlI}CHoMti4!_}i5HT1?PS_6TFn-;M!=#76h zYqq(I!W|&{_EDdmG@tt{`F}H z;~7rRdk`rAQ4+Nko!2+Xe1ktQ63ykHL0&_WFF@~FqjLM0Y%l)*oV zt2Z|21p$6Ce|B_Ila{*I8jqtJ9gQ(&n)R)V$3Ffxhq=FUgM(d_HI6;$>3<$Qo$5*+ zHJy&mRxO>@y|a@3GM)F-(QDoF4a~WMc!gFPv$(1B`W5z<>AZ)&uI?7=sj;&-xI*CK zw`@ryZ(#1gBPz-K8@&F{JXP~Awo>n`P3;#Meg`~u3*a61ehp+-I-2^RS`-4{oPdG!Y7KZ{=Y1?($~OSGY0rt>uu;W8~K+5`97 zfAAYqBD9=8RQ+xkTf77t!hH-amtn<0i~&>Y*Bp??AP96#iME)3b?e#u;xVaAoW4AK z`|_;TZ1~q&!IbDpQTedzGX77tI&yCHTp2~Dtm&&n&BzA1s+1UJJysF5gqn2qTuMBP zQY)-4Qd#(X+5(+>_Ht?}4QxpuU{!W1b6K zUkwgfv?McW%q2!&5O~xW#Ue7Avp+=`o$x@d0arouSo1zzCE82UANw!XU##ms46Ui+ z44~auTBBEcF z5MRiWsn>kG6_bhZmi3Zf9pr`MZ=#9e=k;GYDtcBtIf~an1E8SLSmW-9M2vqw5;@5< zL@ka7eyhbkSighfU?Dc%dzyJ~wSvO-x4jn$_fR70BRBeqZ6!B^#xULo=L(5-OlNG5 zYjuaC{)p9)8&PHr7){Y46@bdSC(j?5@Dhk;KVdTE%l;dc!FWLwTI%BwKX2jiAIYO( zW1xjq(feiLL;~77|d?iAC5sNk}U_b8-Xb>3Qe<;Ns}bxgAV@SJ=*l*OKnGe@5e3cCh5th?`Z`_Av%yXrt~JRS19cuz*Q8#`ET_$_ zk#1yE7I<;7kH&_WY?n3FbW%y8(KBb`NrNE{^o1#QFB3K=7*Zb=l`~MpYH#7l&A0cKVTi{dx#@|A~(0UJ!Ef1cgs=)Su(?D1~daBcKkp1i@m9bZ!i{05`BJLBG) zF>p2Z=4&)#peL}>&4nX~W?6cQS`Pjh*IVt!tU{^p%`ZlWR$p(dqRzcp(jY@`&Jy`? zDlYFj^@T0igy^?@-Hj3xg1u$dIF;llMVZGwD$L*sgNQGBzeCgR%-Pk)+sjNiR1{5R zuRx?KQjZ1)9?W2z^)eHUQ+KkX?r1O0+#v~c(Ad%srvw!f7@^xwxB46rg2x!F@?AZp z`N0dzJWdcnD-72faJFi-VaHu*gN_l|KT5>Q&?}pHJ)HNSTl;x>4E=wa75F!5$|vvh zEPf9wl9ds>w>i*p|HJy`-iCeu-_G{#lm7o0&zGYAf3Jq#NfsZdfwyd9pbO2P$ujWp zqMw=2$;hV7(9L`Lr*Jq)#22tcKdQ}H?I^aWPpLGbl0Mzn@TecJ3F2vq+ZZ`x`MjFY zeLG<|eJgXh>5nS_?G60UTGnmuxQ|wOAF6|xx@J2Uq%vNw_xi>e@2bVAsK>#A#F#oc z?+h!LdCkTAG1yphF?tNP+)d-=#3>?l=9G)KP@HVm8VZb2&hx_U3&MphVwIWI^zUys zKGu!ce-W%Mm5+)XCnvW(oP6=8J#N*{MhQH<(Y~)`8gxEcwMdxx%()BZtmD}<;NxXY zwOijFV+8R6jd0?-W7Gzq8?821mVvGw*B*3rf%`{Twe(7lAgO)}@f$=69DS~pxW)Y^ zlbM=Ubz{Nf^78QH-8+I4{2NOmd4h@vr37B0KJvMrMD}6W-(B|!S=ENI)ri|5%Bx@u zcGsIHQME?BL9?v5dEj=nAlcu$OVefyU@!)IzSbRPvkRQ|QxERnIgit7*`aHoodHiP z-~CsFAQ=V(DY>W=|c&3QBkfP zq_GTIc9P^zwB#m@9|-LzY+UWM&u?>LOAWuusdshbil+S$pPQ!k(ZM6`&GId0w*XLSS*zR-=nkCZmkgq>xNyQnAlJj?7!Znh?(W z3?)zAF!u5MK70eN;i9iC425Ul&=L7qjP|gJG1|u+`jOfguEc7+Ch)^dUX8hu!X|_N zELOMZhn^=W1gjTuGs}f~5x25Mlp}gxlz3YuNE+u>CEZ3ZXfglshbGZVfB0)lEPh|p zRRUWxsIJdw&_USZX#V7Ay?Nf3Dl=__vRP$v$tHo2oKL=XE-lh*eilH@XmOIc{S?5b zd-=T^!^RET>;87@v6OImL)HD`SG@|YK+&ePiX!ZM_q}&=J5);UsCNrfjZ}NXv_-oV zweGS|Ig(GX5nJDgwf|zhQ#-haDzOA*lq+5KlGdlbY&~68_Vao)-UAd%!m_cswcT%p zH9Oo-f@7eL0Y&q)ye@Bfz3Z~M)FpE{OG;kg87ywt0yf@PYeidf3tde54$66!2MwE` z@d8FyD286R_gjmfkQ1QTA;weFvLeX89{j=An50y3& z#b>Wi<*Ro8l{Xq}k;IZM+JM)8b@uwS)njy0WOE$fDI@niR%Mc?HJSdg@37xmE0&6D z`~1(Lqqb)eWE>GsA43!HWBm>U&Lo;{dUTc_XLVN3FOKD(hiM*8@iL#s2erTuJ?|Kz zzHIfpNI$>R19yO)?OkM!ebV*rr|Y#W?sVC>habgAJ(08pw~?eg%~8~?CUP(>9s`n; zba3h51aQ*<(g9|1UyF{IqVgtUu=OXkuD0c2@aRyDrq#2#&Fj&Yf#EL6S?@^3GMz8| z#@f@_uP^p7;y-d!%y3!K?tcGkcCoBDkdF9|-QCR{EB<45XMOJ}{^K#8FD3rtq#kvZ}*bpy+8R`O+D2>nq+;aEd*+p$yFV8Ig@9d)0EdB|T zshxUmVdF!~FZvpngf8RE_si4K^(xQO639G{J?nItIgTnS)7AcH0pd!e54uJ0$rkO8 z$Sm(?fwCTR1}pqo?2=!z3!hE$eU@Dbd*r{f3(FQ6!ir==ZRu~_=cN;F5!*zg>VBtP z{D8V$f34Dqr>rXv(%8xgyxd#t1seY?$ud63nh$?$$#QoYaW|RNCRv_E)GxIhK<}K8)I|ybm?)AJnG7T!Dq8zI1yY>e=_v({CUy4BQDXeW;L`Mqm zj#kv4>Xc`QEQ8hX6u}~@b9;8BJzWS(pM9 zclTmCf%d($-LEFO;oMV8I?QG>n8sbFfopZ9rw+1+?y-Q*vAC|Wn2xcCZqZ+-SVWgt zK!;ddcUV+s=&LK-<4Cwyu@)oKuUHFLfY#h^vqEayLeTq^?5?yU0(q-8KDxl^sGQPO zdKj^_dYWCQVE7j7?7kT9?7jekq5n#oU+B2|mwmai=lHaQ095%p(FiEoOlLF6if-cd^GJ**^D=IG*Gk|ywQh!nWG#UAA`CXA!`Lek- z;b8Z7cXuC)MZ3GZ9u~1LcW2StDm^IQm8e)YlL`rV|8IZ$+heflZ-4unXC$dFOJLJM z8b8peYGatM&LfXR%1HM}RA27S;*(1ppH$c%x73HPD4mBV?_M4Gc*wqg_v+~P$FV09 z`teQZhcj*?KB`)bT2Z2}0V`Fi4g*#eTi6~InZ>1qdZ^G{=a!aBfIDC0pbAK zu>8s50UWI89T(8bMrV9LJLBn}$8dI!7y-YBpkMgBdK@~4;27->+i7bMb*xo(U(m1wqM8>exVUCqM)+sZ zSo3+*GqPAsDWc7&z__ay6ZF5|o-SF~7<8Q;9=v`zq)7av;SWPmXBg2} zL!UHa!&1rRhaq^_Lg*TQ7Ml_J$ZvDyBfiLjd?cQ-U^vznwrQC%-8Nc7^Y0L=iE4> z3bXrW$Z6fgh9xAR($`L~-?E*5=e*Ow%EXp_YM*A^A7j>;n_Jo#xZgB9O3RZh!O_i^ zG6_4TVQ`pKB|*ivxUj5VDo|3+l6y{`UO4VI?+q04Ow_S;&FUMNRxr_gicV~??7{ux zEOp`%@1MlMA66WwF>pU&a1h6sk_MAQwH1C}_hU=+p+M0pA5IA*IO^DBfDXD<*sSD~ z^piCS7*li2ETjpjn-tD)q~}U$5OCf~fGMHiR2tHjK_Ybqe&Pm)chqe8MR|L)K`8!uJ=jRHn=H(rm%z@F=dc{Tu z_Y!lxwegkQrol zLgOQk{Gb|q6D(^{cAZ|sB0e~I+Iito&lr;ho_lU_D1CA6 zI&H+NuoXf(NRFsB%t2My*9UUZ($x^{0WZ zJ4{LyZHt%kB5n-GZX*2HeSuM(*o}(aT;K!BjD*l9UtlJ9@1(<+xgPvtI)7fH?2o4b zh=BY%DFNPVCS^3ewI0sBiy;5Prng#z1p)4xAsZ0zL2pyac=f=G_)B3VdQL?@$TAMxChEOb4zG9X4T^C!11dEjV%-yH1Y9TI){=EK6yDQEzyWHt+O_Nc~;oi3>9OGogki$~W zhyffdJ1mY9XbJxY(mULdpk&h$+O8(%(wncy^l?B#-Nl3jBNr$lVgKIE3UwrGy4zYN zlSMQ>%MW7^jL0nCXxfA-F9j{aJX>ufUSl#HGMo=e=Vp^mS>lWV3XX7rB0@!ZcZ&qH zKbhmwl?|+!BusValLPa~f%)XXd{_sjan^_Tef!EWcT~_N?~u*WG5A`9y?<@csC&`A zR&KN((#R^ueP~~Atbd2C55|!W6Un_SCh;^3C%wIz%YM0Kg)ihrpx+wIB*}vkyqyk z_+N~H^LV1Z?v0+JUhm&K1_Cv4T7um*x3wG;W?g;Ra8>jhNnMiLgwy6NGfLX7GZT#0 zk5>E2)q-Hu6zx>|&h2Z2@~qWhb@!SsN8F2pxwvZ5r0rG{Cs+NQ?yBB;mkBULw;U6G zX0bt`Rp`E)*4+ZPeN{7MO{Yq~EXLWwX7Z3G!01ml5ZlsCFV>Aahv7{B>^TwEgGgrX`pIM$G}%;oDEz_?e`<2doXve)+Dv|;qG%ce z1tL|EdNh3S#YyWsd6vAgTBC%H0qHrg%Ijtp8-)w_jy&caH|ccLb?(%bEBgC_uZOh{ zNj-%YIs4{c!cK~eWKovfa~1P0U=n`cw0iEfMnV~b;Oy|kih0Zv9AQG=dyb6y#8EDw z?sJ%nVEg{;>|{aVr?9cQi=#VTY(X&4oi2#)-O=5dN$a|?@h@Mlq<#{Y%NCci^L^4x z4x0PRvV%0u2)jjM2@1JanrT=ppm&#T8q7vm!~+PoKIoPy-TLBNns_r1Hah7xAO%Dd zd=-id%EPPb0u?DDs0?u?J)1)RFUx3(m^l(m3CT+pIszU@T6(zkBrZRbxYYWiRcNYh zJXlxgn?zq1Dhour=xxwI^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9 zO=cuK%?q58$x5Kn_EibejDSg2rE##PF~PIr(z@2odGd+|dUej-pyE|JhY5}av&}95 iUzJ_dEOkHU>3Mpdo~Nhp^Zx|^0RR72-nd2pZ~_1i{MDua literal 0 HcmV?d00001 diff --git a/stable/transmission/6.2.5/ix_values.yaml b/stable/transmission/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..aeea220e56b --- /dev/null +++ b/stable/transmission/6.2.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.2.5/questions.yaml b/stable/transmission/6.2.5/questions.yaml new file mode 100644 index 00000000000..bd4c1e35bc5 --- /dev/null +++ b/stable/transmission/6.2.5/questions.yaml @@ -0,0 +1,1155 @@ +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 + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/transmission/6.2.5/templates/common.yaml b/stable/transmission/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/stable/transmission/6.2.5/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/transmission/6.2.5/test_values.yaml b/stable/transmission/6.2.5/test_values.yaml new file mode 100644 index 00000000000..c2388fbd06c --- /dev/null +++ b/stable/transmission/6.2.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.2.5/values.yaml b/stable/transmission/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/6.2.5/CONFIG.md b/stable/truecommand/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/truecommand/6.2.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.2.5/Chart.lock b/stable/truecommand/6.2.5/Chart.lock new file mode 100644 index 00000000000..29640814440 --- /dev/null +++ b/stable/truecommand/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:09.032659866Z" diff --git a/stable/truecommand/6.2.5/Chart.yaml b/stable/truecommand/6.2.5/Chart.yaml new file mode 100644 index 00000000000..a6ba4262273 --- /dev/null +++ b/stable/truecommand/6.2.5/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/truecommand/6.2.5/README.md b/stable/truecommand/6.2.5/README.md new file mode 100644 index 00000000000..8fd2ceabd55 --- /dev/null +++ b/stable/truecommand/6.2.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.2.5/app-readme.md b/stable/truecommand/6.2.5/app-readme.md new file mode 100644 index 00000000000..8e1468487fc --- /dev/null +++ b/stable/truecommand/6.2.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.2.5/charts/common-6.4.3.tgz b/stable/truecommand/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/truecommand/6.2.5/ix_values.yaml b/stable/truecommand/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..feeb16a6372 --- /dev/null +++ b/stable/truecommand/6.2.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.2.5/questions.yaml b/stable/truecommand/6.2.5/questions.yaml new file mode 100644 index 00000000000..d2348d3ab0a --- /dev/null +++ b/stable/truecommand/6.2.5/questions.yaml @@ -0,0 +1,628 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36044 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/truecommand/6.2.5/templates/common.yaml b/stable/truecommand/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/6.2.5/test_values.yaml b/stable/truecommand/6.2.5/test_values.yaml new file mode 100644 index 00000000000..7710492dc3d --- /dev/null +++ b/stable/truecommand/6.2.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.2.5/values.yaml b/stable/truecommand/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/3.3.6/CONFIG.md b/stable/vaultwarden/3.3.6/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/vaultwarden/3.3.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/vaultwarden/3.3.6/Chart.lock b/stable/vaultwarden/3.3.6/Chart.lock new file mode 100644 index 00000000000..08e45d8a547 --- /dev/null +++ b/stable/vaultwarden/3.3.6/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +digest: sha256:465e7b131ee731b148c277a3ef6895af062a39143161e9035a7f8b0841b06e85 +generated: "2021-06-30T20:01:13.114330182Z" diff --git a/stable/vaultwarden/3.3.6/Chart.yaml b/stable/vaultwarden/3.3.6/Chart.yaml new file mode 100644 index 00000000000..959fb718476 --- /dev/null +++ b/stable/vaultwarden/3.3.6/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.1 +deprecated: false +description: Unofficial Bitwarden compatible server written in Rust +home: https://github.com/truecharts/apps/tree/master/charts/stable/vaultwarden +icon: https://raw.githubusercontent.com/bitwarden/brand/master/icons/256x256.png +keywords: +- bitwarden +- bitwardenrs +- bitwarden_rs +- vaultwarden +- password +- rust +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: vaultwarden +sources: +- https://github.com/dani-garcia/vaultwarden +type: application +version: 3.3.6 diff --git a/stable/vaultwarden/3.3.6/README.md b/stable/vaultwarden/3.3.6/README.md new file mode 100644 index 00000000000..bb4095ca30b --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/app-readme.md b/stable/vaultwarden/3.3.6/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/charts/common-6.4.3.tgz b/stable/vaultwarden/3.3.6/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.3.6/charts/postgresql-10.5.1.tgz b/stable/vaultwarden/3.3.6/charts/postgresql-10.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9e316da60000105810013f859649f9589c513e0b GIT binary patch literal 49272 zcmV)fK&8JQiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMZ{dmA^hAbNi0Ur|eE)>2la9)2afn{!r{6h~hqnMahJGn?#) zGc*nUZM|t{XJ_a2%a`ikot>Thzq>DA?ETyB%bnM+-|W76@p9+ic6ML9+}Zm#*jY0k zr77kDv47jSb6fe&J&}aMkP0LS4SBBx;30v>l+Ai@hy)rUj$0@qA2H*EhCR66YoRDg ze(vseclWwGEgwfX^l|7B%zLd4glLL;;L+)nhAjYwBg%( zlCDRm+ve{Uz;)6<_jC7i%g5YfBoZo1aVd-_gT7|n!GE4?0SbW*|A9TxVK`9TK>_%t z3ou0?8sjMr1@IXcc-jKkcz=HQ_H?ibH$+TieLRgOh!YMp1pHaxkdq+^h?oHieVNGx z3VpYTWI>!` z!MC|U-Y4!<*(TGm^RuH0boTakKJUGF*^R<+>l2>cQ0A*4ahghhv^oimS{=~e7>)ws zDH66i;03Y7xHUy26o`bFDQI|#NFYbpX8s=s;}#eOcxwhUEsuRhy#M24F2PL^6C~`8 zSW+SLp{4U2#5s+br#Wm6z0JQJpL(A#>ts4^tKHn(bkh%A%EsHRl<9W5ue!UfZ#^>~ zCKcp=K)p|EZexM`-+A%kMPB~Dc>Si4{|}MwQFOoV?zVg~#$5D(Pte}0*S(z|_VCLe zUyMfn53jtPH{OfaK6jsudW{()zRbsk%3DA}FNl2-j=_~QTT*oxk#Wqh4}wC> zb^WnMMRB5R_#kFXYHjEmkpK;Yq(lX>J)Luo$Ak-}H8+*hkAq-Jplh^d-RZCwKePazJ%d4nJu;dBO3Blw0r6(~^C2FgI1pS8_w)VW2F>_$AS2U5fyO{M zJP(k-Ts+?b9B>RA3swAhbVfy=VU9!bT!TyK(A(br6b~^AvB11b=(bNiz8!PSI^&r5 zcw05Vx1U7}ccM55NI353JOxSeK!R!y+@^F(?<2jP2xh=-7ehddp&8Ioffu@l8u}MZ zV=iE*wji;B;V~@NFCd}fc)8y42+5s9wqLxwV*>F{d^?#vorwCKL=E4TJ<*-(M2uV` zfjf4zw{35qss1LMD>LSCuI-K*3Bh742W>`UxS?_2LqI-Z`GsRFcTEfd2}hJo)doWD zngTl3goa}QB4#0nxBG)%ocs!Ou!cawZ!6K}__F#kpj@3LF2qw!4 zDrdeRimZtk(yB{W(X~5@gFyZT0#75!Td<*omfg;%#u!%OO%27SoGH)LpYILCUan0E zvvzwLoXyUFlu(aDBAi{6E6L>NYZ}B;+{bK6I9FSAx%~~tT3FJX5Hrbw@<${^1Q(_X zOlcg7h>}nZ+j$)B^A8-e-iW_rG>&BRMc^#}97-wcTWT9oC%;t5jdIChH(`8&gFuzi z;v*wDc6WbNpB4y@wTq8+3J}AiSs|kFvn{P4Kvowa_b)_}9v1}3B2l8HK!)XICu2s$ z3=U{0@Mj})sX)j4lMZ$iuDJ`xB{hnLa9!Bh?W>!JFJrHEbHN+ap0i*7xQ7 zpOO&!QY~Wtb1Wz97Q|f2A1Q56=<^<25g$77RZso<4sOAV1$6v2w4pQFyVBq_LK0tW zFb!rB>L?D>5!(9*hl2?j3AmXMZvqpQS; znsw{%G=?df!41+PM{9J1FGK5}EV`lW=a7VY5s}E~Mk4AL2HQxipOnB-W6dYikE+qG zH!m8=v} zCujkfl|{<iRA1ss4gT?4NL!BV33CgaChhg9IL3fY_Z3wIK zOlzepuoQ<na@IR!e~fiu4FY4Fr_~30S&i+jz(L+@RSOCiJ~Z&CBJSM5n6Z!)I&kZR-oj> zS`qoj?(1z9hk{ITN3&Yz1_j-TmZjBkNr1N(6I7z#P^)aQVX9}L~! zP#{?)&#PAB)a#Se8KWm;3pi&^dW!qR6UlZHO>uCb&i>_gM*{oO<`cxQ|27_tFyrkW zv|sJ)oW5;;Rg7tNO5_?#^=3w6xw1nP3;8#5y3mzaKpd)_?*uE!!nfrd!=9k5s9{!V zK%TxM*ychiwK-)-DMESb9k~53kWblu_}DMfai3e&XBZ2RT7W8esZK^GSe+`C)LKB2 z@5?D6GrN9{AggfHGqqFim{o>%1nmrQC!om3erLq!w4)mAP%*)*BPJ+RE0M1c+#Em> zqdX~(46!6hdv@2S_d8$)#@diP=Ta${A~sVS4}IV<)JK`hv}TxmAR#DhY*od07s-{A z>JWI0a&AjxR5+Mncw7$0tgYFU8MnJ-SNrYm)5qfh57(S@{+aEa`rsT=X(Ieab{p1O!A~ zo5f;+Lt)#k6bxz;9crtpXnZ*tqOKWid+yo;pDImNZ>sX87Eb%L_}nR9Lhl~jcGUHm zrYF+lFSqersQd}#BFR>TR8FqIbe39!&A3ugcYoaL?!Nw^yVKp--g^mC|CPhQat%|% zI8U(Z-OEMsF0?|{XwEEjvGptqI>Df~0HG>Tm3)v@bI{DXsx9ic%LP*K6B^11N=LSU znWS=mfCMPT35Jx4I-_nu#nlQ+E^{ja1jqNV}FrcA(+tTh{69Qs!Q2;9WlH z!L7M|g=ha`dq~1eD&W_OTLhjNNfvaM5mZTB5g zD1OFXER0P+j^Rv(I(tigWp^|Cu}=ip6>If{Pl6$#RLEND@18y}IH6-JA*F0k_a}C{ zAJFkHCNFaYr|Qr!#A=RkyX5Ny%c*>jmMPTt33os^l@2o>GWFg^*vJlbJs|0#RkLWU zskC7hYPl{+0nM@4OfI%{nG-thLA&jA1PK(-aTZds(t$44gEk$FoazC-#`-8lQ!(j^ z{&`BmQ_MLUW8MSI7&VtD7xoTT)|AZ$B*YLgJR+axb|awU6B6RSDw*wxRQ3L%A$E#h zm@HLLF|X2BWkXWwfq)DdVnpqXoQ;<*)z^hiY?&Ukqp>2phINWQlW9B!L4{o0ozcty zJ4K&eM#xlkxyWuNY)v(zvY_ngOA7CVOo>ZL>VrO6-Ru}0;G4N29Z!Zx zqwq5c^lg93xhMud(KSQh*rTD(4V(B%N7dp--4e?AG-k-d$}FMQJydcoFV_gk?R-0; z`aj#xEL1|n4jpym2fY+KAKuCK`j`>w4>Wc?c%d)MP7e3`1wE-1_$Vqrb7w&hoq7A;{ULR^!!!GXgns5na$4V0z!CE%mq-YfG^cV#iu^Xun_wyR z)ejMHWe}EAtnHOap^N5&Sz-E=%b|8_h*^|KDfxHL9#$Xsl|Jv;Up+X}0!>rl)yo%q zt*nKWI&`N#ma4zG;jxqcgd+bf3Q*`_rdH)MTh7IU*EBXtIK@=voe&GjH6$F{yzOTa zVn^a55l*d)EQURUec$ZJP&fnR%avL2y7K_VTtZLLOld^sYNrcFvX5%+sRIgYThmRB z=$$t#a?DbTr94GkBFH(UXYq~z1A%6+CcT; z9EDODP+vQ+yVKSGliMyU!HL9uBJZ8y>?zXDIw_onQ-c+bsfDX#lK+{6*p9bWM z*RNh~Zb@KzPI<~$Z>a8f0EaXlPo$=m)#bJQSrFhrZ67e>Fu~}W=yj!)*j4n>8FrN# zTNvT4DJ58p)nCdG4G@I*2E;TPS%VPyjj1J215@WG>F_3VJAZGV+9IZHTq!#bc=P5B zq~j%b+iG)>m?4}Z zBc+!aeQhu(6(>D_VC<1W8zet_2FD|N<-3(JUe@=Z|J%*_cT?V&MYTKavMTNNmf^?5 zBEcFNDaj*guJ>yaRvg+3=M822rKk3$+`*b=!Z--FAf$z+lwB4OuCFsV7F*y=DCOEN zB7v2*idh$6V;t?tf!Y6Uu$8>_1AWv3@b1^6E%^!lr#71s$or%fJ4;Eu{FgApermg? zpCbAt6dM_N`1n&3iY$FJRc zHJ+Lj(hx)cqoP@2NMKch1T!8FHD1r3xAe@+JOXHU$fgZgZ(w4E;WjgFFeA7c;kdj&pCic=rZXe5`T zncUKFES6O^wf!Fn#~pmF4{Em&=VTlzdo!tQ8>LhIwvBaA=yy;kNRneDlD6K|a)I}N z(~;PM31WV73`G5XQ$?9h3w@q4w});!PpF%rAo;G!g4LasXgtJt%Kt9iBUvfe9cveU zmciTXNEd^(lS3W6rGNq{9N-h4C341oKI)DWTl7zO)`NDI6nGDJ&|e+7y0l%3a$UBp z6^+;2h79WVr<9_)o!w&Ap4+PJ^Y4F{5x3OK%daTqbq;#4rpfA5d*m}m2gNa8#M0U{ z-k{Pg%+jsQrvhhhnafdKq{u4C%52qQwHy=iTv@y)8*Woa%l+I~@wJl8d5589gI;nZ z>xKLvzl7YunJ)L<40F+!D@ zbE;uKH^!Vti4BeOyvTl13SOeM8DpGdcdL{x`PMebr=8>uEma5f>mV4$d^V(?(|q$x zp$ES|_v!O3c%IaK{ztO2D{0l4gXsxT$;f?lUODj$K>bD8uxW6$p_ReOf&fl@>>-xi z{zTMw$e6LR(n^&nU!dlU#>_mi36qyG4nfoJxljGFS4O5lM451PwX`|;CEJc3Btv&~ zN(Z}pFJ2~Ut3^B=koWF8-_m1HZ9brBnm)78$D&40)eA}PcrbhVS)z0?Wo#G*GiybW zQ@=9S*o8$qt^Lodh2{GA&#s51-EB0ne@RU&!|&f(7jwl=nL<|hUZIs`$~}x~meTR@ zXlHlDX&nmMed=fb)C!s!JhMvkWz@7~fmUm4jk>mkx+Y0`7hO%Y_1gritF-j0qjK)w6!%Y{wY>GsZl1exa{Vda(EE^(irVUKGoW zooUXfIceAe(XaN%l;ln>7Ya;|PNP`8tvC2>Yh5<+at9eii)iMNlq~PwrVFYqWz~I0 z6wn#=Q)1}%vePLI^Kz?YuCoo_8kwZW)xHn~I)XE|SPHlc@1^WM4#y004uZ)Q$pgYc z8(WySnjyU@-tn2&L12&T4eTlPaiF>rMZv7AU*nrAAXR0{(FGC<9*;7HJ+o*Sb3d)Z zq;C^VSIr50DkoUx0hGF#l-!w!RvH>CBztbTWwn92Cs&}XRTiUDW%{7Wq`_?Dkp&-f zVc)$=G&WNs2dNhxeb!b5&b)XAWCZxLWOt(6EGSnH+^)G2d3Bo^j-89MFJBGG3|;zE zSr{P!h~dPqggd~`dFp2(y#rBI^c91-O=m=4Mv%Tfq9Hb56}6RzCrW)i3|s1|f??!o z5*)rY7qo9Dri}UhOxdH)a%+@$dC?U*@I|TlvfdU@WoRmuwBv9q)x<5hKfb05ZY6&98YmT) z`Yo5fZP%I}7l?^C+Jb;w<512ztNRl5D`IqrYh41>eRppg>LiVH3=$pP*!D9Ah;6=Q z%JgMMxoez|2!et`9H5zN2d9=Z*EVkVl~ggc{b7Ro!3>^B&1vpomcmRjq((yj4lUy&@>mRHBRLZ+_6l!R988% ze3+|qk|B7m(m8h7HLY}>rHiShEL=|pMXNz!Ca_&!Wg)X-mamJpAc_UGzA(YVOpp=r zkdTCzpWdZzG80>JRozk5tj|4ddHI}c3`sOmueY(fdG{~}hIEYy(#wJtw$Ifaw=OqO z5DrvTp4vUA2JPEWS<}3JP{K2L(V#%49gyw|3t@*w@J9+VhWS=Rd5{H!eh zE1u=+{EBDg)%L4eQpOp^RL(D1{nJ-hYDBjOgOg;58qTa%XKYcXfN}%4gy#p@R7Y;y zsL%CNN8P7`{iI7te`JpPEEi?EcaE>^3)d6Eg>s(}q(HJ#eToGm9+yi2WkQ>mo4ktm zYk4KyF_$efhs|!eTY3W&F||j$h%F)H2wEsfMDpMET8{&r3OM+<}3{+ghW;?vBwwj9}>}JvfiGax=u% z5GYlQS2X9*)oR)ERK8&LD8rO*rljSq#pD4hR7k`Pz*zs3#g2rhfrCG5aMB_{6vFK%h#$OElpW0u(q@E1h zrJe`d(1ovGJ7zYvzrr@Wc)ha&{|>uuQzNOZ?M~gSAkinCV+W3}F;mBhQnM%8H%;=r zFiDeo8JGR;+gHhxb$gNDgCXrBayXL^BrU$v4E^Cm~HUQZmtLMRN3Za&m>ZW zmIrKHg$3z((~3?KEeCZHISSTM;!gL+te4f@oxOsa!JMyBeeTmZ8+4ov9xB1jWG{#kc`x&9jRv$WH|1G_{Pq)&NV?DWSuZcbwQt&sRmEe)ls4yjW7Mg z)rigl_%p_mJKBSzlcR$R@Vh=z$AGXuP-NeNgZ;q~{PxSynFL@S@pUJNC%`Tfw>uk2 z^(}aQ@c!)V=-}e{CS2qyJBVCz@|RO>6OK*>N3a7&XNM94`So%*6PUx#=kHG|fPlJ| zV9Hga!abxyvd+eHJL7krZ$a{7SN^cXeZJXFXfe&w%Q+o&a%76RI)QDU?7uxaY3Dv> zq)^*cMJ>MVOao~jtD1SY|KZ)y{ALD@<#s|A5`u!;w(8g%A1=yGO3n>IiKI|Qo8_TL z<}t2g%-Ttv#FU>lD+e{b6Dsv*xCRkZ^c4tmd_b1yBY9teYrtvl=|t73#HP^{=bWz0 zKU6XOE*vEkckgrd@8vuA@;!XjF1}(P4^TW;cr3Wd8LOtNI6OYW9b{X(5gL(#uy8qxbTvHnh;=jCn{cIsA=ItJ|&DE70{f^-T%EsIJ&u8r|SzPYdWmz3@OXo#QZUY6uyxoH@Y8thR4)&67 z4iv6Dt1BovpNK$x*jKI;V~$z+aYWg)?MQ;JTluD}CyAw+N-8aGD7~pHYr!FjE?y*y z%9ol(CZ`(99Hzx*TM|^Ju!DOhpW)EQOf?Y@-yy3;N#&iAu-${*vM=a!TP=Vk-#&yy zNVxAvJNfvv<^F5wmmCDup(Oo!HN$rZ^${{@uminfz zaSQqL8DQSHE*{$~F;Det!E@cOV!;d}>{NYL+_1Ov@`s87mL*OdmVlHIlG0uje?wXv z^gpbL5Ia=`EFq>jI<(6Eu9`H-c}1ORQ^wuSR7%f24zWNa;ETnTQNgOFz>v}aqp(6` znJWvY;Yx9p(qYS;fT>+v6$T^}c$}AL2?oj}Bmq%NR!)fT@*}E3Ii$v6Ss;0_yq35ni&htV?D@b1OT|g$6-f=2 z&-SP#|Nr&gHwJE`D6>D|+h^}Djs{)vS*)jx`TGCv&dU=0f9FM`|35_f{(BSM4TkEO zwlW90nUDadJ6RwchS`kh-$`OzHm8&3$S z!==MBecq|fdE};=g!;zDSRN|7L#Ta?(Eaiyx#j96Rx9!YzxKM;#i({Ksb5}itEbnF z{Z{MCmky8-bU*4nvLoTGiwOAobt$aWdC&5w8MCb{W;j&MTP#B=U<3aN8#?%2mh#qT zUmLoc>4)|vCR0@;?HkHnNtv09GU^pvJLw02N&fRX92HRQE;I(QvAuahcirM_A+b#Qq7Q@j5z z9h<^%wZTj)6#B4XB|ygT&&q&J*pPFtyiCS`bJK{6PDfw6E^)Q1Y4wvjOox2V*tS#VnCaSS?NP%}R z1Eb&d3`pqVoS8G>_Bgs=bF6KPR~ttAvu_VbtczNC}}MpltZQb91^QE&m-(9=2Pw2ClO!UiPM+bW4~z? z1u`mMqpf(B#nr;>2&i_sgfgt)&in7o06?dsi1A%QjYl-oHJ7RH8CG-M_RVFtB!bWs z%|M_}7!Zu`4NOTG3(U(sBOdpy9k~rG+)egjzbSKeM4t zo|!y@qw|l)2PN~TcGLC6ekU#W<%?X1nA)pvkkH4U!A>{Vc&aY-G(&p|}~#8^l5qj(L}9pH>%Wobr=a zk(0XLS>k`x@Cgl%7^93s@23Lb>!b|tUgxQj3?pyDhEF^JZM`{ZJELC3ZJY9wvc+h_ zcbnB+Q%=QsH;%>(`8aK|i>Hy8B@JKaI@5-YfJnJf)!UNxzxDadeW%j%zsm^@BFuPK zM8O)`n1BAa_xe@g{O|S7&dcWf?;+BcFWcY4HJSF*)4&l4uv}t(no6>G6WoLExAiRC z{=RkeIWk^q_4%AR!q?U=Emcs?R&A}G5nFnGchUmN`=&NGS1VJxHFLtG!z~CFhaS9s zq5dS(fpP#2?M@0zO3Y4zVj5M>w4tN5{~4ozj0pAtMUjpO+4>D@=&HPsZOD#r7-A2_ z9IGdY@M~h&WsW2X4t%bx&DEP}}4cjCIA8N-;dV0{95!5OG6mTN0TsBQY&t~a)F zO)bK70WQNLMRqyIB4+wLOWy|-oQ$erpF4u)JV`fDSgMStQd7t*OzPJ;r6Ru|x5oh; zq9D!Izty3{lGxh|sG7Yn#n;rE475A_q9Msjjs-x6?&`&+F-a z1>8Fm;!rypKUTo3*}HvKrxg6foaz|=FY0IH7Ik}@Xi{13Eg$^_MA=-8Dy|zhH+V`K zsdcW@HGevrjuHu{@#vP+D+a|)uYWqL)z8Sh(j7@@m3*6ZTX5?#6#Dx?G(l(a6n1y& z%gwR?xpT?BGPPHw@)FdoN!16TW+otY9m=|k@sd<_sxC+7vWiu7F2k>s(v=18jn?)8 zZ!Ue)TfQYZ*Ew!jigS~Cm3^Ocv~gFKt3?ubq?RO)Q&r-;G`p!v3kj1)a5cF`nOLxt zFj2GH<`7SX078{i3mmWEu_=Pz@S&xFH0EuBB*A#+QQ3o_8XIh8epu(Zha?ih zJnB*g8{MBtfO+>_K!?!Q0grQ>-QFxOl?IG#Z4#%L;2ySii%F7`rbJ+FGRo{Yh&O%@GuiqutdNQaB}_5dGHC( z7L@%J&vfxG$yIb4IurL+z1CIsm-Ie-9dw&d21(U>Bt`p+bCJIyDfFfOm%KTh^#hZ; z1?Z-}Vl)ANht3GLX(UR5n{A6}wB1c)4EEst&%oB&8D zsETD6jsqz&RHSe1!Q7JtM~DRTMMmC;A-T6Qz?9X2I$tjRf+FR+D$OgMzu88*fsdlh zDtW5Bre);L-CK!xv}TAR;MEXqSkyGLU8JTg_zy}#X#aQEc8YeK7XwMzya@mA@Z}+&?)!+`l+}f7bi&P+h^)EtLi^=JQulJ1KFK3_)mzpq)Y1bwmueHBtN zwQ(&O_rd-$jJiQFut8a}TP2W|I8|02(i!$~D7Vmj4fit_LE%WRWPQogO&A{ zzPZ97?>cyWF#pQ47Qg?EcN9l2bz+$1dPmCa+d*c7umfCqkHTUmt zZQs2pmD>L&w9#RB*V6z-Sb4;CavtRXsu%$_B zFHmZ+jgpM@%69k7{Tvx~%I0hr#M%&F^EO>3rC4ds7UjaFv* z&KW7U+)|@dyr$LzlmgU)Gp|O{%*#U0>|ftno<6lyy8h>kH9B|H2NtaVyRTmFX4n6{ z-4`!kH|zgHBxlD_r2xp$@A}){S1;~Ij#W@@0WUQe+Pv50yWG^MS;rTw)4W3sjZ-XQ&epF4nRETp<5w}~k`kxMD*1@4*Gv%7Oqm4_IQt*XOw)mfc{C{`+*H=e9%vhl2w8C;r-FrUPagBT% zZLm}uoTmrQWdl9@N;@2q5V6@|qE{LfliVyPbY<%{w^s=ve6uL`;EZ1Y%{ z54SLU{St?sV-{MWUoBQ>>+ti}r4-#xR@2RJw}B(*-_bNsTr>yF!>^B}^4~_ZThl$j zBKg0w`#Pupy?OJp@&EH6spQ7dx^J-dCHeeJM8ms_?DDq+Mm#h^x@yY~CbFb`Vxgv} zCan=QbBC>5j(%%yY|=xgx$>W1d+Rs=Sa|;XW;eh8f4$She|wOW6OVb>UnSiK+S$Ne z)bTU~@7;xbE)aD+nP1-A0||O#no};Stt$toTSahnmI@wWPZC5&*mo}1@-11vvXF6h zkN=!sA?u}iv$AkD?!H;sv$6Q+Ay-yCLrmqBTL%lZ;b|vAL=KC|Bun++$K4;^m<)l~ z7>mBj&Xwmlz@DIN0aH$q@FqG)eJNi8FdE<<7_WDaaH%bo|5^L=JFftX?0;Uq*~{zy zd#{@F-v>!KQCS*2L9(kB`P%dL!Wk_xYMf*Iyr;d-ODzUQ&CnW z+bXQJ`!b74x_B~-{8lM`iM-$KO`(I&geg|C$KMbCX@@KAEp?{ z%;Ww+Hlu%hm}amf#;e{h#Zu%ySCL=$!`XAS7ds(g{JHvj97O@1;!vPKMTzB^qNgzz zs<=j5T}LI-z5`Pd_F%V_u4$ip@cPxO7q40XChF|Ez{!Q|eHhHnDOC>y`HTxZwWN4N z_dn@MDLZ}V4d5dA|MF$w{^#Xh^Zw&O(hB!KDR-Pp?x;8_oYIg8%1AiwdX!4&LH377aUuV}sZ{>Ueb;)P{;9M`{_pMO z<^QV}JG+hie~6Tm9gg3cREs~S0j}H&7~$c$4nP!?=B)3&Revqjie1ZY;-t7l5iy!E z{OhSj=h6JgmOv_jUx^V%L}rRgswETup^msst}FuK#NC_OYc(`9CC~FO|0k zxc`6g;!WZH|3#z!KS-)8|KDnMXqJITxD3z$pW~4vinCs?KwP^@^tAgr>mN=>(9qtx zT0Br+9# zt}VbK`Tr*W{&)BF&TeD>`ylDd92eNx5E9+$=NY<4BiYw2*|pi$`w0CR<>bQ8zST>z2(42q$w^ZFV-xJpDLHRvl zoreUK5Grtak~fQqB@7OI^{h9!ER4!5{Oi-5gaWf`*Ra&))Zv|C?SheIJv6k<;su#v z8jG}YCc6$o6>!SeoDv)2;#q(Bnv{J+u}%Zz=6q*;seJtxNZ?T%a4b3uBj0R_Ry`1! zzy814dHJHm|66na`yi>_ep;6LPIAJz;e>O0WeB~Wz@sR@+`|r(v}8BAU35O%oX#90 z)3O@{hcT;6P6wvQp!7hhUE7{t_Mx4w?{`?;Q51EvF;&`@&rDHRLzk;mq$oD#Ns1S3DdoGbHAjd5lXb|;kEt@~Xe zOP){I?wF>WnUT4#sk?`kDabtiSbBo|;6C_RJV{C(h0JH1i25hIHq5yJlg8ewa?993NlA4~AtwmW?jdoF~%M6bjUUZ7axE}|BKEyZNRAi>Y zLg7x)(TIdZ%p97SoZ9<=Qn6CrNXD^TDLZ}1d2)2{N!Un^=3FFA6{1{M`aHo=%%Un3 z9hiNFITi|-=HfQA)sj+${_c)D9Tcw#axWMo>h8S|m`zEj zz`bM0!+p$%dXGdy-|fo0VwttPCcs5_S@XIB-NF2GMX42J3TOh;DG^m5pq)f2xwXsB zN+c^k`FAmMzn`t!$YUX%l$A4%@>zNu5^^ustNhzgIn-op+a>-8#<%CD|b9y?^tCU@67;iLUA9RF zqGxB>pt1*FzxG@OI#yLe%#f;ayhtQO`tyv}dY_2|DnzBt=IJ-$3Vdi&vBZrZDfV}_Z9h|P=_ zIA|-^F74dt`FI$Q%a171_WJJ!7w^uG2LE|-`SJb9hts3W!{hVvcH1>phW4UH`tQ## zF3&!kzCD`L$^w6V?RnC=)|!^1V!x8i3CskGLnP24VO3PESWxnGxI91VpBx|T zUmU+byF7h=cvL|O9-wPHpQIU39|l!at?>-OdCW1ddk(2%j{D|uz|SOD$YL2(`}>2z zZ|~0!FMmEhsp@{!+GgI3Z7+CyQDl=c{k;~JWeEP9ar7 zEw>6*H?vUaRK7*hB4_?|xXTl%0onpNuw8q}j!S3Q@aM?dU z`uXVma&UD1@#y^W;JE+G(fP{AMhuUnddsdcJ0Q_SZnx?yj1rxLqw|Y7%(>vKsfG+U z?fiQ5_tl#zKhi203b|`O*q1Xitg(t&66~*t*?t8H>K{vZELaxV^OF^^JwI6v)p`@| zUG9?Bl5W>nkUC+M@p<5|5tq+omQ6H3ss?gL8kaG8rG%l#qsIU|9yY9 z1kWT5tO4I>yf6Pfq2n6p_TTM)I6S_PXxGHn0e`oRX14XqgZ+#BRj@cf0tMB`l(c$q za(r}lad~=tc6oX<80^10s>}b{!Tl)-Pci3cjF*{ogJ1T~j}9d-pS<5cygWI6d%k~u zT%+k!)D0$xVZYCCK#_k!h72)MjYIzIApvuWKD%;bG3uxL|Fx8Os%+{`+?_)0o4-=f zCuB-Q9fnIblu36kPmWKIt2cV}TVGS>4u>B&X3KZ&!{F##E>w5vT6x=R>ez)B{fcpf z0&spDfX>@|N$VTmIsGQ%RQ&=jc3j zT3l0C)VrZ64n^T*WMxkV7yB1Sr&65CMeqHGWw@=-+A(Bs?f&KY(dqk-M^dG}n70qB)#ft2$psT}aTH$E zN!!Vxl-z0bmkW+lLO(eUA?Cc#=&<5;Hd7>vE&iN7Oi7U|FF#uQy1T}u#_l|NC?N$90#F_dhgztLjPB3K!~fB9a9n zK3nGDWPArYxLoj;-gCN09%vMDfx%ucJDYOUxzlvY!CG}b<-puwLggUcX-4H>tvaR7 zGhpU&;Tk4YuC=?&s(B`StK1GPy6&iDAZBleR#2S3y-D6vG?I2RoiRA9x4k3GaV@Z8f`GyT%;fdFs=yzWW#ZrsJN`!Dx zScM>q#9|Et{Z-jt1bk361L{j+8|<-HIfvT1I%jPR-?qSNR;upb|$u5_ljO z5_oL<#AyHPjy{CdaQs0P=|LC=K?_RPME3-( zOw+DAc)I25G{ozLb^T{uX6F4vL2-n?6G(KmI6{?RN=c%c(w)KskIt< zKNXL;RSEd|RSk+MH%}ZDGF-1q07&hfPpO|@#Wgym9ZRcZk<*?q%dQGaI6i%Qk=ZK$ z8DpN`iE=@ieMC~ats#Gv-hq|4(lemCUVwP&iN^ufE^7hW(4y8MmMWB zamzJP!@L;}plR6>_FeR3xeEM3hoH+h_{1H9CW7Ohe1aC>KPq>iE^Ey3v1y7uyfe@Y z>(2KBx*U#ca|LQKtmg%EPU%typmWOK&G)AZ_&(i!mbPn@htqjgQa9$7kc?v+?oiToN`uJ{L96`1ovme5R@K@!9zJY$Gj#wr$(CecHBd+qTWq_VhRZOx0Y?UG`3DS864-vXZ>(+3X}$bPK)L zxyp)8a2q8FT!gYHB!zW!SRN5KdwZX4ehlKD1~fw*9U&(4O{O!}h~&B`4bW zebjL4+N=G`omyHJk!^idMJtJPG1z=VG57~2pCz2K&XXlLxgk5j^YJ5}{<6iEt0jdB zUQURh;C_5uug9NX>mTqzlR+<~rK9Lh**0qItaL3pO2|op)IkB5v%{GYo8B05;FMqz z%BNf%_`Py!vrnPz_bFX4zH#mwwTo(w0SHpH#4o+B%y1dE^MnswTD=~=Sy0X#-df|V zQ31OW?W(2PV*4%@^{CewNa-wp<(G2w%Lgx$2EV=!j3Nt=&-=vY6X|N1RM3bi7?^fy z(CL(*nALWwE(KG)qCM>kIk+MuyWo8}D(br|ySgFi^kg4~kOgpmoS_0F#ZIobQ-~K1CXc^|MQrW^(%IUD1(#9@OJJ{o9m`ck zCmxKpU3s(rJdai6jaKbFHnT2gLO{rX1d{;?A_L|}_}2l9{_moJY~}y+c21aoY%=YC zDqs;2sNi(@h(_RLp-nZ1jbdak>T4e5iFp>n11nS|fk?PV#9_4w$PUb7(d}A=kxTO< z7Uza6UQ->g7$2TweUF*qRiCJG0Ug0}|6#Jb{iDbYXsY0Q3jj8bW$s#B){&61ik_Vl z-m@U_B3{o;G`1tUJ6jUoD<|L2g5Z_`$sq%p{SwqS(U zdG5U%NBd!l|GAC*dB1qwUJU`mBTm>WH~U(cRXL@}1gq$VTNQCiqJ6k)#+pZ+31Nh= z?Ddw)Tc1C{t2EG3blYc&@ta@ckjkv{y)09Zx3-{zO#7%EYxKbVdIH;QEE(YZU?8PMJt)-E|A8g)eF(KtIq zwCoP91!$cTdi9*$Gbz8lLWF+wRTLnH802k=6Uv(!g#iKGuEK>$pT`i4_IZmCTO%&S zBoObjPVNm;+07o!CEw0r{5GU} zUR9(_fP15Nr3bg;$Ii!|`BO%1NPjcDN083Lv+c2^ov({U(kjvKY62ng`6#2X1@|)i(fU_kc$U$bz}V z0U-h3coqDhp$r27J%~gBh41MJyd6b{IYhs$cV941w#t5H^@Z*C1`)s?!9v%B>VaZ) z*4RiOj;K)k5t8g_R$CyvfIj*tVGS^#HHd-Z>@gVMA*qMh{~ETfME3>6?yZtMI?gU- zLLlDnJU{=3QAuXrkUeDT^h264nrhYix_f`pgfm`S?x@7;;Iz4I(%JYCQCns)#+g#mkDsKiXB6rVsKZ(sV(7#R{VzBA!5*T6YRvPB^uO zW>2u{no_=VZbS*iNX894LPPOZOvN0_!gw8GSi>-si_HUCwGki{BNeNhsXyHktDSeW z(*`v(qIt|W2h72K@{Xk_gK_w7P=H^_p<4ADm$Xv<__4Wv|2de>>i&H1eYh}b{N@v; z+S*3Ly}*9@=p8)Ka=4w5a{#=13!B{*yw)9*;M@wZNg}VYfQZwGk`RJ!-4Qjiqvt7m-C8w zBu11fGmLQH#@L6x0Zj)e(GvRzTaH-AW0#?d8Tn|J$^R0*99<|lH6epKnLITJ7A`>x zmW*vLNdVgikZIHaaz|XcR2wmsbn4#OlyP%S958ORT;dp99(c(4@p_v#e zXgsklr~ay7B%^peJITzxZe{K1Ne|;0yLMQAFNL{&O@6%cgI??AmihEUxWIHqOh^yS z0RiRtxNjOLgfT*LC&3;H;gLIs@nCz2sVxlwjwdE*0?ykn0Pq{!3!FES;Mf5U0wNt@ zRf1>9@Vq*Wvye(67=QsnIBaa~a(zbGRQ_y4kGpGqkA5Gm?z=*nhj+<2fLsiVU4GE@ zMriK3g`Fu~e$=FkR^R^gt}wlZW8^c09S#!jT!==01A7%Llk$pgcHk8LxECpT+d7{7 zyv={_pDVas)ONKx=d%_)KQEUbtd+Aq} zwLWD2tQmLBYEh9G1BC)gpWzf`2qgk*kO=8_pul)CLX9b2Rvb`c0Thx1MTZf=K}e3( zl(_u`MLkr|+Snm`+L!)GQ-BHh#e%CvA7gJ>~88Q?-{H?EmD zfAI!J!()M>D=>F2t-a5)jXdEPPsNcP>newvX6hW22g3S0mM%DrQft>YH(#}?Vs1ww zZmpe*7yLiO!qK|O?W6ruHA5?&45^l`^ht*T1BgP}b!*5BgP|EHm+SM2O%^(H!K5Z7 zB~cf>pB5U*Hk~z!Io%g2GEt=NAA&8#KGT^7N3jHo&e{5DSgD)Raz5OG4g>@bmTIxI zp}Qa9`IMk;UQRWAMS23#@paMW`G)wP=@yO^HRq<9)qY{Oy}bnU zFS{>$!nThlwK8e#83<~TBn^~2DSW|2(cg{$h94H2qkw1|ZL7sCgXhJ;Y|9H+B1BBT zp==PYd0LY*);vO3AT`(i_h`^54#MdYvG^Kh24fgr1HX!kdr@V_fpZ?t3^!RK@(^+W zD3XrX??KSJQjeP>%uHFIBLbWWtd#n8T|;LsfU`bCk} zFU4ZM`sg1S&p8RW(!*fnlUD2B%Y+-WA;>9L|il^#Pp#tSLq1KjLBVg z_UzML)P|U7Qmyg~YVDG4bl%l_RgV|I-;|KZa1;rHkPu*#xLcg%u8gKe-;*P_uV6mP zfO*m^s;;X(=jtX4N82hmArNZyaes>_;K%EddUMl)%%r-WCZtanWIP8=Xy=8%7j+`wp)Dd}FBUT} zxvm`{)Hd34q|T^h6LoUJ9Ei?u-y`J)Edhk%hhRvyu5fLEUC50K4TEdxJFzc-hxKQj7aRd%l<_Y@R_#z zmcc-$g5K-zi9SUaA3Hd&v>?vV!1>YGpdk_Q%p|9SJl+UeIEk zbM%lA;zpL3T2~RSI{Acx$$`?*eF^+~$R(e&Q~E~2nC=rGAEtrLN!vqZ&x`OlHR}I^ z=At%n^%N&y$~?&G9-Z)h1mwENDMd@<>fIKJ435|^uuOO^IT`C^=A99KO2e;UGaMfo%{M7H@)hD28h3nqJbT94THqf>uPxO zcL^aaua~14*!cvTFHoJM)$~+38YC>$j`GetpQ0W0+IyE>F_VZLwdi9{fR90VTwoSO zo)LMR`UDU52Ss+ea|99hP>nabQ`a3G8a9f4zicBG~NlzLPb)6Akhj1};;`&jiSiiZp(&DLAM_#zL#WG327r`+FD5Z{BL zJPA3*>I9#P-P5DreVe*iz3RJksYD!e_3@HMz1-AAK>Kpn{r)FNsJrxlJlCsy<$8ES zIoJ!=Pho2}Prml&PSU}7+%@6B8ob|6+-?FwG>lQe&+8YT?Te!7m-vb#gns1G)*yk&oWf=Hszqh|?#i<)S;1pIH(7O%p1XU#vfl!rU| z95{x?*jSvN1gmthK?E;L4yy$tS*v8;9S}LIGx=71!K4by&xs1|#2~PkDGyBxpDW@( zPq8@4k1Mh&CkI9V98c?&*BDPti$_>Way4tJOjG-d$v8KQsrxg0b>v$+s7Od z)@Q87s0-JMyriv8@qGZ8!1t>E!CSctrnPX!Cvt9_mVSTtCie-{r|-$DuR_Uqa{qRZ zNf-w|XIZ0rh7#44XW+0Zy8fk15-cH94bMZ9_#=MqcS?kr@rz{&REZLo@qSn=EJ|LQ zL@VhnJ{Li1a0WwnF}sbFHz(33%Cy3|7*v z5B(p=7)P%i2BP{mTv-^$+0gWy;=?vtX%8*h4^ zRki^gI(xQ4fR}xq;mH8PpnAxP>Yu-Z90PUjbG^AuXi*++OGWPVe!2OKT(Mg0^oUd0 z1s631(D>|l!vPyB#6MUec+X6m%&{Q^`)wLWcv8P!`TS}DbBxqOqFzqN%53o<@*c9| zWJW0EFM;jUBnV^aYVIA)VOmd;r3)MKfsFr}xW~-Ck_HW|Pl#Y})n3v(1QT*N10{`` zR4d_wS-uFVEV3Mt3GYLre|C8Tgz8&~NcA>cU!Rx)2MKnOqWp^`1TgIKeim7aFQ^E+ z{u{a^-mv;D`Suge54$siAL;;7+b0t_e?V*}Wmv7Ve#EosaV#+;tP1y#!+Sqtlx?4= z!Me3-{Zolnn=!@X`ESyLGK#=ac?fAZ8AWtyI^t~GN;^$$u1T&S&EEzzr+F9sK_#r{ zqs#cvzs^Hx21O?^d#&O#d$lBi{}xJDwnbunG8c2nvsP$)paS+LG-;q=SBuCqR;oV4 zpE*dJ;_9KVfO!q*3j%hx47uBXofs+MN3DL)o*t#goqSTQ~+Edv&*y*zeE=4N^v4;c43*VXt^HT1-c+I*14JZJ8Zfif}i&BdYAs z!x$dAR}?(6oktXT8RYKD%U1)KtdZxP@M~bkGoUygmG1)D;4JY3G?_lnS1L@MWb5w^ zc;G-W4!fRT5Qmni?~SC)E=pOM<`&KZh4DUj ziDexQ*k!B?@*e7imWA#y&{EC1ykk*f>B)wcQDYjKpkzK?Cz|4~(aWwpJq2)8WI=1s zm=w?I2Vy*bz<{H?ksFU85Vt>EY0ZTYEEE&e4eJjUE>d3D;}Dj#NCNH`ApVJCr(6#( z>@{CeY4lC?k)1yUzBUe-tD88xL-8S7bcYIrLQyZJnP9L>%2Dqq#ePW+lNFyiu*dsY z1LsE5HXcrJ_i;qGll7>+n7MvB5am0}E(q8@^2v^pu2V=b%Zm=~ z^O~FtWEfeU&nDx!=UjVrnD*vL*AR!#%yuKkyiNXrGuK94E+u`g75!9YMi8#XQ5TCAeXii*+Az_>+Ox&4P)~0^BBrS*Oh+6VMJWmQaCV`?a^tcV{VwVv$SW3jV$drH1I#ZbSg|xi#`DUeyW#;7 z(!oz4I!ddJUe09dVfiRWryd!S;fx-W`f#ZTTfo6)v z%&#F!UUIxROlLPwKTt+e$s8vkoogO?H3JsZky{C z3H1Sr{A{J*&u25E?FzAGASevBN`?|<*Z#{clKJ=JP{t~Smrf7He2UvUcA)DxwBf}d zJ;S_|=H;|B@APk-%0fY7~Q7e7w7-$(5dn4UHq$ zq;>S$_QBa+$sWu9{8%g;inrR6s&_R^Tjs=cjVHf9WJt7+fsibX6P7{UolIj>ry_}N z5d0q3TuI@cOFC)dH&X6vU+h?5E1E30w!*6MxN9B{g|w#!Yfjz93>RsUy-h`bxGjSfL^Lm*_N26Tt;7OoDB`VTNS?5XSy zAZW&)ziU|vSkaZ^S!s4YN&uBAYvE4RPS`a%-W9$IQO}og`1l%@Q#Ht5zk59I-`nFo zP;8Uqy$2h}$=kS{(aR4g|Ar+r3G zh7z;-wSbm#W@>iaEby07UbcP)U_OyOX7+cLz1A(~hz7;q_Av%MB9ZhbyxEkf(SZ^m zL{KH4Zu&%q>GEh!j4?Ls;s((L&=WPvsicyyOwD_MzO9MwrKjri-$0LCu=`}7r<*_s z?}t2Wxu?~UN82&f6K@U@&gVcm$t`g%O~z5Bw9lEJDbs<+g_GpBczC=Oif8(7Bi(Ot zH3^@S?w&Ngo&J3*+D5)1L*1R)-5y~daR}-AXntC=lE|4%;x7f+;8_y)A`$l{N-^cB zl$}-1(^`4ez~5`$IE|*>@MXD#ck$47ko~?R{Q-k;AfzyBNuZ$!|5L93R*ndufmIBr z-3iOGIN!rZL$oV+Fy;bB&w+?C*6dmA>de*obWn(_5{l3kJWf}QHk(7_>jLVq1ST#iFc(~JM|WX(eNNVV1%0d^k0)i^dJhOquy zouc5;Xzt9tl9Ar}XWj*o>k3*vunw@#-5MIy7rKCqB*iE$D3Zv=)ZDET$>QefHzE1P z?6Yyosfzu{&}0z93Ey6oJ)28SO~>!&zf@CyN|>y2IGfc@V$S-dQ8+V5RXL0=i&^Rj zHQVB{@~w6@q|7winV2tp7RDL)g&4kX1>;Fz!XnoN<~L?Ge(xZB8~`^Xp8_Gyg`p5` zg^KlY)%2W+!PDd@L@NmTeO8*#N)u5bRCIhd+I1YLuz=--r{7NdnUN$*7{_Nd)x|imvWItVsi7A**38SehhtvFIt$utz)wU|k*Q6FL;yEG8%As5z2QmkguACWX zhc3b1=y15BzWAE(&)`moM|IS-twu5#pg4OY1u5>VFuJ0SvTB4 zGnqGob!pjb+u8F+pXWPnQR7?Arx`LUTGA(Q|9Dz5Xs&N)2FEj4lYZ0AQsmrnSoR%5 zgWtd*-SVC)hrTGO8Aitp6fQ26a?KBqPXD$VPrWj`zzAx0_C(@_>yaWbaj@1yTO@^jyBm zAfr<__eIwlD8f{&oW?A#Lp%pe(dsYaWUZ3Ms-$x`-~Fdj4Q-}Ty*r}*0xSQhiTQ?0A zF@OE`B?J-OV@fX#T%jg@XN>ORn%C<)^|@vFW}tT?CBiTA+T})-FTe~AP2yK8EoU0$ z>H*J|Ucl8tIQDYX$P8#=aTF#2Fd{=sRaMT+93Ig-ab7z)Jt3Jh6?w))ZdEX@r8@A} z#lzl&MFSc7j0u6yF?Go03>bg@-T;f!uUf*p?AHZyUb~)}o+VYJ&Z4yqUmd5gYTiIO zWmf-bsMS?P;pqkQsW^6X@|f<+b@3oDAx%@GeZM2wK<9%VaI#gr0DrlexHH$mQ`Z3e2Up&m%xYz)!99yNP$mepu@6j8liRF^+Bi8UwQ9F+nj3PZwB_kh&B?~XGFHyOU znJEZ+U(eLjy>wOuyU@w!&N_(uP%Yz<8eSnMJREcjew>vS$+-)YAVPR^Z3(-#c(99b zhTugm#LoFQGIZc5_ywCY9|=Q{aNxm|#d)U&1Kx>^y!h(a_Ew2r(lDe+cn@gwzW)kH z3rzn0Rb2(o+xntP=Wr8bE=WAMiw}0!e1h=~*+afa0z3o>aTX*BS!IxhVOFgG_K=D0 z5%jvYnkhCFystvH!MM-8LaGlSN#LAi*asdN)$H#KobC|(YsO}&ml7(NlxaR z%*ik68U9(&n6B8dU6l=pX!i@s_UkkFB)(m%#PQNG&4koV63^#Eo2u2jv}#f(HDwFl z<1xc2WOZwgMuU0+Pgeu7H(4x~17?x-LF%{tF%(a)#s}m3l!2UG3Rm~KVbx@V326fW zIeT6d6mU6Byqya%#mX^tN{YBH=wk-0Cn`y8)3xTKr@sklmmHvvX_T(j_$4+KbwU@^ z8I#tdrj+ikd^_yL|1D}n9I5cc~VdA6}N^BSAQrI>DmFkF?J(mKWk1x^U8^*60p&5T&;2bBk?#0I6A(Tz-t}CiF+A?oxhn1fQKab zMIyP{%bu0GUFZxKGTnN@Op2?V0DUgh zPos@`a1eFLI4qFR7#jA+to>J9+VzelHzN-i99&VMkBSEWZu^40+lRoQ);Qzu587oB zQyR^0ua94n0-r#imi|SMB07qlEdazN!%<%1VkgmFFn@*Y*jR7Sg~pm}N#G;;2F=`~ zXJGqP5*#?-)Y!18YN#d(FBib$9unTOV=5B9HLa*G*B@~-#37GXP&UZa!q0YWS+omw z`@f+FdnN09j5mezG9XJnR*2?loHe#^cijoz?NlD1FxH-&=^P9QmCA4;5(NmO=!&?MNs z;Z)gYQ&zREtLN|8e&_D2X};*-4sS4Ys(;IXGAp6d{*7s2$>Xj%?bj3t|qSjc9F`17NyVczt_jC<#Nqu z&8b~I`3;KWR=@rFzaBV|y)Q9aB9;_$C1cEt_#0+9f&OXrBm}-yJAWtF5o+ICRs&jA~I)|>%=Yco1cYi z__Z5xn>kn@MJ3kvV~>PHBi_xjnW^#JaeOjT0c-UpTgNBJaN;hFB9#S!oR9saNh?6o zL9nQ{_wwez_4Uw-H{hM_KU`s4#zwS{F)uET6Uqbs)z{_%w{6Sp*`0HcuOW^V7q5jJ zQ%W0U(aVakaA*?SK&~DxH4>z@Vb8_-vo&LhV;J$F9V5a1R-V!tK6;8C%=23MfeBdJyy(@e8qSL)V?#e!Q<^$s~tg3H{2}2 z9)x^B>#l<>80H)vq`@Hj+S<#RV^Igax^*11^s#2!E>?PdHzi(JbNUDTE56Hy$~X zwFoI5r|${iLx@@5lQ-**gbcv&Ot?-9$)-eszdfM?N>kfSUGcj)2TLnfj8UH*AxBi` zK8i!Z3|YjIW)_GvGdPeUMBX#8xHrHyL;lNLJEsTiHVmtF0EKgZ+k)p9`B9>PEhA=KF zT6v{L4DSf@#Dxv9Kp0~1Y#hxJkZkxYWnT=L1O{U42Xm340aFpqzeip?e=Vr5I4r&s z=jgYkY__Uz_!(8SS&WtC&kC}?&`5LUS5g4-4HzNDf`Sm$L;K4V*F$%xWOrKpV9bo* zG`J$T^}I=iNc^Rq#`$py{NmDW4psR-fEZWd=}80rvaOmSO6iq}PfH-cocRI;uABN$ za6+z-;RW$AG7zWC1auPgXbu=o1F;4WM2H9!?Wt|q7puZuv}dEuZ( z!48z%P54l$Sa;OiO7ePCLuENkOhQ6^>YKAIw#9QSMDO8{1zzG|KsEHBqg6r16eq?7 zzWrlrqZ;|unj_BT`nXFc>C=S?&>3lTIJ38I4%C3`5r34W4l1$5e6kUEorq~BE|adc zPfz?=uufrOH1gJR214xO2()DZoIR1{VCzvs4F>p4%Ux)b+|w0?6c%2hfqM$Vyi290 z+)w~F*BvowN0m6cUH-8}D4j0%cKLbzEH{o}k7iTC!69hSd+A`I1q6gaG@)*&_i-Xa zHmYOl=Wt$`gAWhN74ok9D7qEPTL+PW*f~_OQ&2tXnA+O0R7vPTvKzuz@d~98mplZp ztHoWYZqEwjoj2b9U1VbtlEH8-1<+KwhE`THtk&%EcRY|9xt0ihW-VJ#cd*g4mk0~?DtHwaD3VtDvr2T$;#RZ6AVJez61sF$*3-4*9LorC3wD>a*id@|#Z^H6 z$YQMSKm}|oubys{W*XQuxlXO`TszN>*Eaw{<4FTcXqGzf94ki)2RK2EW2(R|BatlE zHed%n_-_reG#ukmkOww8fQQTPLha95hRY4sDKS~NMf=q_G!Pc7+tPv_mF$SM0q%{- zl45704-~~MraV88f0o$pG4*C1W|%i5^U8bbaY6<=$X;ffcArtu$mj;6c!GH}Sax_q zDhN@oIpkZRi6zs}BwagU%0-S6dUp5Dl%Ll7jg`q{n~Ci>cT$S^3@Pd7z$x=e8hADM zw9qJ`A@`hx#<8`>X~K77#2FLx>Fqk z_&JpX^@4Exs=tW^7!nB*$_!@=Sah5WZQ+_dDzeA&ND~3=shJ^DyXhjmBvD8`$(*qw zKNkG(>N7XP#jk4a6Y<&q-$3rp9UqTV+v8-cCQH(W*6s6KR-@?Q=d?!V`Q~0S%VLu@ zkG?ry@$vb;NqKjkG_yHP2zlmnW-HO>rO#J?%2$Dl$xQZN0UN`@mEV+xv^zUXU!Ol+ z8J+dEXkm(+`;N;)MivPuE=I2)_Uf7wo()=OxjLTy%-tSH>ou z4Bb!?qU`tfX7h3Rrl}WIDIIs(x^In{%KK(j7n&8CJ$@a%yTy<9=?>tIF*Ji>9nPPosRy zEK2OvvTtDr+#PgErg*!;BOWHGh)xn|Cw#0*6)B^%fC1?1D6wuo;?n zamwMr$~z96lVH&A8%$JRq(JHG=f%nQ-MqO1e(W)e9 zv^zunA0;>8%Eg-$;SwPCl{ggnDN>O@r2lb{^^gRR7BCa=o)8_!3n=YJs=$$#2d9$+ z8kta_QrsDWp*J_mWD(%)k6n*)QZdB}vf@zXRYiBDY~undb@c@s%0!0%)|x?-dqL*R zJK)I1oJ`hnlv^=B`;?^Z(hte@ba)Gc!8eU6al>I_=Rs45=Zh9E(EnVsA~eXC_iEkk z%!S-*^#wIA!TWFA$-O8&UrJ!vRYpAzN^zs!!5V+ieOhp-@)h%#*5&e}70ul2ELzsZ zI4Uq}f6elM;GOvo2qOcFGl9OlnmW8M0ZZqMt7}Z$vFPLYOcB+tfS7MDpu28xLit0B zWZ6IY?s~i#PWF74<%AgWH7^93j*=H~!jKBUesP0kt;^?Be=xZ{iYIUY4 z(AjaqwZaUh(sd@VG(g;h%t_aw!GX$~zljO5t8@)v&OFg{@UEX=YqHvk95tBa*~(DZ?x*VNx0SRyXM=*hW4X68 zG(DKfw1*L19@0lqfCPdlzhne{Ga>Ot(3eVE7fJ<=xJQb*D|YRXl52X&7?MVd@~Y^R zA1b^xeCklE^;FilsCdWLSbyURdg3<~|E5HK=}up?I!0?3Hw{{kanPE6y6ztX4cK6((fD$5`7(okHKbroLwEBemE$N8 z!GFzgi;wD0rf3McXyLFLbU(s#kHE3G$BRz6G=$BP#F?rX}!e~~2PZNwqWBrA=$DQmTEs`070 z6l4S(Z0Fa>+BIye=@`uq=c;sespf@t3@u(GIjat5YkKrWxnOLRK0E^Ssf5c`!A?}4 zvxFFDCr^a|(bSv3G5U%V3>G|5<$!uoj5r#fCO8)97CIziE|?Rd;0CA1vV?)(s$6&@ zBU#zPhCXv34={MyJ9|YU39qm#)9%KBi*1_!q&3?3yGs*Syi(U1aOB64Q}%qdv?mbm zq9F~nN{%b%7Ns2w1|*j5!D{re4zJ6)mrI8Uk%C~<00WdFrvDV(E&@vn^(|Q(VUM#z zy(_twvU)%aAkegzp=_qY2O9N{^DmCX@j_P|AGdc_z5U`!U2|c@$=wmJnk90(V0uRX zo*sS7M41VEtnY!s_3ZlWJooNyzU_GRAjk6#D_nly&ZOgn|BZjftwJx1VVmXrqh*)F z)dh)%H5VS4kWezuMYL>c zH4lN;ACr!E4!;ruNE4<+BP)UM9&RH;aBsi}A^{);DkKijA30!cD~({@NNfM1N3i0)6z)7AUs++J3TqIjjxjjIYjh?44l zUmI6H8_tLK=C@-hrKD56CDLR)_{Oo#@|jJfi}={`rM0h4O(p(yGr1SnX)=FqB&P!< z19YQKOLTz}F2-4`+9uBRIp(hkgb*d#*K<^94dl5*ORbW4DlDkC49j(DIX&Kv#H3tG zxO?U#e+{BT;lP#+7bvDv5&RAzBc4O#VXO%$K_cZIpQ{ITl)Shwe&0E-W`C5hW>wPM z1*^d=!5C3!Wrz^CiNT@~JJotSnQj0vSeD3o1pWSV@2Y5pPMf=RM-*oa23er$8GqRF zSZgb=*(&}h`z)4ykiWm|fuH-wv#Z5fv){iWuk*p{as9Bb^KpF~f1T$)EZ%n>J`Aqr zKFj%WQ~$hAerF9HDycst;lsbozVI~J;f=6k8es*%)gd|4b1kYC_AKu$+fU}OYhI@RkE$`|^^E<8tO;+;0lWj4-5YCPazoVV5i zPue_kH^Ix{_#h6Xa6`UFagC}({HAL`h5Ojr`| z-6Mk7AGWJ5d23=KBp+A?*()Vp%c+vg11o*P+dw{}RA4vbhVR*Gsg`VvT0OFxUOQt^ zf?>(M8wz<>Lqbovp_81zH00{B(kaq1KBj94$Y|VX;yMF}DN4jr8bUm)U_v?#HL#&J z2Uz5vmwG?{u5Rz1rTw3FQMB;h1E?$n{=#9wrh7z>`lOBl!IW>TdDvIX$EwnY@ZY)>w8)F2PgwIJnHY{(AXd0iIIgVN<9sDXvOLv_ph*lfZ06e(7M793 zVH0qr(~_=f$ohvd%91Akg;7J}FYPO1T)wo1g~3!k0eKr-eW8kfzOM> z^ZD_t!=SH+!@QjGb`$qchVQ@k$!vK8^pkgYCUsO# ze5`a-8%R2T>fYhxEvM_-nPG(lh;#4L9jr)_+HqkZQul^}g7~5JJS)61xyA;Z%&*lu z&g3Vj02C<2+3m0J7O;|ZoFBhqR?WFR{z0o_VD|m#FD6ag(>-bfK0@37c{z$e>XfZw z$a>Q#qG@E(qt6~;_{zI)!GdCZ%C zjyGobJCR@I25_;;S$C0%3;hfjR9dTh+*nbd_R=#Yn!%ET`&B(n;7sS-3FtAkc|dGX z!@g5x#GfPCr<+5J@-ulE%!^V|f5Y8ebr4S=t2{rera9iTZg-@Bwvs13*;~&H&rOKU zP{M~lIp#qYRNCGCC*8D`{^#Mmxe+RLCAu`GjSupIqoQk0@oLjr<~c-?GG|*7=ISWu z>*Pb+C-DIL^mzNc5;_Y+!SmrU8G-7sz7eJ6CyOb3Ox%FUyz~xMFz8A}Thhd7>jp7X zqJa9-bALZ3sxR9j3&v{%6hD%!X;B$5@v9)RR{)8LJhRIQt`vsmmGhOsLi`0S1PxI z5u2Sc#FTu183hoYt8b^g_WUGgJyurc*o)wQ)egP`0b7|7s4T}D1z;+7_O*C6n*S^O zJ_Eru`jAMJ8qJnf=?=fzV(53lqF71b%|AT_iSv@#vK;7_Cb~jud7eK-tyVyM7LcuK zXg(Yi0Es6)YK4k>DroMl8^o(@z-`V#@=D`z5jHBxSbS{%=8cKO0H~VTm*$q{gAcW* ze$ll}VyTFaAQIjzsPPLkW&ypHqGUb}h*81UJxrK508V$p!*T4UL2tRsn(tOa_|9Ov zJ#}CzS{yJZYdAet$Qrd$#-j@Cu(ciCi7+fgyQ4mn}Wwc%tz zb_U3$yI#PfFmqL>r%+X55t+T}s@KYOZnZU-KhQ`kz|=Ksh?g+0y&<@3YobDbSn zd>i)Vj&s)rjsc*s_;SdLLJZ-!N)w z?Pi0K)}$yf2O+xzHx{ET#}QK3jNP%#m)^g;e{Ic*-Z78T*sflBownC8*2FFJ-Wdf# zOK4YpeRo!k7mCKa{kKQjV(qW$&$E;LgQLHm9(_1IJAVJ}uRot0?w=nWR@wEr<*#Sw z`{zHOA@tXSf9{{2=fCZroS+X!r>Z~ag#6WBf9S6^&f;Hp+q>;n`(>;B6m|Bxd*64T zJ@sC^+x6#k%2YYQXG!_o+6s>O18w14<- zgpi$v`sM6=|MXn_z5nA;qlVrgggQGK{8PiBAmoHRe(_w`y*YQT8Y2#bSgO;gc)HE+ z0Vi@)d4Oqn?dzy<#5v<#^z+G&r~8LT=!gB|H%EtE`}PoH>5ovea#~GIkuH=Jer8V7 z8IfK0ANsbfYY$Q0;XHIfVc1pYrcZ-_MBVHGk>$=RWQkOArx9!&7uv_xsQ>XcdTe8a zJ=Q9+$N31GkKr&6>}YoJ9d5)Kb6Mu1Ktif7!G_D@%v>cyZY+$I{K)n9|ISYM{PVq6 zeZHUWcH1w#_HKLc<+GPBpUyeo-+LWz*Pd>(WWNv~zZW!hgtm(EYcf7__{~|IkNQ@< z)2(*4*Y|@gb-p)b$%R79eeyV3H-I<_7v_Vuh-Bneq9kXBy&R@E|eK2`o6XR2o zYo1!a*j(9osARZQ%i431y=TLzrR>m4%?_P#GN7NWJ%W;cw6JHpp-SpylKCvuE*lKI zr{MFkkQD56CQ4w`lB5lokTVdGlk0!P^A1YZ!Y)g+mT#$)pc&IV{g$tBo~8%|GMSxtiqO(Xp~@g?mshoPeu zsCYbdgn38_&#BIh#yX&Z4tM9ImoUrdGp^s@O@yft7D&*@Ct87|kPX=DG2EbVqiAos z;|R@u0@1v4=f&>JPFam@4UC;5#fe}E_Z2di^zyOTnRI%f^-Us@9U2_d$6%Pt2?QtD zHm@iU9xSTb2OVVWy!;B&PsXv04Ms#Y7C-l%c`r&b$#%}7JPhH1qA2jBngQ@KGd}QX zE@>0=$&H!>txmE#&wlK*w^2v?BXo8Z=Gk6%y=NXemYMQT%^o7DS2z~9?nl781J&p! z1Lx0{-)Mm}2!9L-6Z+%t>3Te?l+pBhJb98vUescVvm%`iu>J%G3K857?I%yXG#(#3 zj7S^8El4c@jd_3$U}vA1j6N)zA}D;j=%dBb%gamGVxIBg4k(a!B62BqIxoL}x|2zS z3sm0HW`=WHm}j>!mYjZGWQcr&Eo<5d*lP50BEN3iMvrO2RDecLNXGGy=%-5^5HQiC zGL3bqnk7Qt5%B684ebTw#CcF6vtVOl?FztHEWgx>r8nzeR%ZM{Lhz_4*!MZ?T&fCb zoF#qj9cjWS0KAri?oZLBqC#rK>zJRb-p647BobprXOc1 z36nS=B=@i`A)hCRrTkVa<2*7aUzf~MBr=;t2ygj4Mvv-3JjJKm9H4k2ymreR;&BDOdkP$1b zI0OerS*SkiUoB18$ee?bxS_QQ$M1e@eK_84o&0$C z^V^gCH*dBanC(kv?vXQR9+?VX>HYtkYMo+CS?Z}IFt<)F%23FL)YsiaEFj+R z+NcwYk?El#LaPQmHPOz6Nh+D8_v~806Qi&WoZIT>)PXaNz>{~R>N#Xd2Wayk@4j(j zFFuNkJb>z;;b20|Tbk8N(D9fA6iX6L6u=`;ZJxbR|`paWjMD?BPE9QO9x0COo^ZTt%ll_jl;gUESGT=4(2A=00QuaW@r7 zQet3FTuQ8aZSP;+zj~<8aioM=hI$?NC3itN4@&y|PDm1KVaa)aw;^-E0${Uuc69pT z_~7W%yZyIEJuM-mk?uEp@829|bZpBWU`LIYvBdiQr6dXEY!xIkmXKO&W5+T7e)scHk!uoEdH&hxQxU9_OB({p986n*3 zVz##wpJ%}W9y(54kuob`Z-W)nlbq9zh7G%9CHJ`*3cs6?Qv1Up>&QM`xDgOuyEa-m}Ni_SUAWlQD7>gUVMVV~ta9AcF zy`60;eVgt!@yR6)1wo|Dr7!(-$l1g?96QGvaN7g zsb(BgLa>!7d@VO(7a+Ha_9-D-R)0jsIP-S|ik0TkaP9a9lnd#SP9T~NPYz4z%~{G+ z(f?`#1)RkhB)K*IUv52f5*M$T2*T0NXGf>y8sOQ2I15Qu!3K*k%m4WG@%g*`x5wa0 znPTwcTsK3mRv8|+Ii1ju3<-p}ru}7I?p1M=MZR@A+D~2D zwQ=@M$7r|P?dMOQ!hhTCcJaUM&ffFCbe^`KKY!7Aw)eFCmv-m*)2F+CLG9H{adt@* zga4QIjmIiZ?tzrjj&~afSrgz9V;5c2{IwZ#(lQLuwz@T2hPnE+*(_9VT@pGR$u4TP zI?eTIzxO47{*7j)<%Gjq!5DMT|Fd@C{6BmCtg}Ayz}4QdzwH0yX|&o zegEG{NrO$Od*4Kw=pt>P|FvOTm)kGS`PYduPLK8v-yV76V0B~6z5jRj3itoh_TKvZ z-$^-O@f1O_J?)!TcwWa*u)}yowlJHqQR*xyCP4Za$Lp*9L6y?^H~FAeNe1Sf{})e7 z{QqwI`TG3dMOiR4*-i72`FS!^ot4aMoI}>5e4;TL{jQ_i7YL0umBK-gCKn?!o&Trp-2(sL*=_Hw&;MPN ze^(z+V}q8@gT;83220Zbn>h`0VpFvRD9G|@>UWnuV`%^xn@@R(Q*q7XKpnfn7KSVf z))RHhi9zRm?H%~K#g+fHeZ1BP?_?oNZal`E^WSMddr{Q?cb>2He|J)FUi0r`NrsG1 zyXZI?aGXZSY2RVkcxn zCQ_O+#{9yIqhaHMOu-(k+i01IHCo1As?kaT&aG8-AI$%g)y8PfQvbe&i(wF_bD7@JdfvJE+nNf(8B{~DA0E`M!wU6&P?TKd1j zC!o3dpS@?L_utN%|GSg2v4IM7aAN}b@3s8jd)g$yeUP99%%vx#Ll#MoeURn-{;wR(Be6x7yb^joGz# zcc*dr3$|5#>Q;B=Ub?8b@PWJeajQ6N*F0(qAGE@d(|Fg`oz)x?DRN}qkFraS4$^znWF~eGSMj6Uhg)$*t(H>_&a?AxdqH{!E}TDQ ztv%a|9iX;n_fVTrRx`pvqKS?_7IPMJ3O>N;!=1@-1(`M%+a^;v>ms*Vf{Z7GAFy$Z zIYG_8cf8$BtKBSL_VruuZKWN;g^ike$el^2PbBU%^D9|bx4E+A$&x8AxI|8ag_o)G z^v27S#%dFbEtQE?x4MOLR)4#Ow!#27s%GGSsY6hOtl%GoF39z z3skWz&euWM>Vdz%@xWP5YwzMEaK8)TLRGUoVysu~I;(b*<8=CZ{~(LUx!|edee5qm zZ(iJZ>GXh!95HU9Pc5~Cvzo7NDGyE$7hOP~2TQEq%~21>G(-EPmaeAd;;SZ*lsQKrYFHMwXGV^TAH3b#~fKSH;^Jz|oM{=Vn!nTWSSXEtj>5YPekb=ar@OQN8uLw|XV zCr{3EF{&Xm1%%?l5{GQ~SfDYD=s1b0cH_yD1=$ZB-dQ-X=5X0rndYCHlaKAz_rGmD z`S}0;^4pUyUmi8lW^Q@V6_V^sf}yKXJ*j>GeP&_X*B19mWfA#bM_9ey+y7tY%l~_w zr^WaG_S4<9|JR+A#pHjWk>@)5nm)G0{4v_ULThES1i9wz6I?4)m&jz?hI(G3@w31~ z($#9~i3uRfB1oFiZlmt2l1?qFB+SFArv?s*2VJJRM)>v-B+mjYh>dE;3IQTQ0-Jc0 zOzp21B!=K(X-YSVbU*{-hnSAVO2Gah;o$z|=C&<{E_5Px-z-h}&PF!*mPWr8nE;@=95%0BY3co^z4v_W|9dB8 z3I5N~Ea*Vi+L;fTm*f)rVbBKt(?pv{a~tr_Q^sUwHDUQ5IU>3?YU@8hKs1J400WUM<+T4 zgh=OnrZf10)dSkhQtWgg97P^4IEeznPm(ayt%TKiY|TK|IICVj+LSS_#oNwy{kPq% z46E~Rl#8Hv4l0MqbbePz3E-(UE#jJsfyOS?MJacUTB%J+X@pk@$B>aL_p4Wli1~jt zazpD$<(io<@f`s|2RcZ!wIg!6*@FEjE=#unX>MQ`rDc5cz^=CdM-GhD;XhGAq|R4j zByGhG+lzY!l9x`#%2B-_6wX2K3V7xtx%p}ZJ4KW2-?@#pHR_EE%$8QxTfqS-sl#O) z8r6WFcwQ;cM4r2T)+%o6z8teVpUyoxtY4d5TX|WC|2J>O*A)Qf@c+B&TY>+7_WZ?~ z|G$f}jQy8MkEMgws}li1VzdH>ic;<+9EPre*#60Jn!(0Z{g&@2gKlP&l$w}S5k?bg zzM6lTZzqh)?3?*lQ9pU&Xd|6IQ$?f)w<}@;gd-=Txk*%E`gU8Zanja1$C32ViOp4t zHW^1zGVT+eX4WvxAT6SeawIv9L}+tMW(i-WcpN&J1yXeWx%+C)6L6KOOJ@G<$S#bdP4Y*s^D3i= zt#Yk;3kE%av-A2Ia8V)qt~N6F9d@=T2bpi(G(bZ|hX@kbc3nYG9kpYDntCgnr7^4> zcqITiOGdL)wnG}pd~aLXw?W9TeEzif-3|w+S|0F9p;*ODIa{hb(GT;ID>lG9t1CL7 zSjO{dOmv!Yodpt}XGyRCVX#lRC#ILCzQgCCY`K|(Xqy$b3@?|qWhfalKp@rGRttJ@ zzSg7hBKN;>*0?SGU#HV4#{X*XJ$<^q|L>wKq5pI4av^aPU><1qA5nYs4CdJC8qLct zIVp`Ro;7fSf&VvW+@>1PxrXYSz<1N8Jf4jMrpcV^NmE^aj3YcGL90K_w>UFAK_%@o zu0SSGDvOM5u?LB&h4GkjJ)m@|wuzswF>h^iE>t&N-es5Sn--1!Ta-oUzeba5lmEH$ zU%M>-?XKg$-%VM9{vUmgZ3?c)2uNwR(0YNvr7^9ND-5&+YGSo+ZW>8+g(OcRA3fiL zKk4`^84T!W)NGYGCJp3)&Z4D5#sQcLW@|Etg|^e|Pn|@kKuG6Jz+5QhM~~LuL^D4T z{kIiFt|0L<_6cf!*F?=v&FfDJrwcbo!f=ZINN`98lmrOJF-+EL{6ci^P+zJs6yzec z--L8^&P@(W1YEdI*&Na_H9{z)1lcr8b@=W~)dfj7CjOS!I38GA5R<&oTBtf}Pcs1* z)*Wn674Qby*=ugIidMQo6jP3tJRM3E7Fu_gL4OpP7r}+`)qyiz4&6)s>P%tH{kk-O zMJ&wqrpH|d+14f;|NY7$_rJD4ye<82XLq+0|EsFZB51>PwLN_wYnKYGBURAY zq^FJw*jf?5?@okFG^7&}S+*h(gqsiy>CNYOTetz^SwuXvuY=Bm$DlNgnAQ$j+t|(D z6O(SsS^O<%(#QVACFVhJ6brLg%_fw2rrN45pxFx8=~r{VMY?lArVEiB zh%j;ks-q*6ToABhYOYDk-H?_GGOczAc<0ERs#2QiUNxP6z+pF2EL9zJU+EZsxr1AA zZt{VLN+&1ZB5&4E?oo~S7RRwQ6m%>v6fCb0jRNv{R;x!T(DlX>bB~+tV*Y7Moj4dr zoJdZ|L}wqT1B63Pa4s zHM`9%)C@^9l%poW2MbBe~TM z3^mlyKRHYVkfzEx%pBd248>iBj9nx#YEBfnvb@Qo88P0>-lm<=LE4{tQ|U{@eDMM- zu@lZVzyGi1S1vJoYSijAtQ?@Gu46KPh5FB*lE`;s*!}6mPjc*;3r3nIWvOeKkRkCa z7jx^Z3m@6AhbPXFDEeqt@3OtJ%&w&FnXr6K3r5p{r~)xuOV=VO;AnL%FVpg@TIId@ zP~oDeT|cV3_aU z#)MNJb+*uE6369QSH@%WQ!db-i`!6N_>`6?UtI$-B%e?9lfZr$zM&H2;O4Kt{^G0# zYX0vgx>DDJkQ_Z*wDXL|11`_3L{=krRmD}fj6VeYO|pn za~iuSTW2Z{&Z%&rV-#~Tp)3*3EpASvBt^sBLiD`pYwY+HAAIX%1x z8Q*qUNdGSx$3t>k_TQb(^RoT-TK|7HWqJQk*GK70V+J}1v8ePnvZ&*$3Yn8p>YneD zYF(UDVNqw$!cdv0V?F?kp!9J%_i`UAJU5Hl9OD#JYUW09&X4$NcB7dpQlOyaR@P>f z`~hmy{f9~w9^MBq+S&IHg0pS8+qZ96Rz;6?n{0ZMRJHMMJPx<2Ti+wU!bQ%%)`H!d{pZtm>HN2M zpS9QL|1QcB=U+SX&`1ZHq$~pE`A|vOR^~N2{dx+ZQOT$pheVolKU>(gLC?&u(57X7 zT#zo*4BX0MyK(#GUkx*icg~KY$p_4B8VB+@W?Y)Q9=d}sUtT@hyh!@Qmmw^URR^@v zj2;W;@i1OkMuJ8yhJF_;QpE99^H0#!da8zYqWbdXOA}q8J{IKpQ`Bk&#AgB7s!*W3 zPG}e)5>3zqb8V=pADOYX1f9Eog|*O|XE$U#ZKcma^LM1sm7}DDFJK4}hZHmtLj3`e z;S|?vrtP!<72W|BQSwpXU!!MQs(^C=^JFxCHB>SUEV&NNDDHs)c+*+H+Fy}p|hXdYpjPGh)%1jh}tvWJ0(g zKdB$PuaNntsg=hvw`y^dulI!LRXz)C$4OZwjzd+Yq~cT$$%|9{bFfN-BB(gb|wEDRwsEFR8c`%?@u_0REe zM)2R~p8f8;oiAUuwvk~rqBQoc z4(OpDvcoCjL`{=Kf%d|}6GnsbYMa3NF+}%=2(%=cP|hN4HVwv^^$}>z+7K>m5ZVNE zI}%4h%Z$=eqqLlw4M%sezC6B>vH<;eY)y7P`B(@X1spGN8O+oFymzplUaaH4 z-bq=4{u>J&f(|SWAYKghuAN8~VJ(IDU&Mwf!>+W$I^~cJ{FEA5StH)Otgx72M&7#I z)YHZo*<@{qMNW)GhP8oBp-vSaqGh1f<67&lD$7(aHB8M$vQ9HtWNjH&%j%&+E$?;p zd~5H>MHknRJ`1Mr6|zj$!^Gx0F1S_X`ZK0^3w5OH7J3N!KMTT7I2q8-3w3irrk-w8 z=*e30xi)^8RFv5-7skv7Aq2Jp)ConKe~3P1=c^<7x*nTT47hO}pg1gns2j`t9js4^^4JqbRG)N-N zCK;7Aq%xqxk+ixr#tRNTGile{laMA4uct;|fhx=eJEuAGG7#Mas|5?(tWSM(iY_!( zon0_AnAPRN9j$8P&B@KCvfSQV;#Ixri*JVQXMtUCb%6CdVkb6Z?Q_aRMcisEtgBSn zH(ht@y`uMfsWo>gy=4$mR=~tmyZ5Khoy43yFP^fh?aY5!%(ik_{(p=)#X)~5RnQ#% z|HZSC{oh`DZyo>jPRe!o|F;SU4qvaF`?t7tZ+L$@(OS+Qyx(rd_1iIShv%6B}fd;K~hQE?M$#iCrrdeO+BKuhi5 zilw6*1o_zjkS-ov$LFwwPgN39-tNr}pr3$c6-mocbA+lbH;K!+bs(3w|LxgQ@F`Fb8n<&4pvRO z6)R@c`CVdXGcNi;?rH}9oE>$kWYvzjzu$8g*QND8EE=+v>VG=zz4H5Sd+q;uH|1LT zAB6*luQyM(R<8mw=yiWoK-paDwLlu^8|s0wfo@3^R9@QUR6(ZwN>oAlzG_rKvlTe` zE@~7wbJa9?wcy;5KG+0qS!t#Ki`!q>5N$0{<0EDf1BIWej-Ol8Ll|}qd|Z&Rf-G695Hoyy_eQLxFg(4g_xmZ{|yvkx`BI!ZZc}x&wMqULY%^s3$Wb2 zHm-18-79UJAaVg^Tt;=~so_k`1(06XZwVq>X{^u{>fQ_>YpvU&yu|9XZopafS0XSj z0QYsY0jArBt#vb#SYqF=t97gC<)&IU)9pRix-G1msbi3DQ#Z3xA*OZ)^VBoWak_?j z=2lgqv*e8jqBNT|g_{t++gF8tZDq?nEX(Tuviggw0O#ocI?rA_FY5oEKV8TFxs!4o z{ojekfwTYfX65=n2fgl%3NVAIUIm!dxtSKw8S8emfYl4Ulp@gS;)ZS@6+KmI0#o5O zt?$ah^LtgCgZ))x8oD`SI7SmQbWGKwRhm(GU(tA~dg0nC8OmT##vt4O;fwtc$BQD-Hw=GKqaGv;hQkp^<^w-cbcA zU3+WHoF59G1>1xIF&K)hjKFO;T zULP>J)Xr%R%G97lTsY<~KFq3jFBQ_u>VG*2=(2&}=J@|U-+j7Q(Esi}Tl@dsO=(<5 z0eq^EVDtR#>g_)@dfgkiIWGcKE z>J~bJh;x|J|B&DV;i5)?m+Q=F;!Sj$rVfHyufmp!|KwA&SxAspm`Ah9pkr%pt8xSK zN9EM4;;>HJexp2;#q`zHrf6j|&VUM6HM!JMr3%LRi{w^aczJSA{w&CTqEm`4x1R=u z=fju?aKVXIW=C)q08#AGqIqV+n|bbbncJG9~a@=80$-mQR9Gfec{n)TZ4 zJejQ>cxk&lcl3v^x}K+q(nNIDeOyiWms3Ag_i;nnOm})Ol}`Fr(}CixD5ht>@JfSD z#$1lKC}pjT)2P4N>$h3AarbQY(jSb7f03p5g!Kmap~uIRVI`Ffab^^SyS_{_Dllr)&BDF3NSpe#TOPPCD8m{9qj$s1u%4 zu1(bx%E?a(+kj$+6R@+a)^ePWOhOyUESmyQM?=#UjU4vHo8obpi*uGqdo>D`jOVCT zs8o;ZB<|i>JiwaC|1@uWUCqqR025$|tB0sJi&%i^&+ajuE5=LJV>xMR*95{$X5vh(Nq(A@2zDaawE-V2%U z)2fgF!NmetAK|C4M=dquAc8W^N>!xVRPF$Ufr{=fq#2h76v*{|Hyk;gDZP|!y z&M)Q1@JZ~j)S?%a#e;z9weNTDAOu7OUY1i6r_|Rmrt)W(o$&=o%TgAG64sj zXR@@ft7z2j{u=!nS!2b&iC?1%F{mb;qqkLK2bNb4=SiTfe+)bjt{h=gN0j2I_39b*pv-+s1R@c-yM z-+R8!|8XZ}1D#;0C>11g)%&fkoe1?48U~7r$JoEXLn6G!209;6fkYC=j7x#Uh=d`S z#Go;j{)k4yZNy24C7qaSGy5G!L1P0&WT=g(H?`iv7^|ZHvE`xnQ8+~`f|d#-6cdg@ z8WFGI9iDwUQi_IN#U$Fv zI_hKpB8frv5sfFFxQrW5ygt5YJn`f>Zan$F8XM>X=9DD@9UmTvh8J`8JMm@1qXEG? zx*li0H@u1PSwMCkkjkR={GT4}AHF^E#=*_Un0@}A?LO}m;y-nsJ=?O>MN%}5p^y!!kNQMj5=C$fAiAB`Xl!ht^EdzN@U+qB^?Hi4ZUiJIQ9vS}62rZ# zyR~cjgL~fSS-Yt1efB)dwc1^|lx@u#Fua2$)Qw+r(N zY==gffW#r2jumsLm{r|9{F4n3VCI4DpGL?J6Cnu~p1!8wt6qi?7O1aqOcJ4F40y?j zRTm#Emyqc^3WkbiPXQ+oal*UV-RT0 z-<%Zi1cjRFpK88SmT-jQ)QZfUgA-0bmmsJlqS0u%;C8&u z?sturp6{O5@!GnHl5vSz4}}o~4OkemOPxNjAL@L*`uW6S0-j(R!Z#!MnUic#1nggY z784K*13DNGVA=)oGe|ek{$M~ODyf3=N&%&AaT<_FEdb%jEm!D}2%l4s64Aot3LSlp zb+*OhC{E=3292xM>@x5Bs+wIju29dMc$}`37qNhNf(>L3T_K&Q8DXS;K7d%d-jkwn7TD(-9 z!}&+;rblSmQZ<0P(Y~|Bo}%yOD(~f|YW7{xMTxm0@eU2P56+wVmh?laD5LdBqJuQq ztK>R^e9lmfi6spcE2I zGDt!}@?b6srQ81YprjEv!{isTxZ^XRwC$H$$Yr7Aee9P&Tms6|*ZT*E6TuShlVyNi z3QC^`RX{Eb<-zIUH5PJNC}S2ayqUeYYwo;W|3vobjbDqFcX%R#lefDHrQ?iQDkjFTz!o+X2))2n6uVOX4BN0m)3* z^{bA$L5?N5q+y6iBoZ*xuk=G0(g}&QI`fjiFS<(*zO-!Uq2mGSW$#ED#e4R0*6%aa zj3!5%T_PMI01)Ii_+2Pz5{{vU7-0~Jyo~QF4p6iNupb;dfb^%%7Rs}U<}@CU@o+v{ zcvmvkwadISa#y0+wTp|n6!t{_ri4CTNAqJ791Js+=+=n<*P< zjacM}=&?}K`rtn5Z6iSl`gm-c{kFLQbvR>kE45M;k|z)}%|jIvh?6kX7VM%|Ie|mw zUl6Ww5S@}C6_QVpaXxs5$3&pbfW(~mSdyTtE+~{Af|Dp9{3II)(MU*wgRR2U)5B6b z`_6X#x81F5ZSt`sdQ}rIL3RD<+jtzA2a!nCZ({Y6tfCN_H=Ri$R&+z(9lcmtnMrt7 zL_QwOrJj}Cp)kTtANv<10-ey0#_9xNdln3qAyWyFNSy_(GFLY((tQ#IejARk$QvsB)rQ@_YSW|cjrTxr!`>@a-xT; z`LGp`Zcsg|*jwqtji<==Lj zTc{b5XedWb)M=xpkeo%sEM|nF|7Mun-x(5bBi()*>9!!f>$>}6V=S!|PAs*iuEIXp zQPImOajlD^;-<+2jLcHIZo9O0`E+{^&0W6gH^qlk>^&?Q$3wC@OM8{TH;OpFa ztFu~2F*jCxnvhDiswSFFg$m`?N%r-(%?+n+je-lX={(jkFin3K6am!rzrA{ojc% z&4y4ZbnsX#M@voPBIjPL|FsMwRymEI$W%?@4Hd2(oInH0g>0b5-)JwvrVWS)6T8?K>yU^sA(@AkVcOPlnq zl-6FeeC_e?QE>^&9EVxgWNQHz@Y_VX9ACCj=msykiKBSW+-BRx`B};MsY7R8wm*)L zj|J%6rkS0|wqs1M%|eFRQ`v}J+H2FfN@-CLu+nBJ2P;$vQsxBN?9*EJ0_NZNDq)!pMk8@C)$cp!2{|zD$T>O zKrAxx52h^93y=tc3=~FcvX5GNnQn<5&Dp=Ilv=%|_s>bHwvsI@@1K(-=<9Bw6Yu*@ zc5%-B6~g4E?*q&2AB2HDFm+2Rf-)|&h&lO4+5CCsxgyUfKrCAk^voNI5@Ei{n2VfQp;XX^G zaiBIekiZ+WZT#>NIZi-}Khh$yU}@JD2fg<~JCy2>2Yxv`q+HV~52m~>T# zG#WM#3bO6$T2m`q-3dgct&OQbAp^_a214XB9>*c+q5xWXlrK4)qqP{5XCZ8q8h(-g($J%mJM}ZLTCh6$I3b*$o5SDS|6Vq9rbQ>Ef zTDlmwkqh&X$CnMY{x!S5ft>9}?oKo|ke<4M$OK#1K+fA^cCt)l>ACAaM z8mIq&3I(S?!Bj1%uOmtb$`oPCLELOL8x8FHM2NR6AoIZ8hni^2f-HwoE!??*P6-Zv z;Z&0MumOVpXYOEU^gm>Y5nldC8;uyt(Y$_7Ok}`*wvj=ur!=U@EOfT0qc?pcw;g(2 zH;}Wig$39^umS+|2E1B0!=^Z!w=T-i7Q&ItnWY=K&l)9J8#8yZ?$dAq7i6lR#;R;p)khlD0iog74>>azTgP8XLES(uup0=aT&1dHWA*<; zrs-0uwS);Pz!F8Nelh-K5QPy55(x?cu;45Lhv|kfp;7v9wv7ZE6C~-F2-U$Qj^I!Z zRcpyq?_9qT$4m$cuAx&sEU*wGLb)iehVZi8-N-2Uj#(@Cz13<}$E-1{a{Yic$k>7F z8w$tq;!X7yzK`)A2}uLrWV`X_pU&I7Vf?R9|M^oA`Dqr|FJBtDNe6M5&Diri6Pl1j zlWv+1*#;3h**`n`<^AblBV#fr_7Sn$aCuL?l#szmq#Yr zq+2e?bmoW`PBhC!2eglwX*QHEUts+j8*ZpmSk}Uc${+rDrwQd0y5@krdw+g(=E={R zPWdeQ|JXa9-qvjxfZzQog!BRLC5V#P9(D_M7zV7su2YF zj7Wtx89q6+?S4DpcTLl|Sd3Y8{uRK7GF5|db~J2E(4t_BD{Zh&?2b%|CA{XzP^~AE z`H42ylL^`U=aZsm@;gr(_!M0I7OOa6dj2(+H0t~ge%ou~#Gsn>r!Nof1~OOE&4Kev zxeRu%GUyIN^wuDx7WY;+*uC}S_XWnh#lQ~#m|%cY7QX&UNSQ;XbC^cYDI$K8BI2PU z;=e}`@jsx5_<2PH_}O(h(#=VJTEvUhViiR~lA7HluBjR)}l2x*rGbJGj7)$Y} zte^!6E|!X_scZ>(f0k@pxw735k_-)*$#ECfDc4%53+YObOoW`yg)1v7cIsZ6A&J4i zz{H~1Je}!wv9eM%Td*Gb<>_nqea|*ykE7*+(-OPsyz3QE-z~8 z=TlS*dL>VQDP5#%iX{-0vrref#8M{bSw^R_@2-AWMA2;a3+2*r#~;CfsF*+pOpQKO z!Z)*76iM+@$Z_U>Td$5lYxDBbVWjc&+}RQp_}?RU5K0S!NAL?!+xAJT@ku)V}v?;V|=_ zkz(oDKOZ*CL-WEd3*y4!t=~|~vrE0r0V0C=}iJeR6 zZz}iNI@x!`kMnX+-#L;zQ=E<<`w}2g25L_p66rL5O#e&R;E(I$`ndiF*Pj6Z0RR6P K{tKW0#svULPLH<$ literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.3.6/ix_values.yaml b/stable/vaultwarden/3.3.6/ix_values.yaml new file mode 100644 index 00000000000..e3b38897c6b --- /dev/null +++ b/stable/vaultwarden/3.3.6/ix_values.yaml @@ -0,0 +1,54 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.22.1 + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: false + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + retries: 30 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/vaultwarden/3.3.6/questions.yaml b/stable/vaultwarden/3.3.6/questions.yaml new file mode 100644 index 00000000000..f94d3e664f4 --- /dev/null +++ b/stable/vaultwarden/3.3.6/questions.yaml @@ -0,0 +1,1193 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: vaultwarden + label: "" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: admin + label: "Admin Portal" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: ssl + label: "Enable SSL connection" + schema: + type: boolean + default: true + - variable: port + label: "SMTP port" + description: "Usually: 25 without SSL, 587 with SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: port + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebsockets + label: "Enable Websocket Connections" + description: "Enable Websockets for notification. https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications" + schema: + type: boolean + default: true + hidden: true + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36000 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3012 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36001 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/vaultwarden/3.3.6/templates/_configmap.tpl b/stable/vaultwarden/3.3.6/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/templates/_secrets.tpl b/stable/vaultwarden/3.3.6/templates/_secrets.tpl new file mode 100644 index 00000000000..6a7bf408bb8 --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/templates/_validate.tpl b/stable/vaultwarden/3.3.6/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/templates/common.yaml b/stable/vaultwarden/3.3.6/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/3.3.6/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.3.6/test_values.yaml b/stable/vaultwarden/3.3.6/test_values.yaml new file mode 100644 index 00000000000..e8ea2c4567a --- /dev/null +++ b/stable/vaultwarden/3.3.6/test_values.yaml @@ -0,0 +1,172 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.22.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + ws: + ports: + ws: + enabled: true + port: 3012 + +env: {} + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 + +# Set Bitwarden_rs application variables +vaultwarden: + # Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # Verify e-mail before login is enabled. SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications + # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. + enableWebsockets: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # ssl: true + ## SMTP port. Defaults to 25 without SSL, 587 with SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/stable/vaultwarden/3.3.6/values.yaml b/stable/vaultwarden/3.3.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.2.5/CONFIG.md b/stable/zwavejs2mqtt/6.2.5/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.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/zwavejs2mqtt/6.2.5/Chart.lock b/stable/zwavejs2mqtt/6.2.5/Chart.lock new file mode 100644 index 00000000000..6e30bc37355 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +digest: sha256:e916cc3afa0bed84d564777b21ec91a8df7fae281abd127d34cf5ae0917f7a77 +generated: "2021-06-30T20:01:17.417200311Z" diff --git a/stable/zwavejs2mqtt/6.2.5/Chart.yaml b/stable/zwavejs2mqtt/6.2.5/Chart.yaml new file mode 100644 index 00000000000..6e630f2d620 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.4.3 +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.2.5 diff --git a/stable/zwavejs2mqtt/6.2.5/README.md b/stable/zwavejs2mqtt/6.2.5/README.md new file mode 100644 index 00000000000..d13881ca6be --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.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) + +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.2.5/app-readme.md b/stable/zwavejs2mqtt/6.2.5/app-readme.md new file mode 100644 index 00000000000..4bb94a1a5a3 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/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.2.5/charts/common-6.4.3.tgz b/stable/zwavejs2mqtt/6.2.5/charts/common-6.4.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..68b8b94c6c11b0bdfe043de30abdba8d6b258252 GIT binary patch literal 23367 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 literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/6.2.5/ix_values.yaml b/stable/zwavejs2mqtt/6.2.5/ix_values.yaml new file mode 100644 index 00000000000..7b32a307b20 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/ix_values.yaml @@ -0,0 +1,63 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 5.2.0 + +# 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.2.5/questions.yaml b/stable/zwavejs2mqtt/6.2.5/questions.yaml new file mode 100644 index 00000000000..f03e2c8866c --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/questions.yaml @@ -0,0 +1,798 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8091 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36022 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36023 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/zwavejs2mqtt/6.2.5/templates/common.yaml b/stable/zwavejs2mqtt/6.2.5/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/6.2.5/test_values.yaml b/stable/zwavejs2mqtt/6.2.5/test_values.yaml new file mode 100644 index 00000000000..57f9a0401cf --- /dev/null +++ b/stable/zwavejs2mqtt/6.2.5/test_values.yaml @@ -0,0 +1,103 @@ +# Default values for zwavejs2mqtt. +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/charts/tree/master/charts/common + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 5.2.0 + +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.2.5/values.yaml b/stable/zwavejs2mqtt/6.2.5/values.yaml new file mode 100644 index 00000000000..e69de29bb2d