From a279a5831c1bd67080e1f998961451890cb2139a Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Mon, 14 Jun 2021 22:34:46 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.1.3/CONFIG.md | 8 + deprecated/nzbhydra/6.1.3/Chart.lock | 6 + deprecated/nzbhydra/6.1.3/Chart.yaml | 20 + deprecated/nzbhydra/6.1.3/README.md | 53 + deprecated/nzbhydra/6.1.3/app-readme.md | 3 + .../nzbhydra/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes deprecated/nzbhydra/6.1.3/ix_values.yaml | 51 + deprecated/nzbhydra/6.1.3/questions.yaml | 647 +++++++++ .../nzbhydra/6.1.3/templates/common.yaml | 1 + deprecated/nzbhydra/6.1.3/test_values.yaml | 62 + deprecated/nzbhydra/6.1.3/values.yaml | 0 develop/prototype-gui/1.2.3/CONFIG.md | 8 + develop/prototype-gui/1.2.3/Chart.lock | 6 + develop/prototype-gui/1.2.3/Chart.yaml | 22 + develop/prototype-gui/1.2.3/README.md | 49 + develop/prototype-gui/1.2.3/app-readme.md | 3 + .../1.2.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes develop/prototype-gui/1.2.3/ix_values.yaml | 25 + develop/prototype-gui/1.2.3/questions.yaml | 651 +++++++++ .../prototype-gui/1.2.3/templates/common.yaml | 1 + develop/prototype-gui/1.2.3/test_values.yaml | 39 + develop/prototype-gui/1.2.3/values.yaml | 0 incubator/airsonic/1.1.3/CONFIG.md | 8 + incubator/airsonic/1.1.3/Chart.lock | 6 + incubator/airsonic/1.1.3/Chart.yaml | 22 + incubator/airsonic/1.1.3/README.md | 55 + incubator/airsonic/1.1.3/app-readme.md | 1 + .../airsonic/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/airsonic/1.1.3/ix_values.yaml | 19 + incubator/airsonic/1.1.3/questions.yaml | 555 ++++++++ .../airsonic/1.1.3/templates/common.yaml | 1 + incubator/airsonic/1.1.3/test_values.yaml | 60 + incubator/airsonic/1.1.3/values.yaml | 0 incubator/appdaemon/3.1.3/CONFIG.md | 8 + incubator/appdaemon/3.1.3/Chart.lock | 6 + incubator/appdaemon/3.1.3/Chart.yaml | 29 + incubator/appdaemon/3.1.3/README.md | 53 + incubator/appdaemon/3.1.3/app-readme.md | 3 + .../appdaemon/3.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/appdaemon/3.1.3/ix_values.yaml | 16 + incubator/appdaemon/3.1.3/questions.yaml | 485 +++++++ .../appdaemon/3.1.3/templates/common.yaml | 1 + incubator/appdaemon/3.1.3/test_values.yaml | 41 + incubator/appdaemon/3.1.3/values.yaml | 0 incubator/bazarr/6.1.3/CONFIG.md | 8 + incubator/bazarr/6.1.3/Chart.lock | 6 + incubator/bazarr/6.1.3/Chart.yaml | 32 + incubator/bazarr/6.1.3/README.md | 54 + incubator/bazarr/6.1.3/app-readme.md | 3 + .../bazarr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/bazarr/6.1.3/ix_values.yaml | 15 + incubator/bazarr/6.1.3/questions.yaml | 647 +++++++++ incubator/bazarr/6.1.3/templates/common.yaml | 1 + incubator/bazarr/6.1.3/test_values.yaml | 26 + incubator/bazarr/6.1.3/values.yaml | 0 incubator/calibre-web/6.1.3/CONFIG.md | 8 + incubator/calibre-web/6.1.3/Chart.lock | 6 + incubator/calibre-web/6.1.3/Chart.yaml | 26 + incubator/calibre-web/6.1.3/README.md | 54 + incubator/calibre-web/6.1.3/app-readme.md | 3 + .../calibre-web/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/calibre-web/6.1.3/ix_values.yaml | 16 + incubator/calibre-web/6.1.3/questions.yaml | 607 +++++++++ .../calibre-web/6.1.3/templates/common.yaml | 1 + incubator/calibre-web/6.1.3/test_values.yaml | 28 + incubator/calibre-web/6.1.3/values.yaml | 0 incubator/deluge/6.1.3/CONFIG.md | 8 + incubator/deluge/6.1.3/Chart.lock | 6 + incubator/deluge/6.1.3/Chart.yaml | 24 + incubator/deluge/6.1.3/README.md | 53 + incubator/deluge/6.1.3/app-readme.md | 3 + .../deluge/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/deluge/6.1.3/ix_values.yaml | 16 + incubator/deluge/6.1.3/questions.yaml | 724 +++++++++++ incubator/deluge/6.1.3/templates/common.yaml | 1 + incubator/deluge/6.1.3/test_values.yaml | 33 + incubator/deluge/6.1.3/values.yaml | 0 incubator/fireflyiii/4.1.3/CONFIG.md | 8 + incubator/fireflyiii/4.1.3/Chart.lock | 9 + incubator/fireflyiii/4.1.3/Chart.yaml | 30 + incubator/fireflyiii/4.1.3/README.md | 54 + incubator/fireflyiii/4.1.3/app-readme.md | 3 + .../fireflyiii/4.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes .../4.1.3/charts/postgresql-10.4.9.tgz | Bin 0 -> 48739 bytes incubator/fireflyiii/4.1.3/ix_values.yaml | 51 + incubator/fireflyiii/4.1.3/questions.yaml | 827 ++++++++++++ .../fireflyiii/4.1.3/templates/common.yaml | 5 + .../fireflyiii/4.1.3/templates/secrets.yaml | 19 + incubator/fireflyiii/4.1.3/test_values.yaml | 82 ++ incubator/fireflyiii/4.1.3/values.yaml | 0 incubator/freshrss/6.1.3/CONFIG.md | 8 + incubator/freshrss/6.1.3/Chart.lock | 6 + incubator/freshrss/6.1.3/Chart.yaml | 24 + incubator/freshrss/6.1.3/README.md | 54 + incubator/freshrss/6.1.3/app-readme.md | 3 + .../freshrss/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/freshrss/6.1.3/ix_values.yaml | 16 + incubator/freshrss/6.1.3/questions.yaml | 607 +++++++++ .../freshrss/6.1.3/templates/common.yaml | 1 + incubator/freshrss/6.1.3/test_values.yaml | 26 + incubator/freshrss/6.1.3/values.yaml | 0 incubator/gaps/6.1.3/CONFIG.md | 8 + incubator/gaps/6.1.3/Chart.lock | 6 + incubator/gaps/6.1.3/Chart.yaml | 25 + incubator/gaps/6.1.3/README.md | 53 + incubator/gaps/6.1.3/app-readme.md | 3 + incubator/gaps/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/gaps/6.1.3/ix_values.yaml | 15 + incubator/gaps/6.1.3/questions.yaml | 646 +++++++++ incubator/gaps/6.1.3/templates/common.yaml | 1 + incubator/gaps/6.1.3/test_values.yaml | 24 + incubator/gaps/6.1.3/values.yaml | 0 incubator/grocy/6.1.3/CONFIG.md | 8 + incubator/grocy/6.1.3/Chart.lock | 6 + incubator/grocy/6.1.3/Chart.yaml | 23 + incubator/grocy/6.1.3/README.md | 53 + incubator/grocy/6.1.3/app-readme.md | 3 + incubator/grocy/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/grocy/6.1.3/ix_values.yaml | 16 + incubator/grocy/6.1.3/questions.yaml | 606 +++++++++ incubator/grocy/6.1.3/templates/common.yaml | 1 + incubator/grocy/6.1.3/test_values.yaml | 26 + incubator/grocy/6.1.3/values.yaml | 0 incubator/haste-server/1.1.3/CONFIG.md | 8 + incubator/haste-server/1.1.3/Chart.lock | 6 + incubator/haste-server/1.1.3/Chart.yaml | 24 + incubator/haste-server/1.1.3/README.md | 54 + incubator/haste-server/1.1.3/app-readme.md | 1 + .../1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/haste-server/1.1.3/ix_values.yaml | 19 + incubator/haste-server/1.1.3/questions.yaml | 553 ++++++++ .../haste-server/1.1.3/templates/common.yaml | 1 + incubator/haste-server/1.1.3/test_values.yaml | 45 + incubator/haste-server/1.1.3/values.yaml | 0 incubator/heimdall/6.1.3/CONFIG.md | 8 + incubator/heimdall/6.1.3/Chart.lock | 6 + incubator/heimdall/6.1.3/Chart.yaml | 21 + incubator/heimdall/6.1.3/README.md | 49 + incubator/heimdall/6.1.3/app-readme.md | 3 + .../heimdall/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/heimdall/6.1.3/ix_values.yaml | 16 + incubator/heimdall/6.1.3/questions.yaml | 607 +++++++++ .../heimdall/6.1.3/templates/common.yaml | 1 + incubator/heimdall/6.1.3/test_values.yaml | 30 + incubator/heimdall/6.1.3/values.yaml | 0 incubator/lazylibrarian/6.1.3/CONFIG.md | 8 + incubator/lazylibrarian/6.1.3/Chart.lock | 6 + incubator/lazylibrarian/6.1.3/Chart.yaml | 27 + incubator/lazylibrarian/6.1.3/README.md | 54 + incubator/lazylibrarian/6.1.3/app-readme.md | 3 + .../6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/lazylibrarian/6.1.3/ix_values.yaml | 16 + incubator/lazylibrarian/6.1.3/questions.yaml | 607 +++++++++ .../lazylibrarian/6.1.3/templates/common.yaml | 1 + .../lazylibrarian/6.1.3/test_values.yaml | 26 + incubator/lazylibrarian/6.1.3/values.yaml | 0 incubator/lychee/6.1.3/CONFIG.md | 8 + incubator/lychee/6.1.3/Chart.lock | 6 + incubator/lychee/6.1.3/Chart.yaml | 26 + incubator/lychee/6.1.3/README.md | 54 + incubator/lychee/6.1.3/app-readme.md | 3 + .../lychee/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/lychee/6.1.3/ix_values.yaml | 16 + incubator/lychee/6.1.3/questions.yaml | 607 +++++++++ incubator/lychee/6.1.3/templates/common.yaml | 1 + incubator/lychee/6.1.3/test_values.yaml | 26 + incubator/lychee/6.1.3/values.yaml | 0 incubator/mealie/1.1.3/CONFIG.md | 8 + incubator/mealie/1.1.3/Chart.lock | 6 + incubator/mealie/1.1.3/Chart.yaml | 22 + incubator/mealie/1.1.3/README.md | 53 + incubator/mealie/1.1.3/app-readme.md | 1 + .../mealie/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/mealie/1.1.3/ix_values.yaml | 19 + incubator/mealie/1.1.3/questions.yaml | 548 ++++++++ incubator/mealie/1.1.3/templates/common.yaml | 1 + incubator/mealie/1.1.3/test_values.yaml | 43 + incubator/mealie/1.1.3/values.yaml | 0 incubator/mosquitto/1.1.4/CONFIG.md | 8 + incubator/mosquitto/1.1.4/Chart.lock | 6 + incubator/mosquitto/1.1.4/Chart.yaml | 24 + incubator/mosquitto/1.1.4/README.md | 53 + incubator/mosquitto/1.1.4/app-readme.md | 3 + .../mosquitto/1.1.4/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/mosquitto/1.1.4/ix_values.yaml | 18 + incubator/mosquitto/1.1.4/questions.yaml | 768 +++++++++++ .../mosquitto/1.1.4/templates/common.yaml | 17 + .../mosquitto/1.1.4/templates/configmap.yaml | 22 + incubator/mosquitto/1.1.4/test_values.yaml | 39 + incubator/mosquitto/1.1.4/values.yaml | 0 incubator/navidrome/6.1.3/CONFIG.md | 8 + incubator/navidrome/6.1.3/Chart.lock | 6 + incubator/navidrome/6.1.3/Chart.yaml | 25 + incubator/navidrome/6.1.3/README.md | 54 + incubator/navidrome/6.1.3/app-readme.md | 3 + .../navidrome/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/navidrome/6.1.3/ix_values.yaml | 15 + incubator/navidrome/6.1.3/questions.yaml | 647 +++++++++ .../navidrome/6.1.3/templates/common.yaml | 1 + incubator/navidrome/6.1.3/test_values.yaml | 28 + incubator/navidrome/6.1.3/values.yaml | 0 incubator/node-red/6.1.3/CONFIG.md | 8 + incubator/node-red/6.1.3/Chart.lock | 6 + incubator/node-red/6.1.3/Chart.yaml | 23 + incubator/node-red/6.1.3/README.md | 53 + incubator/node-red/6.1.3/app-readme.md | 3 + .../node-red/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/node-red/6.1.3/ix_values.yaml | 15 + incubator/node-red/6.1.3/questions.yaml | 647 +++++++++ .../node-red/6.1.3/templates/common.yaml | 1 + incubator/node-red/6.1.3/test_values.yaml | 30 + incubator/node-red/6.1.3/values.yaml | 0 incubator/nzbget/6.1.3/CONFIG.md | 8 + incubator/nzbget/6.1.3/Chart.lock | 6 + incubator/nzbget/6.1.3/Chart.yaml | 23 + incubator/nzbget/6.1.3/README.md | 53 + incubator/nzbget/6.1.3/app-readme.md | 3 + .../nzbget/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/nzbget/6.1.3/ix_values.yaml | 25 + incubator/nzbget/6.1.3/questions.yaml | 647 +++++++++ incubator/nzbget/6.1.3/templates/common.yaml | 1 + incubator/nzbget/6.1.3/test_values.yaml | 31 + incubator/nzbget/6.1.3/values.yaml | 0 incubator/organizr/6.1.3/CONFIG.md | 8 + incubator/organizr/6.1.3/Chart.lock | 6 + incubator/organizr/6.1.3/Chart.yaml | 23 + incubator/organizr/6.1.3/README.md | 54 + incubator/organizr/6.1.3/app-readme.md | 3 + .../organizr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/organizr/6.1.3/ix_values.yaml | 16 + incubator/organizr/6.1.3/questions.yaml | 717 ++++++++++ .../organizr/6.1.3/templates/common.yaml | 1 + incubator/organizr/6.1.3/test_values.yaml | 26 + incubator/organizr/6.1.3/values.yaml | 0 incubator/podgrab/4.1.3/CONFIG.md | 8 + incubator/podgrab/4.1.3/Chart.lock | 6 + incubator/podgrab/4.1.3/Chart.yaml | 27 + incubator/podgrab/4.1.3/README.md | 54 + incubator/podgrab/4.1.3/app-readme.md | 3 + .../podgrab/4.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/podgrab/4.1.3/ix_values.yaml | 26 + incubator/podgrab/4.1.3/questions.yaml | 655 ++++++++++ incubator/podgrab/4.1.3/templates/common.yaml | 1 + incubator/podgrab/4.1.3/test_values.yaml | 57 + incubator/podgrab/4.1.3/values.yaml | 0 incubator/prowlarr/1.1.3/CONFIG.md | 8 + incubator/prowlarr/1.1.3/Chart.lock | 6 + incubator/prowlarr/1.1.3/Chart.yaml | 24 + incubator/prowlarr/1.1.3/README.md | 54 + incubator/prowlarr/1.1.3/app-readme.md | 1 + .../prowlarr/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/prowlarr/1.1.3/ix_values.yaml | 19 + incubator/prowlarr/1.1.3/questions.yaml | 555 ++++++++ .../prowlarr/1.1.3/templates/common.yaml | 1 + incubator/prowlarr/1.1.3/test_values.yaml | 40 + incubator/prowlarr/1.1.3/values.yaml | 0 incubator/qbittorrent/6.1.3/CONFIG.md | 8 + incubator/qbittorrent/6.1.3/Chart.lock | 6 + incubator/qbittorrent/6.1.3/Chart.yaml | 22 + incubator/qbittorrent/6.1.3/README.md | 49 + incubator/qbittorrent/6.1.3/app-readme.md | 3 + .../qbittorrent/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/qbittorrent/6.1.3/ix_values.yaml | 15 + incubator/qbittorrent/6.1.3/questions.yaml | 794 +++++++++++ .../6.1.3/templates/_configmap.tpl | 32 + .../qbittorrent/6.1.3/templates/common.yaml | 6 + incubator/qbittorrent/6.1.3/test_values.yaml | 52 + incubator/qbittorrent/6.1.3/values.yaml | 0 incubator/readarr/6.1.3/CONFIG.md | 8 + incubator/readarr/6.1.3/Chart.lock | 6 + incubator/readarr/6.1.3/Chart.yaml | 30 + incubator/readarr/6.1.3/README.md | 54 + incubator/readarr/6.1.3/app-readme.md | 3 + .../readarr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/readarr/6.1.3/ix_values.yaml | 37 + incubator/readarr/6.1.3/questions.yaml | 647 +++++++++ incubator/readarr/6.1.3/templates/common.yaml | 1 + incubator/readarr/6.1.3/test_values.yaml | 47 + incubator/readarr/6.1.3/values.yaml | 0 incubator/reg/1.1.3/CONFIG.md | 8 + incubator/reg/1.1.3/Chart.lock | 6 + incubator/reg/1.1.3/Chart.yaml | 22 + incubator/reg/1.1.3/README.md | 54 + incubator/reg/1.1.3/app-readme.md | 1 + incubator/reg/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/reg/1.1.3/ci/ct-values.yaml | 2 + incubator/reg/1.1.3/ix_values.yaml | 19 + incubator/reg/1.1.3/questions.yaml | 543 ++++++++ incubator/reg/1.1.3/templates/common.yaml | 1 + incubator/reg/1.1.3/test_values.yaml | 35 + incubator/reg/1.1.3/values.yaml | 0 incubator/sabnzbd/6.1.3/CONFIG.md | 8 + incubator/sabnzbd/6.1.3/Chart.lock | 6 + incubator/sabnzbd/6.1.3/Chart.yaml | 23 + incubator/sabnzbd/6.1.3/README.md | 53 + incubator/sabnzbd/6.1.3/app-readme.md | 3 + .../sabnzbd/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/sabnzbd/6.1.3/ix_values.yaml | 15 + incubator/sabnzbd/6.1.3/questions.yaml | 654 ++++++++++ incubator/sabnzbd/6.1.3/templates/common.yaml | 1 + incubator/sabnzbd/6.1.3/test_values.yaml | 26 + incubator/sabnzbd/6.1.3/values.yaml | 0 incubator/thelounge/1.1.3/CONFIG.md | 8 + incubator/thelounge/1.1.3/Chart.lock | 6 + incubator/thelounge/1.1.3/Chart.yaml | 24 + incubator/thelounge/1.1.3/README.md | 53 + incubator/thelounge/1.1.3/app-readme.md | 1 + .../thelounge/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/thelounge/1.1.3/ix_values.yaml | 19 + incubator/thelounge/1.1.3/questions.yaml | 548 ++++++++ .../thelounge/1.1.3/templates/common.yaml | 1 + incubator/thelounge/1.1.3/test_values.yaml | 44 + incubator/thelounge/1.1.3/values.yaml | 0 incubator/tvheadend/7.1.3/CONFIG.md | 8 + incubator/tvheadend/7.1.3/Chart.lock | 6 + incubator/tvheadend/7.1.3/Chart.yaml | 25 + incubator/tvheadend/7.1.3/README.md | 53 + incubator/tvheadend/7.1.3/app-readme.md | 3 + .../tvheadend/7.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/tvheadend/7.1.3/ix_values.yaml | 15 + incubator/tvheadend/7.1.3/questions.yaml | 703 ++++++++++ .../tvheadend/7.1.3/templates/common.yaml | 1 + incubator/tvheadend/7.1.3/test_values.yaml | 36 + incubator/tvheadend/7.1.3/values.yaml | 0 incubator/unifi/6.1.3/CONFIG.md | 8 + incubator/unifi/6.1.3/Chart.lock | 6 + incubator/unifi/6.1.3/Chart.yaml | 24 + incubator/unifi/6.1.3/README.md | 54 + incubator/unifi/6.1.3/app-readme.md | 3 + incubator/unifi/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/unifi/6.1.3/ix_values.yaml | 19 + incubator/unifi/6.1.3/questions.yaml | 802 ++++++++++++ incubator/unifi/6.1.3/templates/common.yaml | 1 + incubator/unifi/6.1.3/test_values.yaml | 48 + incubator/unifi/6.1.3/values.yaml | 0 incubator/unpackerr/1.1.3/CONFIG.md | 8 + incubator/unpackerr/1.1.3/Chart.lock | 6 + incubator/unpackerr/1.1.3/Chart.yaml | 29 + incubator/unpackerr/1.1.3/README.md | 54 + incubator/unpackerr/1.1.3/app-readme.md | 3 + .../unpackerr/1.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes incubator/unpackerr/1.1.3/ix_values.yaml | 25 + incubator/unpackerr/1.1.3/questions.yaml | 541 ++++++++ .../unpackerr/1.1.3/templates/common.yaml | 1 + incubator/unpackerr/1.1.3/test_values.yaml | 45 + incubator/unpackerr/1.1.3/values.yaml | 0 stable/collabora-online/6.1.3/CONFIG.md | 8 + stable/collabora-online/6.1.3/Chart.lock | 6 + stable/collabora-online/6.1.3/Chart.yaml | 28 + stable/collabora-online/6.1.3/README.md | 54 + stable/collabora-online/6.1.3/app-readme.md | 3 + .../6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/collabora-online/6.1.3/ix_values.yaml | 14 + stable/collabora-online/6.1.3/questions.yaml | 510 ++++++++ .../6.1.3/templates/common.yaml | 1 + .../collabora-online/6.1.3/test_values.yaml | 22 + stable/collabora-online/6.1.3/values.yaml | 0 stable/deepstack-cpu/4.1.3/CONFIG.md | 8 + stable/deepstack-cpu/4.1.3/Chart.lock | 6 + stable/deepstack-cpu/4.1.3/Chart.yaml | 28 + stable/deepstack-cpu/4.1.3/README.md | 55 + stable/deepstack-cpu/4.1.3/app-readme.md | 3 + .../4.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/deepstack-cpu/4.1.3/ix_values.yaml | 19 + stable/deepstack-cpu/4.1.3/questions.yaml | 660 ++++++++++ .../deepstack-cpu/4.1.3/templates/common.yaml | 1 + stable/deepstack-cpu/4.1.3/test_values.yaml | 39 + stable/deepstack-cpu/4.1.3/values.yaml | 0 stable/emby/6.1.3/CONFIG.md | 8 + stable/emby/6.1.3/Chart.lock | 6 + stable/emby/6.1.3/Chart.yaml | 28 + stable/emby/6.1.3/README.md | 54 + stable/emby/6.1.3/app-readme.md | 3 + stable/emby/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/emby/6.1.3/ix_values.yaml | 22 + stable/emby/6.1.3/questions.yaml | 655 ++++++++++ stable/emby/6.1.3/templates/common.yaml | 1 + stable/emby/6.1.3/test_values.yaml | 29 + stable/emby/6.1.3/values.yaml | 0 stable/esphome/6.1.3/CONFIG.md | 8 + stable/esphome/6.1.3/Chart.lock | 6 + stable/esphome/6.1.3/Chart.yaml | 27 + stable/esphome/6.1.3/README.md | 54 + stable/esphome/6.1.3/app-readme.md | 3 + stable/esphome/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/esphome/6.1.3/ix_values.yaml | 15 + stable/esphome/6.1.3/questions.yaml | 750 +++++++++++ stable/esphome/6.1.3/templates/common.yaml | 1 + stable/esphome/6.1.3/test_values.yaml | 30 + stable/esphome/6.1.3/values.yaml | 0 stable/handbrake/6.1.3/CONFIG.md | 8 + stable/handbrake/6.1.3/Chart.lock | 6 + stable/handbrake/6.1.3/Chart.yaml | 30 + stable/handbrake/6.1.3/README.md | 55 + stable/handbrake/6.1.3/app-readme.md | 3 + .../handbrake/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/handbrake/6.1.3/ix_values.yaml | 20 + stable/handbrake/6.1.3/questions.yaml | 816 ++++++++++++ stable/handbrake/6.1.3/templates/common.yaml | 1 + stable/handbrake/6.1.3/test_values.yaml | 51 + stable/handbrake/6.1.3/values.yaml | 0 stable/home-assistant/6.1.3/CONFIG.md | 8 + stable/home-assistant/6.1.3/Chart.lock | 6 + stable/home-assistant/6.1.3/Chart.yaml | 28 + stable/home-assistant/6.1.3/README.md | 54 + stable/home-assistant/6.1.3/app-readme.md | 3 + .../6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/home-assistant/6.1.3/ix_values.yaml | 15 + stable/home-assistant/6.1.3/questions.yaml | 662 ++++++++++ .../6.1.3/templates/common.yaml | 1 + .../6.1.3/templates/secret.yaml | 15 + stable/home-assistant/6.1.3/test_values.yaml | 83 ++ stable/home-assistant/6.1.3/values.yaml | 0 stable/jackett/6.1.3/CONFIG.md | 8 + stable/jackett/6.1.3/Chart.lock | 6 + stable/jackett/6.1.3/Chart.yaml | 27 + stable/jackett/6.1.3/README.md | 53 + stable/jackett/6.1.3/app-readme.md | 3 + stable/jackett/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/jackett/6.1.3/ix_values.yaml | 25 + stable/jackett/6.1.3/questions.yaml | 646 +++++++++ stable/jackett/6.1.3/templates/common.yaml | 1 + stable/jackett/6.1.3/test_values.yaml | 39 + stable/jackett/6.1.3/values.yaml | 0 stable/jellyfin/6.1.3/CONFIG.md | 8 + stable/jellyfin/6.1.3/Chart.lock | 6 + stable/jellyfin/6.1.3/Chart.yaml | 27 + stable/jellyfin/6.1.3/README.md | 53 + stable/jellyfin/6.1.3/app-readme.md | 3 + stable/jellyfin/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/jellyfin/6.1.3/ix_values.yaml | 22 + stable/jellyfin/6.1.3/questions.yaml | 655 ++++++++++ stable/jellyfin/6.1.3/templates/common.yaml | 1 + stable/jellyfin/6.1.3/test_values.yaml | 29 + stable/jellyfin/6.1.3/values.yaml | 0 stable/kms/6.1.4/CONFIG.md | 8 + stable/kms/6.1.4/Chart.lock | 6 + stable/kms/6.1.4/Chart.yaml | 25 + stable/kms/6.1.4/README.md | 53 + stable/kms/6.1.4/app-readme.md | 3 + stable/kms/6.1.4/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/kms/6.1.4/ix_values.yaml | 16 + stable/kms/6.1.4/questions.yaml | 394 ++++++ stable/kms/6.1.4/templates/common.yaml | 1 + stable/kms/6.1.4/test_values.yaml | 16 + stable/kms/6.1.4/values.yaml | 0 stable/lidarr/6.1.3/CONFIG.md | 8 + stable/lidarr/6.1.3/Chart.lock | 6 + stable/lidarr/6.1.3/Chart.yaml | 27 + stable/lidarr/6.1.3/README.md | 53 + stable/lidarr/6.1.3/app-readme.md | 3 + stable/lidarr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/lidarr/6.1.3/ix_values.yaml | 37 + stable/lidarr/6.1.3/questions.yaml | 646 +++++++++ stable/lidarr/6.1.3/templates/common.yaml | 1 + stable/lidarr/6.1.3/test_values.yaml | 47 + stable/lidarr/6.1.3/values.yaml | 0 stable/ombi/6.1.3/CONFIG.md | 8 + stable/ombi/6.1.3/Chart.lock | 6 + stable/ombi/6.1.3/Chart.yaml | 30 + stable/ombi/6.1.3/README.md | 53 + stable/ombi/6.1.3/app-readme.md | 3 + stable/ombi/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/ombi/6.1.3/ix_values.yaml | 15 + stable/ombi/6.1.3/questions.yaml | 646 +++++++++ stable/ombi/6.1.3/templates/common.yaml | 1 + stable/ombi/6.1.3/test_values.yaml | 40 + stable/ombi/6.1.3/values.yaml | 0 stable/plex/5.1.4/CONFIG.md | 8 + stable/plex/5.1.4/Chart.lock | 6 + stable/plex/5.1.4/Chart.yaml | 25 + stable/plex/5.1.4/README.md | 49 + stable/plex/5.1.4/app-readme.md | 3 + stable/plex/5.1.4/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/plex/5.1.4/ix_values.yaml | 19 + stable/plex/5.1.4/questions.yaml | 673 ++++++++++ stable/plex/5.1.4/templates/common.yaml | 1 + stable/plex/5.1.4/test_values.yaml | 29 + stable/plex/5.1.4/values.yaml | 0 stable/radarr/6.1.3/CONFIG.md | 8 + stable/radarr/6.1.3/Chart.lock | 6 + stable/radarr/6.1.3/Chart.yaml | 27 + stable/radarr/6.1.3/README.md | 53 + stable/radarr/6.1.3/app-readme.md | 3 + stable/radarr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/radarr/6.1.3/ix_values.yaml | 37 + stable/radarr/6.1.3/questions.yaml | 646 +++++++++ stable/radarr/6.1.3/templates/common.yaml | 1 + stable/radarr/6.1.3/test_values.yaml | 47 + stable/radarr/6.1.3/values.yaml | 0 stable/sonarr/6.1.3/CONFIG.md | 8 + stable/sonarr/6.1.3/Chart.lock | 6 + stable/sonarr/6.1.3/Chart.yaml | 27 + stable/sonarr/6.1.3/README.md | 53 + stable/sonarr/6.1.3/app-readme.md | 3 + stable/sonarr/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/sonarr/6.1.3/ix_values.yaml | 37 + stable/sonarr/6.1.3/questions.yaml | 646 +++++++++ stable/sonarr/6.1.3/templates/common.yaml | 1 + stable/sonarr/6.1.3/test_values.yaml | 47 + stable/sonarr/6.1.3/values.yaml | 0 stable/syncthing/6.1.3/CONFIG.md | 8 + stable/syncthing/6.1.3/Chart.lock | 6 + stable/syncthing/6.1.3/Chart.yaml | 27 + stable/syncthing/6.1.3/README.md | 55 + stable/syncthing/6.1.3/app-readme.md | 3 + .../syncthing/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/syncthing/6.1.3/ix_values.yaml | 15 + stable/syncthing/6.1.3/questions.yaml | 908 +++++++++++++ stable/syncthing/6.1.3/templates/common.yaml | 1 + stable/syncthing/6.1.3/test_values.yaml | 38 + stable/syncthing/6.1.3/values.yaml | 0 stable/tautulli/6.1.3/CONFIG.md | 8 + stable/tautulli/6.1.3/Chart.lock | 6 + stable/tautulli/6.1.3/Chart.yaml | 26 + stable/tautulli/6.1.3/README.md | 53 + stable/tautulli/6.1.3/app-readme.md | 3 + stable/tautulli/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/tautulli/6.1.3/ix_values.yaml | 15 + stable/tautulli/6.1.3/questions.yaml | 646 +++++++++ stable/tautulli/6.1.3/templates/common.yaml | 1 + stable/tautulli/6.1.3/test_values.yaml | 26 + stable/tautulli/6.1.3/values.yaml | 0 stable/traefik/6.1.3/CONFIG.md | 8 + stable/traefik/6.1.3/Chart.lock | 6 + stable/traefik/6.1.3/Chart.yaml | 28 + stable/traefik/6.1.3/LICENSE | 202 +++ stable/traefik/6.1.3/README.md | 55 + stable/traefik/6.1.3/app-readme.md | 3 + stable/traefik/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/traefik/6.1.3/crds/ingressroute.yaml | 12 + .../traefik/6.1.3/crds/ingressroutetcp.yaml | 12 + .../traefik/6.1.3/crds/ingressrouteudp.yaml | 13 + stable/traefik/6.1.3/crds/middlewares.yaml | 12 + .../traefik/6.1.3/crds/serverstransports.yaml | 12 + stable/traefik/6.1.3/crds/tlsoptions.yaml | 12 + stable/traefik/6.1.3/crds/tlsstores.yaml | 13 + .../traefik/6.1.3/crds/traefikservices.yaml | 12 + stable/traefik/6.1.3/ix_values.yaml | 316 +++++ stable/traefik/6.1.3/questions.yaml | 385 ++++++ stable/traefik/6.1.3/templates/_helpers.tpl | 62 + .../traefik/6.1.3/templates/_podtemplate.tpl | 265 ++++ .../6.1.3/templates/custom/common.yaml | 0 .../6.1.3/templates/custom/portal.yaml | 44 + stable/traefik/6.1.3/templates/daemonset.yaml | 40 + .../dashboard-hook-ingressroute.yaml | 28 + .../traefik/6.1.3/templates/deployment.yaml | 47 + stable/traefik/6.1.3/templates/gateway.yaml | 33 + .../traefik/6.1.3/templates/gatewayclass.yaml | 9 + stable/traefik/6.1.3/templates/hpa.yaml | 20 + .../traefik/6.1.3/templates/ingressclass.yaml | 23 + .../6.1.3/templates/poddisruptionbudget.yaml | 22 + .../6.1.3/templates/rbac/clusterrole.yaml | 112 ++ .../templates/rbac/clusterrolebinding.yaml | 19 + .../templates/rbac/podsecuritypolicy.yaml | 68 + stable/traefik/6.1.3/templates/rbac/role.yaml | 61 + .../6.1.3/templates/rbac/rolebinding.yaml | 19 + .../6.1.3/templates/rbac/serviceaccount.yaml | 15 + stable/traefik/6.1.3/templates/service.yaml | 112 ++ stable/traefik/6.1.3/templates/tlsoption.yaml | 14 + stable/traefik/6.1.3/test_values.yaml | 406 ++++++ stable/traefik/6.1.3/values.yaml | 0 stable/transmission/6.1.3/CONFIG.md | 8 + stable/transmission/6.1.3/Chart.lock | 6 + stable/transmission/6.1.3/Chart.yaml | 28 + stable/transmission/6.1.3/README.md | 54 + stable/transmission/6.1.3/app-readme.md | 3 + .../6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/transmission/6.1.3/ix_values.yaml | 50 + stable/transmission/6.1.3/questions.yaml | 1134 ++++++++++++++++ .../transmission/6.1.3/templates/common.yaml | 2 + stable/transmission/6.1.3/test_values.yaml | 106 ++ stable/transmission/6.1.3/values.yaml | 0 stable/truecommand/6.1.3/CONFIG.md | 8 + stable/truecommand/6.1.3/Chart.lock | 6 + stable/truecommand/6.1.3/Chart.yaml | 25 + stable/truecommand/6.1.3/README.md | 53 + stable/truecommand/6.1.3/app-readme.md | 3 + .../truecommand/6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/truecommand/6.1.3/ix_values.yaml | 15 + stable/truecommand/6.1.3/questions.yaml | 607 +++++++++ .../truecommand/6.1.3/templates/common.yaml | 1 + stable/truecommand/6.1.3/test_values.yaml | 26 + stable/truecommand/6.1.3/values.yaml | 0 stable/vaultwarden/3.1.3/CONFIG.md | 8 + stable/vaultwarden/3.1.3/Chart.lock | 9 + stable/vaultwarden/3.1.3/Chart.yaml | 34 + stable/vaultwarden/3.1.3/README.md | 54 + stable/vaultwarden/3.1.3/app-readme.md | 3 + .../vaultwarden/3.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes .../3.1.3/charts/postgresql-10.4.9.tgz | Bin 0 -> 48739 bytes stable/vaultwarden/3.1.3/ix_values.yaml | 54 + stable/vaultwarden/3.1.3/questions.yaml | 1158 +++++++++++++++++ .../3.1.3/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.1.3/templates/_secrets.tpl | 59 + .../vaultwarden/3.1.3/templates/_validate.tpl | 17 + .../vaultwarden/3.1.3/templates/common.yaml | 11 + stable/vaultwarden/3.1.3/test_values.yaml | 172 +++ stable/vaultwarden/3.1.3/values.yaml | 0 stable/zwavejs2mqtt/6.1.3/CONFIG.md | 8 + stable/zwavejs2mqtt/6.1.3/Chart.lock | 6 + stable/zwavejs2mqtt/6.1.3/Chart.yaml | 30 + stable/zwavejs2mqtt/6.1.3/README.md | 54 + stable/zwavejs2mqtt/6.1.3/app-readme.md | 3 + .../6.1.3/charts/common-6.3.4.tgz | Bin 0 -> 22918 bytes stable/zwavejs2mqtt/6.1.3/ix_values.yaml | 63 + stable/zwavejs2mqtt/6.1.3/questions.yaml | 777 +++++++++++ .../zwavejs2mqtt/6.1.3/templates/common.yaml | 1 + stable/zwavejs2mqtt/6.1.3/test_values.yaml | 103 ++ stable/zwavejs2mqtt/6.1.3/values.yaml | 0 610 files changed, 45198 insertions(+) create mode 100644 deprecated/nzbhydra/6.1.3/CONFIG.md create mode 100644 deprecated/nzbhydra/6.1.3/Chart.lock create mode 100644 deprecated/nzbhydra/6.1.3/Chart.yaml create mode 100644 deprecated/nzbhydra/6.1.3/README.md create mode 100644 deprecated/nzbhydra/6.1.3/app-readme.md create mode 100644 deprecated/nzbhydra/6.1.3/charts/common-6.3.4.tgz create mode 100644 deprecated/nzbhydra/6.1.3/ix_values.yaml create mode 100644 deprecated/nzbhydra/6.1.3/questions.yaml create mode 100644 deprecated/nzbhydra/6.1.3/templates/common.yaml create mode 100644 deprecated/nzbhydra/6.1.3/test_values.yaml create mode 100644 deprecated/nzbhydra/6.1.3/values.yaml create mode 100644 develop/prototype-gui/1.2.3/CONFIG.md create mode 100644 develop/prototype-gui/1.2.3/Chart.lock create mode 100644 develop/prototype-gui/1.2.3/Chart.yaml create mode 100644 develop/prototype-gui/1.2.3/README.md create mode 100644 develop/prototype-gui/1.2.3/app-readme.md create mode 100644 develop/prototype-gui/1.2.3/charts/common-6.3.4.tgz create mode 100644 develop/prototype-gui/1.2.3/ix_values.yaml create mode 100644 develop/prototype-gui/1.2.3/questions.yaml create mode 100644 develop/prototype-gui/1.2.3/templates/common.yaml create mode 100644 develop/prototype-gui/1.2.3/test_values.yaml create mode 100644 develop/prototype-gui/1.2.3/values.yaml create mode 100644 incubator/airsonic/1.1.3/CONFIG.md create mode 100644 incubator/airsonic/1.1.3/Chart.lock create mode 100644 incubator/airsonic/1.1.3/Chart.yaml create mode 100644 incubator/airsonic/1.1.3/README.md create mode 100644 incubator/airsonic/1.1.3/app-readme.md create mode 100644 incubator/airsonic/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/airsonic/1.1.3/ix_values.yaml create mode 100644 incubator/airsonic/1.1.3/questions.yaml create mode 100644 incubator/airsonic/1.1.3/templates/common.yaml create mode 100644 incubator/airsonic/1.1.3/test_values.yaml create mode 100644 incubator/airsonic/1.1.3/values.yaml create mode 100644 incubator/appdaemon/3.1.3/CONFIG.md create mode 100644 incubator/appdaemon/3.1.3/Chart.lock create mode 100644 incubator/appdaemon/3.1.3/Chart.yaml create mode 100644 incubator/appdaemon/3.1.3/README.md create mode 100644 incubator/appdaemon/3.1.3/app-readme.md create mode 100644 incubator/appdaemon/3.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/appdaemon/3.1.3/ix_values.yaml create mode 100644 incubator/appdaemon/3.1.3/questions.yaml create mode 100644 incubator/appdaemon/3.1.3/templates/common.yaml create mode 100644 incubator/appdaemon/3.1.3/test_values.yaml create mode 100644 incubator/appdaemon/3.1.3/values.yaml create mode 100644 incubator/bazarr/6.1.3/CONFIG.md create mode 100644 incubator/bazarr/6.1.3/Chart.lock create mode 100644 incubator/bazarr/6.1.3/Chart.yaml create mode 100644 incubator/bazarr/6.1.3/README.md create mode 100644 incubator/bazarr/6.1.3/app-readme.md create mode 100644 incubator/bazarr/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/bazarr/6.1.3/ix_values.yaml create mode 100644 incubator/bazarr/6.1.3/questions.yaml create mode 100644 incubator/bazarr/6.1.3/templates/common.yaml create mode 100644 incubator/bazarr/6.1.3/test_values.yaml create mode 100644 incubator/bazarr/6.1.3/values.yaml create mode 100644 incubator/calibre-web/6.1.3/CONFIG.md create mode 100644 incubator/calibre-web/6.1.3/Chart.lock create mode 100644 incubator/calibre-web/6.1.3/Chart.yaml create mode 100644 incubator/calibre-web/6.1.3/README.md create mode 100644 incubator/calibre-web/6.1.3/app-readme.md create mode 100644 incubator/calibre-web/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/calibre-web/6.1.3/ix_values.yaml create mode 100644 incubator/calibre-web/6.1.3/questions.yaml create mode 100644 incubator/calibre-web/6.1.3/templates/common.yaml create mode 100644 incubator/calibre-web/6.1.3/test_values.yaml create mode 100644 incubator/calibre-web/6.1.3/values.yaml create mode 100644 incubator/deluge/6.1.3/CONFIG.md create mode 100644 incubator/deluge/6.1.3/Chart.lock create mode 100644 incubator/deluge/6.1.3/Chart.yaml create mode 100644 incubator/deluge/6.1.3/README.md create mode 100644 incubator/deluge/6.1.3/app-readme.md create mode 100644 incubator/deluge/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/deluge/6.1.3/ix_values.yaml create mode 100644 incubator/deluge/6.1.3/questions.yaml create mode 100644 incubator/deluge/6.1.3/templates/common.yaml create mode 100644 incubator/deluge/6.1.3/test_values.yaml create mode 100644 incubator/deluge/6.1.3/values.yaml create mode 100644 incubator/fireflyiii/4.1.3/CONFIG.md create mode 100644 incubator/fireflyiii/4.1.3/Chart.lock create mode 100644 incubator/fireflyiii/4.1.3/Chart.yaml create mode 100644 incubator/fireflyiii/4.1.3/README.md create mode 100644 incubator/fireflyiii/4.1.3/app-readme.md create mode 100644 incubator/fireflyiii/4.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/fireflyiii/4.1.3/charts/postgresql-10.4.9.tgz create mode 100644 incubator/fireflyiii/4.1.3/ix_values.yaml create mode 100644 incubator/fireflyiii/4.1.3/questions.yaml create mode 100644 incubator/fireflyiii/4.1.3/templates/common.yaml create mode 100644 incubator/fireflyiii/4.1.3/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.1.3/test_values.yaml create mode 100644 incubator/fireflyiii/4.1.3/values.yaml create mode 100644 incubator/freshrss/6.1.3/CONFIG.md create mode 100644 incubator/freshrss/6.1.3/Chart.lock create mode 100644 incubator/freshrss/6.1.3/Chart.yaml create mode 100644 incubator/freshrss/6.1.3/README.md create mode 100644 incubator/freshrss/6.1.3/app-readme.md create mode 100644 incubator/freshrss/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/freshrss/6.1.3/ix_values.yaml create mode 100644 incubator/freshrss/6.1.3/questions.yaml create mode 100644 incubator/freshrss/6.1.3/templates/common.yaml create mode 100644 incubator/freshrss/6.1.3/test_values.yaml create mode 100644 incubator/freshrss/6.1.3/values.yaml create mode 100644 incubator/gaps/6.1.3/CONFIG.md create mode 100644 incubator/gaps/6.1.3/Chart.lock create mode 100644 incubator/gaps/6.1.3/Chart.yaml create mode 100644 incubator/gaps/6.1.3/README.md create mode 100644 incubator/gaps/6.1.3/app-readme.md create mode 100644 incubator/gaps/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/gaps/6.1.3/ix_values.yaml create mode 100644 incubator/gaps/6.1.3/questions.yaml create mode 100644 incubator/gaps/6.1.3/templates/common.yaml create mode 100644 incubator/gaps/6.1.3/test_values.yaml create mode 100644 incubator/gaps/6.1.3/values.yaml create mode 100644 incubator/grocy/6.1.3/CONFIG.md create mode 100644 incubator/grocy/6.1.3/Chart.lock create mode 100644 incubator/grocy/6.1.3/Chart.yaml create mode 100644 incubator/grocy/6.1.3/README.md create mode 100644 incubator/grocy/6.1.3/app-readme.md create mode 100644 incubator/grocy/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/grocy/6.1.3/ix_values.yaml create mode 100644 incubator/grocy/6.1.3/questions.yaml create mode 100644 incubator/grocy/6.1.3/templates/common.yaml create mode 100644 incubator/grocy/6.1.3/test_values.yaml create mode 100644 incubator/grocy/6.1.3/values.yaml create mode 100644 incubator/haste-server/1.1.3/CONFIG.md create mode 100644 incubator/haste-server/1.1.3/Chart.lock create mode 100644 incubator/haste-server/1.1.3/Chart.yaml create mode 100644 incubator/haste-server/1.1.3/README.md create mode 100644 incubator/haste-server/1.1.3/app-readme.md create mode 100644 incubator/haste-server/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/haste-server/1.1.3/ix_values.yaml create mode 100644 incubator/haste-server/1.1.3/questions.yaml create mode 100644 incubator/haste-server/1.1.3/templates/common.yaml create mode 100644 incubator/haste-server/1.1.3/test_values.yaml create mode 100644 incubator/haste-server/1.1.3/values.yaml create mode 100644 incubator/heimdall/6.1.3/CONFIG.md create mode 100644 incubator/heimdall/6.1.3/Chart.lock create mode 100644 incubator/heimdall/6.1.3/Chart.yaml create mode 100644 incubator/heimdall/6.1.3/README.md create mode 100644 incubator/heimdall/6.1.3/app-readme.md create mode 100644 incubator/heimdall/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/heimdall/6.1.3/ix_values.yaml create mode 100644 incubator/heimdall/6.1.3/questions.yaml create mode 100644 incubator/heimdall/6.1.3/templates/common.yaml create mode 100644 incubator/heimdall/6.1.3/test_values.yaml create mode 100644 incubator/heimdall/6.1.3/values.yaml create mode 100644 incubator/lazylibrarian/6.1.3/CONFIG.md create mode 100644 incubator/lazylibrarian/6.1.3/Chart.lock create mode 100644 incubator/lazylibrarian/6.1.3/Chart.yaml create mode 100644 incubator/lazylibrarian/6.1.3/README.md create mode 100644 incubator/lazylibrarian/6.1.3/app-readme.md create mode 100644 incubator/lazylibrarian/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/lazylibrarian/6.1.3/ix_values.yaml create mode 100644 incubator/lazylibrarian/6.1.3/questions.yaml create mode 100644 incubator/lazylibrarian/6.1.3/templates/common.yaml create mode 100644 incubator/lazylibrarian/6.1.3/test_values.yaml create mode 100644 incubator/lazylibrarian/6.1.3/values.yaml create mode 100644 incubator/lychee/6.1.3/CONFIG.md create mode 100644 incubator/lychee/6.1.3/Chart.lock create mode 100644 incubator/lychee/6.1.3/Chart.yaml create mode 100644 incubator/lychee/6.1.3/README.md create mode 100644 incubator/lychee/6.1.3/app-readme.md create mode 100644 incubator/lychee/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/lychee/6.1.3/ix_values.yaml create mode 100644 incubator/lychee/6.1.3/questions.yaml create mode 100644 incubator/lychee/6.1.3/templates/common.yaml create mode 100644 incubator/lychee/6.1.3/test_values.yaml create mode 100644 incubator/lychee/6.1.3/values.yaml create mode 100644 incubator/mealie/1.1.3/CONFIG.md create mode 100644 incubator/mealie/1.1.3/Chart.lock create mode 100644 incubator/mealie/1.1.3/Chart.yaml create mode 100644 incubator/mealie/1.1.3/README.md create mode 100644 incubator/mealie/1.1.3/app-readme.md create mode 100644 incubator/mealie/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/mealie/1.1.3/ix_values.yaml create mode 100644 incubator/mealie/1.1.3/questions.yaml create mode 100644 incubator/mealie/1.1.3/templates/common.yaml create mode 100644 incubator/mealie/1.1.3/test_values.yaml create mode 100644 incubator/mealie/1.1.3/values.yaml create mode 100644 incubator/mosquitto/1.1.4/CONFIG.md create mode 100644 incubator/mosquitto/1.1.4/Chart.lock create mode 100644 incubator/mosquitto/1.1.4/Chart.yaml create mode 100644 incubator/mosquitto/1.1.4/README.md create mode 100644 incubator/mosquitto/1.1.4/app-readme.md create mode 100644 incubator/mosquitto/1.1.4/charts/common-6.3.4.tgz create mode 100644 incubator/mosquitto/1.1.4/ix_values.yaml create mode 100644 incubator/mosquitto/1.1.4/questions.yaml create mode 100644 incubator/mosquitto/1.1.4/templates/common.yaml create mode 100644 incubator/mosquitto/1.1.4/templates/configmap.yaml create mode 100644 incubator/mosquitto/1.1.4/test_values.yaml create mode 100644 incubator/mosquitto/1.1.4/values.yaml create mode 100644 incubator/navidrome/6.1.3/CONFIG.md create mode 100644 incubator/navidrome/6.1.3/Chart.lock create mode 100644 incubator/navidrome/6.1.3/Chart.yaml create mode 100644 incubator/navidrome/6.1.3/README.md create mode 100644 incubator/navidrome/6.1.3/app-readme.md create mode 100644 incubator/navidrome/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/navidrome/6.1.3/ix_values.yaml create mode 100644 incubator/navidrome/6.1.3/questions.yaml create mode 100644 incubator/navidrome/6.1.3/templates/common.yaml create mode 100644 incubator/navidrome/6.1.3/test_values.yaml create mode 100644 incubator/navidrome/6.1.3/values.yaml create mode 100644 incubator/node-red/6.1.3/CONFIG.md create mode 100644 incubator/node-red/6.1.3/Chart.lock create mode 100644 incubator/node-red/6.1.3/Chart.yaml create mode 100644 incubator/node-red/6.1.3/README.md create mode 100644 incubator/node-red/6.1.3/app-readme.md create mode 100644 incubator/node-red/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/node-red/6.1.3/ix_values.yaml create mode 100644 incubator/node-red/6.1.3/questions.yaml create mode 100644 incubator/node-red/6.1.3/templates/common.yaml create mode 100644 incubator/node-red/6.1.3/test_values.yaml create mode 100644 incubator/node-red/6.1.3/values.yaml create mode 100644 incubator/nzbget/6.1.3/CONFIG.md create mode 100644 incubator/nzbget/6.1.3/Chart.lock create mode 100644 incubator/nzbget/6.1.3/Chart.yaml create mode 100644 incubator/nzbget/6.1.3/README.md create mode 100644 incubator/nzbget/6.1.3/app-readme.md create mode 100644 incubator/nzbget/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/nzbget/6.1.3/ix_values.yaml create mode 100644 incubator/nzbget/6.1.3/questions.yaml create mode 100644 incubator/nzbget/6.1.3/templates/common.yaml create mode 100644 incubator/nzbget/6.1.3/test_values.yaml create mode 100644 incubator/nzbget/6.1.3/values.yaml create mode 100644 incubator/organizr/6.1.3/CONFIG.md create mode 100644 incubator/organizr/6.1.3/Chart.lock create mode 100644 incubator/organizr/6.1.3/Chart.yaml create mode 100644 incubator/organizr/6.1.3/README.md create mode 100644 incubator/organizr/6.1.3/app-readme.md create mode 100644 incubator/organizr/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/organizr/6.1.3/ix_values.yaml create mode 100644 incubator/organizr/6.1.3/questions.yaml create mode 100644 incubator/organizr/6.1.3/templates/common.yaml create mode 100644 incubator/organizr/6.1.3/test_values.yaml create mode 100644 incubator/organizr/6.1.3/values.yaml create mode 100644 incubator/podgrab/4.1.3/CONFIG.md create mode 100644 incubator/podgrab/4.1.3/Chart.lock create mode 100644 incubator/podgrab/4.1.3/Chart.yaml create mode 100644 incubator/podgrab/4.1.3/README.md create mode 100644 incubator/podgrab/4.1.3/app-readme.md create mode 100644 incubator/podgrab/4.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/podgrab/4.1.3/ix_values.yaml create mode 100644 incubator/podgrab/4.1.3/questions.yaml create mode 100644 incubator/podgrab/4.1.3/templates/common.yaml create mode 100644 incubator/podgrab/4.1.3/test_values.yaml create mode 100644 incubator/podgrab/4.1.3/values.yaml create mode 100644 incubator/prowlarr/1.1.3/CONFIG.md create mode 100644 incubator/prowlarr/1.1.3/Chart.lock create mode 100644 incubator/prowlarr/1.1.3/Chart.yaml create mode 100644 incubator/prowlarr/1.1.3/README.md create mode 100644 incubator/prowlarr/1.1.3/app-readme.md create mode 100644 incubator/prowlarr/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/prowlarr/1.1.3/ix_values.yaml create mode 100644 incubator/prowlarr/1.1.3/questions.yaml create mode 100644 incubator/prowlarr/1.1.3/templates/common.yaml create mode 100644 incubator/prowlarr/1.1.3/test_values.yaml create mode 100644 incubator/prowlarr/1.1.3/values.yaml create mode 100644 incubator/qbittorrent/6.1.3/CONFIG.md create mode 100644 incubator/qbittorrent/6.1.3/Chart.lock create mode 100644 incubator/qbittorrent/6.1.3/Chart.yaml create mode 100644 incubator/qbittorrent/6.1.3/README.md create mode 100644 incubator/qbittorrent/6.1.3/app-readme.md create mode 100644 incubator/qbittorrent/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/qbittorrent/6.1.3/ix_values.yaml create mode 100644 incubator/qbittorrent/6.1.3/questions.yaml create mode 100644 incubator/qbittorrent/6.1.3/templates/_configmap.tpl create mode 100644 incubator/qbittorrent/6.1.3/templates/common.yaml create mode 100644 incubator/qbittorrent/6.1.3/test_values.yaml create mode 100644 incubator/qbittorrent/6.1.3/values.yaml create mode 100644 incubator/readarr/6.1.3/CONFIG.md create mode 100644 incubator/readarr/6.1.3/Chart.lock create mode 100644 incubator/readarr/6.1.3/Chart.yaml create mode 100644 incubator/readarr/6.1.3/README.md create mode 100644 incubator/readarr/6.1.3/app-readme.md create mode 100644 incubator/readarr/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/readarr/6.1.3/ix_values.yaml create mode 100644 incubator/readarr/6.1.3/questions.yaml create mode 100644 incubator/readarr/6.1.3/templates/common.yaml create mode 100644 incubator/readarr/6.1.3/test_values.yaml create mode 100644 incubator/readarr/6.1.3/values.yaml create mode 100644 incubator/reg/1.1.3/CONFIG.md create mode 100644 incubator/reg/1.1.3/Chart.lock create mode 100644 incubator/reg/1.1.3/Chart.yaml create mode 100644 incubator/reg/1.1.3/README.md create mode 100644 incubator/reg/1.1.3/app-readme.md create mode 100644 incubator/reg/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/reg/1.1.3/ci/ct-values.yaml create mode 100644 incubator/reg/1.1.3/ix_values.yaml create mode 100644 incubator/reg/1.1.3/questions.yaml create mode 100644 incubator/reg/1.1.3/templates/common.yaml create mode 100644 incubator/reg/1.1.3/test_values.yaml create mode 100644 incubator/reg/1.1.3/values.yaml create mode 100644 incubator/sabnzbd/6.1.3/CONFIG.md create mode 100644 incubator/sabnzbd/6.1.3/Chart.lock create mode 100644 incubator/sabnzbd/6.1.3/Chart.yaml create mode 100644 incubator/sabnzbd/6.1.3/README.md create mode 100644 incubator/sabnzbd/6.1.3/app-readme.md create mode 100644 incubator/sabnzbd/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/sabnzbd/6.1.3/ix_values.yaml create mode 100644 incubator/sabnzbd/6.1.3/questions.yaml create mode 100644 incubator/sabnzbd/6.1.3/templates/common.yaml create mode 100644 incubator/sabnzbd/6.1.3/test_values.yaml create mode 100644 incubator/sabnzbd/6.1.3/values.yaml create mode 100644 incubator/thelounge/1.1.3/CONFIG.md create mode 100644 incubator/thelounge/1.1.3/Chart.lock create mode 100644 incubator/thelounge/1.1.3/Chart.yaml create mode 100644 incubator/thelounge/1.1.3/README.md create mode 100644 incubator/thelounge/1.1.3/app-readme.md create mode 100644 incubator/thelounge/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/thelounge/1.1.3/ix_values.yaml create mode 100644 incubator/thelounge/1.1.3/questions.yaml create mode 100644 incubator/thelounge/1.1.3/templates/common.yaml create mode 100644 incubator/thelounge/1.1.3/test_values.yaml create mode 100644 incubator/thelounge/1.1.3/values.yaml create mode 100644 incubator/tvheadend/7.1.3/CONFIG.md create mode 100644 incubator/tvheadend/7.1.3/Chart.lock create mode 100644 incubator/tvheadend/7.1.3/Chart.yaml create mode 100644 incubator/tvheadend/7.1.3/README.md create mode 100644 incubator/tvheadend/7.1.3/app-readme.md create mode 100644 incubator/tvheadend/7.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/tvheadend/7.1.3/ix_values.yaml create mode 100644 incubator/tvheadend/7.1.3/questions.yaml create mode 100644 incubator/tvheadend/7.1.3/templates/common.yaml create mode 100644 incubator/tvheadend/7.1.3/test_values.yaml create mode 100644 incubator/tvheadend/7.1.3/values.yaml create mode 100644 incubator/unifi/6.1.3/CONFIG.md create mode 100644 incubator/unifi/6.1.3/Chart.lock create mode 100644 incubator/unifi/6.1.3/Chart.yaml create mode 100644 incubator/unifi/6.1.3/README.md create mode 100644 incubator/unifi/6.1.3/app-readme.md create mode 100644 incubator/unifi/6.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/unifi/6.1.3/ix_values.yaml create mode 100644 incubator/unifi/6.1.3/questions.yaml create mode 100644 incubator/unifi/6.1.3/templates/common.yaml create mode 100644 incubator/unifi/6.1.3/test_values.yaml create mode 100644 incubator/unifi/6.1.3/values.yaml create mode 100644 incubator/unpackerr/1.1.3/CONFIG.md create mode 100644 incubator/unpackerr/1.1.3/Chart.lock create mode 100644 incubator/unpackerr/1.1.3/Chart.yaml create mode 100644 incubator/unpackerr/1.1.3/README.md create mode 100644 incubator/unpackerr/1.1.3/app-readme.md create mode 100644 incubator/unpackerr/1.1.3/charts/common-6.3.4.tgz create mode 100644 incubator/unpackerr/1.1.3/ix_values.yaml create mode 100644 incubator/unpackerr/1.1.3/questions.yaml create mode 100644 incubator/unpackerr/1.1.3/templates/common.yaml create mode 100644 incubator/unpackerr/1.1.3/test_values.yaml create mode 100644 incubator/unpackerr/1.1.3/values.yaml create mode 100644 stable/collabora-online/6.1.3/CONFIG.md create mode 100644 stable/collabora-online/6.1.3/Chart.lock create mode 100644 stable/collabora-online/6.1.3/Chart.yaml create mode 100644 stable/collabora-online/6.1.3/README.md create mode 100644 stable/collabora-online/6.1.3/app-readme.md create mode 100644 stable/collabora-online/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/collabora-online/6.1.3/ix_values.yaml create mode 100644 stable/collabora-online/6.1.3/questions.yaml create mode 100644 stable/collabora-online/6.1.3/templates/common.yaml create mode 100644 stable/collabora-online/6.1.3/test_values.yaml create mode 100644 stable/collabora-online/6.1.3/values.yaml create mode 100644 stable/deepstack-cpu/4.1.3/CONFIG.md create mode 100644 stable/deepstack-cpu/4.1.3/Chart.lock create mode 100644 stable/deepstack-cpu/4.1.3/Chart.yaml create mode 100644 stable/deepstack-cpu/4.1.3/README.md create mode 100644 stable/deepstack-cpu/4.1.3/app-readme.md create mode 100644 stable/deepstack-cpu/4.1.3/charts/common-6.3.4.tgz create mode 100644 stable/deepstack-cpu/4.1.3/ix_values.yaml create mode 100644 stable/deepstack-cpu/4.1.3/questions.yaml create mode 100644 stable/deepstack-cpu/4.1.3/templates/common.yaml create mode 100644 stable/deepstack-cpu/4.1.3/test_values.yaml create mode 100644 stable/deepstack-cpu/4.1.3/values.yaml create mode 100644 stable/emby/6.1.3/CONFIG.md create mode 100644 stable/emby/6.1.3/Chart.lock create mode 100644 stable/emby/6.1.3/Chart.yaml create mode 100644 stable/emby/6.1.3/README.md create mode 100644 stable/emby/6.1.3/app-readme.md create mode 100644 stable/emby/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/emby/6.1.3/ix_values.yaml create mode 100644 stable/emby/6.1.3/questions.yaml create mode 100644 stable/emby/6.1.3/templates/common.yaml create mode 100644 stable/emby/6.1.3/test_values.yaml create mode 100644 stable/emby/6.1.3/values.yaml create mode 100644 stable/esphome/6.1.3/CONFIG.md create mode 100644 stable/esphome/6.1.3/Chart.lock create mode 100644 stable/esphome/6.1.3/Chart.yaml create mode 100644 stable/esphome/6.1.3/README.md create mode 100644 stable/esphome/6.1.3/app-readme.md create mode 100644 stable/esphome/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/esphome/6.1.3/ix_values.yaml create mode 100644 stable/esphome/6.1.3/questions.yaml create mode 100644 stable/esphome/6.1.3/templates/common.yaml create mode 100644 stable/esphome/6.1.3/test_values.yaml create mode 100644 stable/esphome/6.1.3/values.yaml create mode 100644 stable/handbrake/6.1.3/CONFIG.md create mode 100644 stable/handbrake/6.1.3/Chart.lock create mode 100644 stable/handbrake/6.1.3/Chart.yaml create mode 100644 stable/handbrake/6.1.3/README.md create mode 100644 stable/handbrake/6.1.3/app-readme.md create mode 100644 stable/handbrake/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/handbrake/6.1.3/ix_values.yaml create mode 100644 stable/handbrake/6.1.3/questions.yaml create mode 100644 stable/handbrake/6.1.3/templates/common.yaml create mode 100644 stable/handbrake/6.1.3/test_values.yaml create mode 100644 stable/handbrake/6.1.3/values.yaml create mode 100644 stable/home-assistant/6.1.3/CONFIG.md create mode 100644 stable/home-assistant/6.1.3/Chart.lock create mode 100644 stable/home-assistant/6.1.3/Chart.yaml create mode 100644 stable/home-assistant/6.1.3/README.md create mode 100644 stable/home-assistant/6.1.3/app-readme.md create mode 100644 stable/home-assistant/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/home-assistant/6.1.3/ix_values.yaml create mode 100644 stable/home-assistant/6.1.3/questions.yaml create mode 100644 stable/home-assistant/6.1.3/templates/common.yaml create mode 100644 stable/home-assistant/6.1.3/templates/secret.yaml create mode 100644 stable/home-assistant/6.1.3/test_values.yaml create mode 100644 stable/home-assistant/6.1.3/values.yaml create mode 100644 stable/jackett/6.1.3/CONFIG.md create mode 100644 stable/jackett/6.1.3/Chart.lock create mode 100644 stable/jackett/6.1.3/Chart.yaml create mode 100644 stable/jackett/6.1.3/README.md create mode 100644 stable/jackett/6.1.3/app-readme.md create mode 100644 stable/jackett/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/jackett/6.1.3/ix_values.yaml create mode 100644 stable/jackett/6.1.3/questions.yaml create mode 100644 stable/jackett/6.1.3/templates/common.yaml create mode 100644 stable/jackett/6.1.3/test_values.yaml create mode 100644 stable/jackett/6.1.3/values.yaml create mode 100644 stable/jellyfin/6.1.3/CONFIG.md create mode 100644 stable/jellyfin/6.1.3/Chart.lock create mode 100644 stable/jellyfin/6.1.3/Chart.yaml create mode 100644 stable/jellyfin/6.1.3/README.md create mode 100644 stable/jellyfin/6.1.3/app-readme.md create mode 100644 stable/jellyfin/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/jellyfin/6.1.3/ix_values.yaml create mode 100644 stable/jellyfin/6.1.3/questions.yaml create mode 100644 stable/jellyfin/6.1.3/templates/common.yaml create mode 100644 stable/jellyfin/6.1.3/test_values.yaml create mode 100644 stable/jellyfin/6.1.3/values.yaml create mode 100644 stable/kms/6.1.4/CONFIG.md create mode 100644 stable/kms/6.1.4/Chart.lock create mode 100644 stable/kms/6.1.4/Chart.yaml create mode 100644 stable/kms/6.1.4/README.md create mode 100644 stable/kms/6.1.4/app-readme.md create mode 100644 stable/kms/6.1.4/charts/common-6.3.4.tgz create mode 100644 stable/kms/6.1.4/ix_values.yaml create mode 100644 stable/kms/6.1.4/questions.yaml create mode 100644 stable/kms/6.1.4/templates/common.yaml create mode 100644 stable/kms/6.1.4/test_values.yaml create mode 100644 stable/kms/6.1.4/values.yaml create mode 100644 stable/lidarr/6.1.3/CONFIG.md create mode 100644 stable/lidarr/6.1.3/Chart.lock create mode 100644 stable/lidarr/6.1.3/Chart.yaml create mode 100644 stable/lidarr/6.1.3/README.md create mode 100644 stable/lidarr/6.1.3/app-readme.md create mode 100644 stable/lidarr/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/lidarr/6.1.3/ix_values.yaml create mode 100644 stable/lidarr/6.1.3/questions.yaml create mode 100644 stable/lidarr/6.1.3/templates/common.yaml create mode 100644 stable/lidarr/6.1.3/test_values.yaml create mode 100644 stable/lidarr/6.1.3/values.yaml create mode 100644 stable/ombi/6.1.3/CONFIG.md create mode 100644 stable/ombi/6.1.3/Chart.lock create mode 100644 stable/ombi/6.1.3/Chart.yaml create mode 100644 stable/ombi/6.1.3/README.md create mode 100644 stable/ombi/6.1.3/app-readme.md create mode 100644 stable/ombi/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/ombi/6.1.3/ix_values.yaml create mode 100644 stable/ombi/6.1.3/questions.yaml create mode 100644 stable/ombi/6.1.3/templates/common.yaml create mode 100644 stable/ombi/6.1.3/test_values.yaml create mode 100644 stable/ombi/6.1.3/values.yaml create mode 100644 stable/plex/5.1.4/CONFIG.md create mode 100644 stable/plex/5.1.4/Chart.lock create mode 100644 stable/plex/5.1.4/Chart.yaml create mode 100644 stable/plex/5.1.4/README.md create mode 100644 stable/plex/5.1.4/app-readme.md create mode 100644 stable/plex/5.1.4/charts/common-6.3.4.tgz create mode 100644 stable/plex/5.1.4/ix_values.yaml create mode 100644 stable/plex/5.1.4/questions.yaml create mode 100644 stable/plex/5.1.4/templates/common.yaml create mode 100644 stable/plex/5.1.4/test_values.yaml create mode 100644 stable/plex/5.1.4/values.yaml create mode 100644 stable/radarr/6.1.3/CONFIG.md create mode 100644 stable/radarr/6.1.3/Chart.lock create mode 100644 stable/radarr/6.1.3/Chart.yaml create mode 100644 stable/radarr/6.1.3/README.md create mode 100644 stable/radarr/6.1.3/app-readme.md create mode 100644 stable/radarr/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/radarr/6.1.3/ix_values.yaml create mode 100644 stable/radarr/6.1.3/questions.yaml create mode 100644 stable/radarr/6.1.3/templates/common.yaml create mode 100644 stable/radarr/6.1.3/test_values.yaml create mode 100644 stable/radarr/6.1.3/values.yaml create mode 100644 stable/sonarr/6.1.3/CONFIG.md create mode 100644 stable/sonarr/6.1.3/Chart.lock create mode 100644 stable/sonarr/6.1.3/Chart.yaml create mode 100644 stable/sonarr/6.1.3/README.md create mode 100644 stable/sonarr/6.1.3/app-readme.md create mode 100644 stable/sonarr/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/sonarr/6.1.3/ix_values.yaml create mode 100644 stable/sonarr/6.1.3/questions.yaml create mode 100644 stable/sonarr/6.1.3/templates/common.yaml create mode 100644 stable/sonarr/6.1.3/test_values.yaml create mode 100644 stable/sonarr/6.1.3/values.yaml create mode 100644 stable/syncthing/6.1.3/CONFIG.md create mode 100644 stable/syncthing/6.1.3/Chart.lock create mode 100644 stable/syncthing/6.1.3/Chart.yaml create mode 100644 stable/syncthing/6.1.3/README.md create mode 100644 stable/syncthing/6.1.3/app-readme.md create mode 100644 stable/syncthing/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/syncthing/6.1.3/ix_values.yaml create mode 100644 stable/syncthing/6.1.3/questions.yaml create mode 100644 stable/syncthing/6.1.3/templates/common.yaml create mode 100644 stable/syncthing/6.1.3/test_values.yaml create mode 100644 stable/syncthing/6.1.3/values.yaml create mode 100644 stable/tautulli/6.1.3/CONFIG.md create mode 100644 stable/tautulli/6.1.3/Chart.lock create mode 100644 stable/tautulli/6.1.3/Chart.yaml create mode 100644 stable/tautulli/6.1.3/README.md create mode 100644 stable/tautulli/6.1.3/app-readme.md create mode 100644 stable/tautulli/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/tautulli/6.1.3/ix_values.yaml create mode 100644 stable/tautulli/6.1.3/questions.yaml create mode 100644 stable/tautulli/6.1.3/templates/common.yaml create mode 100644 stable/tautulli/6.1.3/test_values.yaml create mode 100644 stable/tautulli/6.1.3/values.yaml create mode 100644 stable/traefik/6.1.3/CONFIG.md create mode 100644 stable/traefik/6.1.3/Chart.lock create mode 100644 stable/traefik/6.1.3/Chart.yaml create mode 100644 stable/traefik/6.1.3/LICENSE create mode 100644 stable/traefik/6.1.3/README.md create mode 100644 stable/traefik/6.1.3/app-readme.md create mode 100644 stable/traefik/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/traefik/6.1.3/crds/ingressroute.yaml create mode 100644 stable/traefik/6.1.3/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/6.1.3/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/6.1.3/crds/middlewares.yaml create mode 100644 stable/traefik/6.1.3/crds/serverstransports.yaml create mode 100644 stable/traefik/6.1.3/crds/tlsoptions.yaml create mode 100644 stable/traefik/6.1.3/crds/tlsstores.yaml create mode 100644 stable/traefik/6.1.3/crds/traefikservices.yaml create mode 100644 stable/traefik/6.1.3/ix_values.yaml create mode 100644 stable/traefik/6.1.3/questions.yaml create mode 100644 stable/traefik/6.1.3/templates/_helpers.tpl create mode 100644 stable/traefik/6.1.3/templates/_podtemplate.tpl create mode 100644 stable/traefik/6.1.3/templates/custom/common.yaml create mode 100644 stable/traefik/6.1.3/templates/custom/portal.yaml create mode 100644 stable/traefik/6.1.3/templates/daemonset.yaml create mode 100644 stable/traefik/6.1.3/templates/dashboard-hook-ingressroute.yaml create mode 100644 stable/traefik/6.1.3/templates/deployment.yaml create mode 100644 stable/traefik/6.1.3/templates/gateway.yaml create mode 100644 stable/traefik/6.1.3/templates/gatewayclass.yaml create mode 100644 stable/traefik/6.1.3/templates/hpa.yaml create mode 100644 stable/traefik/6.1.3/templates/ingressclass.yaml create mode 100644 stable/traefik/6.1.3/templates/poddisruptionbudget.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/clusterrole.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/clusterrolebinding.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/podsecuritypolicy.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/role.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/rolebinding.yaml create mode 100644 stable/traefik/6.1.3/templates/rbac/serviceaccount.yaml create mode 100644 stable/traefik/6.1.3/templates/service.yaml create mode 100644 stable/traefik/6.1.3/templates/tlsoption.yaml create mode 100644 stable/traefik/6.1.3/test_values.yaml create mode 100644 stable/traefik/6.1.3/values.yaml create mode 100644 stable/transmission/6.1.3/CONFIG.md create mode 100644 stable/transmission/6.1.3/Chart.lock create mode 100644 stable/transmission/6.1.3/Chart.yaml create mode 100644 stable/transmission/6.1.3/README.md create mode 100644 stable/transmission/6.1.3/app-readme.md create mode 100644 stable/transmission/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/transmission/6.1.3/ix_values.yaml create mode 100644 stable/transmission/6.1.3/questions.yaml create mode 100644 stable/transmission/6.1.3/templates/common.yaml create mode 100644 stable/transmission/6.1.3/test_values.yaml create mode 100644 stable/transmission/6.1.3/values.yaml create mode 100644 stable/truecommand/6.1.3/CONFIG.md create mode 100644 stable/truecommand/6.1.3/Chart.lock create mode 100644 stable/truecommand/6.1.3/Chart.yaml create mode 100644 stable/truecommand/6.1.3/README.md create mode 100644 stable/truecommand/6.1.3/app-readme.md create mode 100644 stable/truecommand/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/truecommand/6.1.3/ix_values.yaml create mode 100644 stable/truecommand/6.1.3/questions.yaml create mode 100644 stable/truecommand/6.1.3/templates/common.yaml create mode 100644 stable/truecommand/6.1.3/test_values.yaml create mode 100644 stable/truecommand/6.1.3/values.yaml create mode 100644 stable/vaultwarden/3.1.3/CONFIG.md create mode 100644 stable/vaultwarden/3.1.3/Chart.lock create mode 100644 stable/vaultwarden/3.1.3/Chart.yaml create mode 100644 stable/vaultwarden/3.1.3/README.md create mode 100644 stable/vaultwarden/3.1.3/app-readme.md create mode 100644 stable/vaultwarden/3.1.3/charts/common-6.3.4.tgz create mode 100644 stable/vaultwarden/3.1.3/charts/postgresql-10.4.9.tgz create mode 100644 stable/vaultwarden/3.1.3/ix_values.yaml create mode 100644 stable/vaultwarden/3.1.3/questions.yaml create mode 100644 stable/vaultwarden/3.1.3/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.1.3/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.1.3/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.1.3/templates/common.yaml create mode 100644 stable/vaultwarden/3.1.3/test_values.yaml create mode 100644 stable/vaultwarden/3.1.3/values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/CONFIG.md create mode 100644 stable/zwavejs2mqtt/6.1.3/Chart.lock create mode 100644 stable/zwavejs2mqtt/6.1.3/Chart.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/README.md create mode 100644 stable/zwavejs2mqtt/6.1.3/app-readme.md create mode 100644 stable/zwavejs2mqtt/6.1.3/charts/common-6.3.4.tgz create mode 100644 stable/zwavejs2mqtt/6.1.3/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/questions.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/test_values.yaml create mode 100644 stable/zwavejs2mqtt/6.1.3/values.yaml diff --git a/deprecated/nzbhydra/6.1.3/CONFIG.md b/deprecated/nzbhydra/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/deprecated/nzbhydra/6.1.3/Chart.lock b/deprecated/nzbhydra/6.1.3/Chart.lock new file mode 100644 index 00000000000..e43d7f68593 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:32.747781235Z" diff --git a/deprecated/nzbhydra/6.1.3/Chart.yaml b/deprecated/nzbhydra/6.1.3/Chart.yaml new file mode 100644 index 00000000000..6af60859e88 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: true +description: Usenet meta search +home: https://github.com/truecharts/apps/tree/master/charts/incubator/nzbhydra +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png +keywords: +- nzbhydra +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: [] +name: nzbhydra +sources: +- https://github.com/theotherp/nzbhydra2 +type: application +version: 6.1.3 diff --git a/deprecated/nzbhydra/6.1.3/README.md b/deprecated/nzbhydra/6.1.3/README.md new file mode 100644 index 00000000000..c2333961dd9 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Usenet meta search + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `nzbhydra` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbhydra` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/deprecated/nzbhydra/6.1.3/app-readme.md b/deprecated/nzbhydra/6.1.3/app-readme.md new file mode 100644 index 00000000000..2012c83a622 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Usenet meta search +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/deprecated/nzbhydra/6.1.3/charts/common-6.3.4.tgz b/deprecated/nzbhydra/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 zcmV)-K!?8{iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHcic9TI1JCfzy1^$+Sy3{soAZooqkvIu10ba@7RitB`42r zCdYzEv>FkcWJs`OMfUUApMxs_5FpvQ*-6Bc|4ryuPuuGyWSG-vcd;rz#07 z{x-ffF1vAmkO$`YM^uzJODABlF@Sllex_N91~Dq50_TLi`L;?U`WHy>SpkbHFwF{Z zQdEcypK>tE=4b+DgyiL9G&;v*R-J`WHXo6qLJ=!7f_Yw!NP*C34oiZHk$BGs;s8e! zkpux3kieo0IjE{cMUqb(s}$IT;K=jchQKln&X8!4L>E z7u6Y34gLBbyX)clPBtaXtVbg|xjI0|2Os zWCE;$3d+T=D2e~8jAmIyP&!P|*%?mH!!%K_ekf85%k^)*+4R8T#Y8K}RgNaIiGzh~ z&rY}*ZVmeNznK3Em{h2|Cjrnt|2KD@?`+!h|M}+TIU@{p1@B|Ep;204A zQ;;oCQQ#P{2~K7ROpcWR7L=Ym$*$%o zC2JstXr84dA|NY3NgzSfDk%{e0KlhMUD#w)ni0rBW+_8n7aVDDMhd|I=(Q%``jZYY zfoCXL1{SZNgE_3`XQ-eZ6{8XtCsYkr7&(Fc zkRG4}5!3`xgXh2w7%M0kfX~ycpkoD>^qZugj-^5eL0@RiuX$`?n!^vEO5pvjI& zd;b14eLVr2g8`ny^LoOvUv!9MC8p*0co9FWQUubakHB;5eO@IA$g>1Tv^xED#C}W$ z16E4Tbur}TbC|{}<*E`fqHEb`Wb5xh6q>5^PhLl!&ppI7ehc8C{PtA$sRHeXAxlc*5rO9DXq0jmHYg{?WU41Sj}+*3ctV zL?|V66wrb%>T++;JS(nRiw;UuEO3POqA06UQVaeZMR@+AgUiPLjqO#}qZ^8^y4bh;oAqvT!51r$Y^XL&_S zF$P5iBH$8}8G|H5;Z;_FlJWB@96SO4L;zkwCgLCy+a=P4CM6uDQE`=1vd*sLj9BAM zVJxQ|f~HhVQlUVl+7rgt^y(~&uQ&lPicncfK5J?rnBoM515T`3agO$mkAM2%?ZE`h zuZB4+OR9y7=DvYA1t?wMB1@TQT)+a;@m+@CL@-H?c-q3_tCYYGa*>`4o`AhoaPq$s z@a|-vGGLWsJD7m4udhM)79|LlC_JQ0|McnW!4t5riVU6r_Mmj}ZIR8@ZvetD9H4Z; zTJVG_27)Hue8EvV1g1qcSDjg|0rUaRbIP+P;3vi@P;d(5_@ZjUJX_*T_xjz-2?!j`;{5OIXBU@8}h+e2kDXv#2#xq==w0#Mvm$qH;uFc~OpV`YVdaFopyUVb0_V?VOR; zt3%nVL-ZlfN;J%~cu38qV$RFbR{lsyV;v#edicY^%lC(SZ(efQ0l*ZaBz}vg^0#<% z1j%f|=0TWdF``@;3}mm0g@H=_DL#J#b5@_%mWC4jGMvMF$fPDM&4+NKD1WVr4Z(g@ zl57t00%rv#S0GAY$yb~hPp7D$Lz++-!3Ou)6_+p348;|d`LfJ-U1IMS1l^b!+|1{aZj%< zwG}3XU;+*fk0oEqH8Gy5LQ4HK&PXXl7MQ~;P@pnP76_zel4TcF4sco0S(&Av%;pIE zOHDNjwaQCI%RU3kWfB0o2&B(Yj8KM5NisIwCm>jt%gak9N=HJuVC0E~iV~Mi-LjYs zXt64mR1E+8bAhJ6{Ib#_9HK0ZP)^E`tT#+KgK>IJKc-Y@X!4>Qih`pje0{;``H;+z ze7!p0%fK=J`5LDer7-TqR1|FItvW_g#b)GwmJ;-VC@t`at7r1N_^jz^J>ksh%2lh9 zWlwkso}%a~N{|nbDxfQwd_vMy7*GRwUzRQbU9Lm$KXmaGs|TPmcs(U z7_+}h0t-^*!#$rErw37aFBmVlZaumljy;Rigg=9H-IXPe{Q_3be=#b{mD$&^S?<=~8aE-+zZ zwsep8ZSSz&89P-r*|m!AY^#myLxU$^uhy1S$q1%YKZ0@09W7KDVzye0+2$xLuD}Jl z0wtc~1Qt?#`kLy3UrR8dS2+;{Cd`?K)5a_+0W&~L{f2(kTV%{!?Q_>Gpc$!{Ml`Rb zjcQu%=0lq5@!F8?5+Mwklp*!t?i}E>o+{}W;T@x#@uFjhYjAEj$~niqL)m*_>?YTr)&KG$Mlbr{i9RnH938EaCE9y z=c^t4B-XtgUZwzoll`OGZ=S~B9FcnF;gq0)4yAW*U$d`lp4N^Bt@WJX34?AmNtvki z#AJIBtf|(z&%JNPEM~3d4%-<5n&*Li3C-R;twEpC9xKJBMJ!fMts9h#!KvCQWtOPE zoZ_@32*x0rYItbr)10ATy%EwL7T$Ntp;$~k>ANp^*XiPnt>887HP!Zbkj!IJGKZaDEX|^ZxiqUyu2!ifs@`^O7GQi*OJceAwOKK@ZE?Q4l~xX7bI?j6 zm?wV%(sP`C@DwFUIfN10zM~Bf?q%(k%7~zg?G*Ik-xKhb121)dGK*sSh855Osy%{$ zwO6*}i8bM7SxM^2rVm{9MK0AtLHhSuNhk*xQQ&)&)O%%e8gdU}EmA0)37^J8u{9MY zSp<_>=-5P28>%LX0;rc0`l(hRYRZlvnT4PqNkG|YBjX)66In<}OqU-jp|y}f@Q+=v z9`OS;tXkwtqTFEX~f49(u*{Xr7$L*}T|J{=#v#;6$*VgGT8 z_%^-TM`vmP1mC@TRa?j>MTHLcj=}N%-s_hjLIuH7sv$_H0PUX$CTJfO#BfBI!~cmK zX|6$RuVOhJDEevM1wS;yYdSxzz;YyeYTtk5=~1hEYpoC@kGoOxEIgf4CGj{gZ_ z#MWMGQ6y;IvLN!$+B&FFYps7j|1#hhXe%@?|FSK;FXAlhT@>D$x(;1}`^mnh-~5_{ zMvvNt5PP2uS`Eh=i^3?wR{tBX&_g@XG0{f1t0^qZ&aS4+XIF@2zKGTUn&;%|02ga) zB2nQ?>EIqK&G60_k%nuU6_E-Q%ULks(U1E;1U}J1Kj9={Vj0FU+t`v3s)f))SUCpg zP(|S=_&+gKiDY~tasOMERC6R1eRJbZuDbg6^y%n7DLL=6>3cFm?|JoqoUVzYV#}D8 z{CfDcnBJw1>8v7VckuUbC`BA0BaR0^fG0p~erX*d)P6kG!PenbtU8LBvw2AMJr0%r z{2@)Q8g9`gH9C&3U70%; zl$p4c9E%;*n0Ori@3+UNYlaI|fk1^iuuv}sqFqgRWj04-#sVdh5^<2{c!5$-@>cOi zHS1R?GY(Mm~CJGglT_1JNwYRD7AEH5{i7gX?)ieW(j( z@g?NJZUw4X&;&pqaLGn!lt4URt2a6q(1^g%t+LT_;$Td!BN4{-utxFFh+}x{+G1r zstAr|d{0pXnbR`OWjs{2xEL`pTC^%OLUi_2XVexX<>9GBbL!GV=2r(g>SH}#QC6g8 zFjdW{9FJxwx{&*Kq_`4lkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUiglZ(6 zUCq%YA~Nf-L0XMDlk+8Aq}c(c-prARyM#>aJ0}rZEwiMkpNcMlkhC#@v@GZkm%8LjqY;slFbmm%1hq7^+0TzSqlt z4Ur1(DsRBlUMua4%+N9adkJhC44bX`Ml%HSp?EiBK3>7b)5T|6> za918vjnnfXT5vbO2$m&2Pg$HIT{}ll=)W9SR;&)_uVe8`i~8ilxCC&@wvnzhnm|z{ zH;BaTLz=`kglRm4DZxYeW_2L{a)hQ5Mi$8uv87ku0c{K>qoam9S{-OeG)K<6lCO$; z35F$7hk=9uKq)COe>*}X8gYN)5X@noQyKT_NII%{AsO9%C(+I@j)#JPA;}o85s8M3 zh9RBK?9U)&jI>pL&P^>BSW=A&Iv$|J#tAdoJ{D4PfJ-R0$F zXuKa73S@!GtSTZTHTn{a`0>Ef6Q&#vWEFL?^a=P0fvT)vl3alTMcI6g(wO;Qv_Pyn zbWT)f?q8CD1i^*a;$ksBbg)M_t4a<#nq^pX%vB{SLLMswlQIK1rSgvL@6D)CE4k~g z1Vxonok>lqUcABVo$T3uHH`D$;{3ll=QMf`lO!bhU8Vu($p5ji zy=~|J*jnFtJpcb7&-L}_*+87sBgIvoQBhwz>geE5**@5`3&AVG4+#_~jZwjj?TY@D zaLrzhBya|)h9ghTa@U7E=p7E8jXr%ETwf1)Bn1KiM;5{)3Bd3Z6+86n=oxr}igOWC zpG7bcj(Zv7lEylz{97y);b$Wa6i%b0ifc@Q5_SwH03rCqwq^y=e^!{EnA9573N2qm zCJ;OY;g1r9ep)sZ>KljUhGy0ffO%0Wc!y3jn%*c(4WOf#0`!}!EY&eVP#-T2WGy#o zdchEU1Sw8qDjdf(GUhSuL@4tZbm6PZ-3FbeLkFN8qfxXKrvYXPaROHI0;gmOg2Rje zD3Tl4#H@T(t_D6*SM^Slo!#vD2GvaAMP)e4p@V979Wl&$mlylIw7j!|HR{=ZY(2~! z=xGTTG^_RA_J(;@5SVxg^3>v12`c8eEUB*PBf-mL^npjcy-EoxrgSlPlAt%@b4z;n z(_H`6e7iF(plki#*cn^v|Muq2&g1(35D#1bnXav3WvEaVVm0nm>O0b`LB%4Ro(29iA z4oxx`JIQP#QV*=t=20ieNdA37JyL&^pda>fi%@NpzJii?1o~! zFuDDxj6N!(e<5YGssG8d9Cx<|)TRGztUtH)zwyr2qyG0057qy`Teg$K^}Sc(M4(jd z?&1AU1Yzz7zQ}#mU$Dz$Vn-8@nq7OwSQ`O3SZ-r}C8IWLJp;`O4hj zkR{dr$Iy^k@-v4)!70$fug*)3p7CsU^)`}o$xJh1feiIPc%eS9pz0NmCp{F$D+BO! zbycHQ(EFa!NJ+6M4|F_%z%gt{XroaEI1v26`j^8Cz)FlG0s_^2Ccae*w$CeGR|h6$ zvpY$m^?=Pm(v#E>Df>zZ2ddap&fGvM43`rNb>B3I;G-fmAnMyvjs4iC1uCg6GT8+|(1-RW zPK$abYi6+g7rLq|29kxVb?anjSgjKT?OI}@vnAr(tE{irt6^TCtJ2Ygk6?<6k~n~y z0EXIF`*JtQ{=`pH|H~KA1IPbtKDY1x*xDFB>VFUNF#n&f{~gt*d_-h53m$IQ2mM|> z78aw;`y3SqRH#egZp%k%X?>sqlAyUR+3hpNhBRVw%~<#oT$15eba53R!AC%{W5N>m zu7cHu-bm1#DFx z*EPDXiMOx4!8vP0-Pqbqi(>n^Mei5!G}nJ_NZh3g(6RoHx5qp7`oHsh`*Hn$h)3-I zv1I6l3h4nP(=KT7ukO<5bnMrutvU|)^K8@c-I5=2_*;br4VSVAQ2g|1P_jkxK#=G0 zDsNcw<4++2)=dcyPvQA)Xt=|7zDa-)R7_aqO})0$8KsPZ$E+2KWvI(ia-VYXqO(CX`oRC4O(A zy!u?|5zAXKbjM3X^!5wS?F#t~)$QS}0lW1b*mU%MScPb7R`zL@!n@NnT{7jC{o&Vcd-+BJ%|9_CDRsV;U z_CHfY0_0f?pc)i@JD^ettoxb)Mjn%)uHeaqK;p&edBdN|w8~iy4@H1Xw_0G-OykqaF|b;4RFF4+gbWn9tsoLa9=RWI`=S9z^j zX|%gKigOlxRBFD?YX)GB)3+`QLWiQ2(Lk*W0PsUMfVzwZU{e45+jjP#%ekxc=)_%=8Ad4%qcoa^I2$e2 z1F>8m@+_}=gurMvM=3c_cRo6nZ2VzJSMBgEN)RkjDAqOhl7~%dtFgGE2Yk)GvX*@M z^tCIv=)T32fBxUyIna*zzrDV`W$*uOuRnjB{}1sjHUD9fG|q?Kh3CIuqolP)lI9RY|hQ({7T ztVq4f?`)@Bj-7khiPDc$C`LxN-4+f;55-lq5<9za$HDFy zA$i?_jSFXMEFr(AR_iA--jqezS@D;uOfICKE)AJHbDjKVJT)T>oe1mQR1rTY1*L-u zoer&DgB(NHI*7B}^_0*2Ze7V|b_tJjSnDHM&3fy5eY@`Ub-h>2Z`utwaCYmE18jpb z!0(qzWBbzFE+V}5`06s(icK~e!LHM_-vV*nJg?5!+o-E;owzAF?8YxXuv^!=P}wZ& z5vKdOb=k*f`Nwbn**UUrZU}bSf7?6jw*P1AG5+geo*Tq}*#iUonw{0xMpo%ST=m8? z1&P}nnNrwc0XovMJNJL|lemWU^J{i?!+oEsoR3`@XCJ0;ok`%g-Fc2&Hx4^96MC^gFCaCvCF`(;)kJahowvh(O4_{*V*?vHOvN)uqFEgS`QO=@+w4>NeK~{` z$%eT;r_?mLtv%SV_JSEo=3zM-&9dwwn1H-MLoxr?=-*X-UceYN%MLFQKA(|b0)pZC zIB*n*SsdRm&k`J61rxwtmQ@rX6r*^J{hUIapm>dopCNn2oKiSTm3`S3|D^{76^O12 ztQ!gCh91Ct!5XtEh@YTqcsp{)A>V)RY!REa`8*W2 z89EehdCj2&=q>3nQyQ(TyukjHC_ z$&0my@*XSQ0At^z_owkezkTi=Hjlo5ts}M9#!bx_eQ4}3uCSBI_FHiZTdg|RYVCCH~tZy#yua!1g>RCo4@eLP#&9_~! z!jF^lLaW@7?S|96%LxI_Qn+}N=5 z|8DPWKIZ>@kZ0-mzdAqgkM()Xdx-{Ase`ZGv3&OKz;&NszH4_VpLa{C5zJ@W^@fT6 zG+#u^?LS@LN$lTsoh*r+6L*yihQX@YGD&PROi+GlMQJmkZjG!q%?cisVB~*RSlz{H zXmpw9%er&O*&2X5{7s_M`IHq3cX@&HDivE4ONO;+Ej7UiCae7mc^0PLytqIp_w59= z2iSE*)U}02)jK^)?eoZ8k;WnE<&Q_JlgOf5>QSv#G87=|WVC%I`ZlMb8#FY}L)+cl zI1Jr=47yp+v$wX#iPHivKZnX^;BRVi`d2R`TZ1hZ5euT7)cP6o{MARL z1Fd&lPWVObzq!5ho&T}A3VI|I^k{%O8*Ur$Vl97WhOg^ush3&b+m1cBFZ*R4*cFct z)98v-&i83Rb}i+W}S|SB005pEFklo81w~PrSVPY3L$Wq3dgu#x=D%=!de9*i@X=rv;S7-Q|Q6d(YwKrwwc}2Uemj=6>721JvU$hf6 z|K#I}8%`gVcxSFUR(({O1LW1wvgfoK&CaW{1edeJjJ!oKzS@gpaRnTAZhO8O+-(P8 zAZP2v#F^1roue^UAcJK3%G}!=TCVv}KM}!`O_--8!uqA2%f!AWNnvwsJsJC8ts7vT zoiFFtll>!YSFGNtIN3iMxHe0zy^PL%vNi|?j=Dm<3Oo3-Qs*_4qE>A$irbOoN|5V2 zimR)tk@A(+gyz0uiz(~LRp{3WT9fc?fj{7Jm`?leJy+3gV+D5Df9spu_WjS#pFhU` zJj~PQW(6h_nf(XO@dBlm4cObRv$g%^%?n3NW_Mk?ASHchNP7Fm1w+_(UAMpyFMZbn z*A>TLB|)hPt2Lu6U&ff#ED5CSl_u%GgRjbe2Y(OLiA(OMw8hp^_dTf9(P(hnO%JSw ze$9heB0lpS51jDF3m)$1X~_QspN%3^kkNbkFTcDiyn^#vH~~B4|HgQ8!+mH9Z zJ;>vd+WK|ky0=T6(eLf-Qt_dN>#e@&+}yyFemq}c<{vw*rtHACAu2T5T-U!#hnOnl zLlM>(>Wl~8!g~G#mu1?IIFquQVKsb|3jg)e_s)mrWllHZZNLcRji_7WNEzYssS4MZ z^M-r4fH>iKRGxxW5Rjr0uHqZrJ^0j4PH~gKFz$RXoopm2RlpcY$}kcJin~?J_>KOB zu6V1oQ-~kI+0GV9BXiS?LcBm%Z4e8*fCTjgdHu&YsPOpQ%hR#`-$nYj&iJqOZTtSm zosG@M{BIBPNc*qAXo1*~xDh{(ho^uJ06fJJBrJ>~63G-%>^JxEI29Du4>{q7owY^oU+9Y886`c0ofOr`)aIz(()W3RN|X`> zv6i9oL?gHU^j|JfTVHU)b63CxYiBrjMtWuFOHQU(5R!sOs)T}HLT`n7pM4I zw>+z~HS&w&)eTv*#8g&O6yOx#5Bv4kvXyW3hmYmJLP-B~> zy{vZ58@-j&BAbH+EHG;()%sdn*3qJ;f+RLLZccb@H?d+a^y>RY4@iq))? zV~$l1bxt;AnkXbD5uJN2!tGI~{E{EH{x^eE0n|49@6-Q3-r3l;{XaYFkNLkJ`x2StQZow4Up!@QfPP5z6Rms@)PyX614>Hpi_ zc#QvlkVn`5M7;8Hs-N5%p_5OZcw^(I?FKRWT_myh?zT8$t#mOH?o%M)UY<+&{^`>I z=D8K|ywI}jH>>!LBQ@d7VG7StJUrt&FY1KVah+?qDQ1sF3vR>N1{;P>`Z}(?*6yoo z)@275(+HU@lN)1?()G{$w8?)ybngB9*VfjC9sjqp`F#8+{~zLEa_Z%W9Hwz2{*Nbc z_K7E5uxQ}|=Sg-3lSBQWksX<)g?flfGy-1Bit2EH+65~r=GyUDnhpGuaolOu8!J{@ zC2Vl4%BR$y{OU%>};|>@m$7{34!-!Bb2Z ziaci>5)OVs96BpcC=S{=B{)M7tV#sRY>t=#$E7;&#wkWg%)<;5JjVpZ)UG2lT!NLe zE7rvahsU%mPS08P+tqOJY6=Rz0&pNA+ifXE1AB)FxWq|9O~k6Cbd~@z;sv$sL#7TA z(uU2_xA5>T__j*!a;!DLHOE_{h&AS9>$=AsKL#MH+x5Ko46?0M);9!Zxc9YqP}TP$ zFxF5FtO!s+iMvb#fmumQSN&Dv_s}PGJmn;#t?Ot> zY1BEiX0PV9H4BFPP_WT^D(!k_2;r&^YHB7GX$)O;KvMh>^abQ~m}uUmyvTA?Bv&AU zbWq4aBG*iHIWjw#)-^z^tCVd=iX^)(Clc|+C{MDhx!Q`gTtNqo&)4ShMn7PP=2==I z4_x;37%dI9B#@wKl`z0A$j7393-+)jl%4HqQo z_&xi7#yd^@e|zWA|MMUZlWuQNan9F?B#U4oRyYv{AuR)u%z=Lsg4OT5P={Gbm3x*7 z0npHA1l;;=y;ua`wAQLhR5+@vWOGbvy^q(l(_qbM+vB?SyebLf2i1`-3rvtrm5$B; zr6Pku5Y$1|k{Sck7bAb%^Ir+e(R+2<#r@s?^t^fh)8^*m{@;T<*Zf9@lNkbYh|~IV z6KRRXKqYfgn$5G38nE_8QN7GkaQhOPh|>ohZc6?92%8_`z7*q1n+a2$-d?i~f#<8H1DL%(s**%Ym|)h))ko{3y)K=gJXLI5=puyQ1y18vB~^$D zoSv(8ifn43@2GW0s*Sd@%?%o1aW3=P73bw$PhP9KcEQsN>x1g>rwj9oHl;C(Q@5}5(Y-MBy(q5ciG*MY?Y3+R<}g=@6#>-zjWRyj z>Jf9u>Rre?D~`ZF+nNyV+YDUS8?bB|4sNd6&>V}vQ)BWum}y9=HtOnWDLUPP zeBJLN1(*92r3)tAw1uQVLcoY`6EnxEUDKeV_j2ZNfYpfUIOo6LqG>HomsNr~IblcJ z)JhmjG{Da-k^;}Q=4@DNV>4!_hN558Rs$1br+JIp^|i*d@CHN|*%|7fdh~1nxZTRH zDLpAFbhvj6SQ=Guj#5-Wf@1L9(K~?CX~r8#OUjN?sb$&h8vuDv*|kU?AU?`u6am{p zp%$Han3W=^69KWJ`n3i%pk2TWK>byd6jsqldaF9oT8={KcUTrwEeDC z8{cRQ^5zyri;Q*cXM`SW!Ew(mL)YIZX%g!~Q{apNl*y!NxyH+hW{7o|Qqc^>Re}l$ z%XrZr&MYg*ArH-@CA6Q*!H^1`{JXWbwxGsoS)1JIhhdx>MNA#e(+Ula$SC~Mw-P)1sZ<(G|+$F9y-)gUdq3350zvID(Y0S+Rr6n|0VbA?(*rO|J^zZL|6Rx z^Q}hyzwM33_`e5vm?gz?swss}#<>^@Uk`PUnVMRNRxY#oF{jbc@(a2Wy6g6|J9VEY z6QG#_5H$1r@oaY7tbXdg)}O=RJAiw6PQ{9N$7>Il^;7WB5%hu99u+8!QNcG^g%6Db zSFDvu3wb+4rdzGetT9hjT3ee>=KhN2e$%|GdiL6thO@u^s9CUPz{L+$!FPa55NG__ z>W?I{8 zGXt+L`K~wbt|#TLoebA>_8G}`9R!)f$5BlKYOH*>J$TV|k@tgFsWZ$NKVCV*#H& zvEgD~gvMb;RY|hB9puZul{t!B`xzU)y*P7Q(CTEPYaKg60x1gw95#0@YQFAzi(WTl zmQ4hXyE%rgJtqrUXSK$*iM{D;k)qwHED<$Q#hYIOu-YJ1jDQ&-`FDs+0#_H=rKMKD zudtOD(w?DE++^F>I`ILJ7m?H;PWY`e9tfVk5p5t*ew;-Y?X7ULw9zuAYzVTno}_sfD(9hjG`=!OM_K(UWAT9pq+FHo~mb6flg)xDrZ>|H(}c)dIBbRjq6^7nw>CgWOlB}xtG3Gk z{RVZ^lKq_A@`a}kly%TW5!8L7m+cp2LKx(rwD)5+aa{@-W* zr{@0u#(2E>xc~nk53~Qf<$o_fSmM*hx?__10ha`)=louLW3IDITbJ;v1bKm`r~ohpW^p{__o?ENd96i6 zQiIIhHk2J_Zb#3+4`halOI#wr$zX@V5xW_i$uU z**?AE#kbnD>r;DQpE!+y%L6RWun zAJkS~PS)Bbs~~^!PRiwKUk6evJ(BH|P<_P!sy?^!MV6}Xw$v`YYzYx8^y1(5c^uKV1k~uz4vjW{cjt>2AyuE4f z|7`5+Jm&v>kmm_Ff`p(VEvXv7M*z5-p%k1|IEit34ssY>z;jfFgC~I96fd@XOHj^G zl7RChI|Fk_q8U!l*Fb?1NbmwNd8oaIX*_rWQgqG&eW;K?Q~UwNT;lzGH3ZC#%u-g9 zl0;<&NN|e6L3nWd{+MJ18a$EN>VDim1~D$mL3obIi2cjSAB1PW7bEtsd@(y8(SPL6 za*>W|KxZ(zsB$pH2`UHA!tyd7JPXg@#o$>;=JfBZz~_T!|L@=l_z@O3t4i?d;AJ@o z^CJ5dMPv}-7{L)QUSz)x!bKTnF&h05B$Al_Z(r^mym=YUFu-!{hU zkN3Yl$n!*;>mLmM{GA$A0~91Na4`#zha9G;`evuEHxCGK-fX4P33W%Cg!D#Qa@MljFI5h)NF&0$GU zG2$Hh$6)Z}33vms3`HFbJ_2#m!^=6VKgt@DYf8vIAlB(!a{6!0dJhijq;l z|CRqU{$jrdAHmUguMWURfKv+NbbIH;DJSnEIC|&%^6t&v@xQ=FP|C~2PJ{7yBT(O+ z@w*>+_|r#l`tvW2l0Rxr?)Sl8Vm4IbWLFx|^{^;g_#I)Cd9WiyP4@8lSc4;1KcVjl#)MI!EC?x4UVXY%JVNs=f z<+~CUwKy8LR_6gYHyT*7a&ur&8Q!DfvRu|fjY5&TZfPbPKyn@!DLA#hvAMC{yQ+*# zF=#m1KkAL#h|RolJ4j=gi^DgsS}9rdSwyTlBK17?5NQY-coumYF1cRGYWxPhZ*gKa zD#eMbbWfSai*_v@v{Zr@C`Dz-;x05?5!+O=|QBI z=Z6NDsdbA*vkD%aiwe2X9^-x{2)qXX{$W|8xBQ%?}6fUcYq0Ysv`0NN4FwT%hv`7V&Mn z-v;Cx02ePxNM_j_jZ}?Z@EZNU9*)C}@y2-kV&l06L7va@P3Pj=BbQ{VBF{&;tGCy^ zde((sw=Q~Swo7ZC)EO&P`TAI=YYAZIFYCgNLy(>|yG2;aTo6v4hzvgds&$SXPnjwH zz*dSQRLpT%3Z6QNY-I5DEK2&xLMPSw!B?LMRw}q!*2L8?KA=nJ?0q%#KKgi@Dt<%7 z`?hL!Kc%`;`L#~wI?MDK4#r_n4>9^y3)e_O7)7Wo-()u6w+O~R6_}tO(nzy+9T2*@ z*HNVovN1b{e{RKA;@>Sw*T2K5!63w-(=z-j})-8E_#azhl)}Y_`zZ4YSk<(bhEDV-QumM zZ>FCorrqzNn?x?>N}rP5zLY+m6Bqnm?hz~HeSiL1IsAPS(Unr)qn(tbfCQaiIS7B7 zB?(T?-{mnRnx>&Aif|4aXIQVJ>0s`N-)vQmzCwbjqGS*+rJOHz*18SD4-cX*!N4UYEx z-_4E9vAzGhy|ML}|M@{45!|76f$^M4wiOo970_XT)AL|3_&-70W+@vzbZl2CCIPRj zl`lzwNHi;0K|H-0l@%r^7_1HkOcE%|=LD7Hn0}+8p^6B&X0TZCkbPjk*|si__`>f| zGH0&_p9X_zl}2EN)d0_$fLFmWB2~`*URed#ga5;UbCA0=&_i^&B4Rs-%<;Acf-oF~ z;YfeEs?o>uO>+r$fO3?^D2*^GS5_%qqY?NCffS*b-@r7Ld)6ca7dW~A*_7WPLg8|V zYao-6y0m(5p0SSsxXjY83AjkJO90QZih!&t*r$>=pSD&teT9H$q94PPRfD5%t8|5| zffQY?I5@T1i=7-7b0w`v=!_JWOdsYyb0PnW(V;*l11;+a;GcitB~=0RAx9BGv4CzC z_*4T5#O8M}5iz42@&u$fS+k+Ax1ZMP%Evf8PtY;XfibBoOKjJHaFp$i&Tu*^XTc{2 z(7LoLWguZ6U*nP!*@EO+)L$D$pL$|i1Hmv-_;@VlG%EnlkwPNc5j+x~_e;$=ZCMtnAYi&@5}HzL{{`Wan?Z4oWv$Mdu53Vewq7WMqbWy za<$S#Y1XXsp{;@U{3Z&!LP%}=m4IvYLSNxJeqA|O4fkg_i3^mjco4`bG1=9S{yhFg zfER-)SRL3ML88!}R=e%}qA`MV!6w4$B_0w14jJ+0+=RA(1%MH$U~&KnWZAzPGhRM* zIl)L9r;kBE4E^_O-~wIM1HT67pv=U`DBA^)B>-A6-!rHo{k5_hu5jX4n-nz9x;I(* zTLlvy%d^t#lQoMTdm^a6R>hR>E2#I1^YRu_+AE?d+*`_L3gQOB85ZZ|ZkZsI1Dx`$ z5M69?sC99>E}&WM8%t+e`$0uB zMfhix%d~CxCX`>Mi<`@2uSkBGE-WBDM6>z01@+5x(U8;sLRXAwN>V$))N&D}i;(}l z%Rau(rteX@&_yXj(`dl8%vLuMxs+5*7dhW18Emx8L(Y_z-Q5Z|`VcV{fCEGVy&8>E-egaU|L@BWd4eNM)Hb+# z#imG)Pxek;?Z1C{_@mkXYry*a{@b@dyb0CC7$Li2}fh zjZw4)0t+`SVqwr5|7zZBa~H=Ce>iyg{&4Tj%R6a}g4RK)^p3`^x!$Dolu~-|KZmT3 z{(b%LYwK3te}DS-ry-2zI6dt_qyR)o)K+v}-z4)5{=i5ymxBg*4N1NPy=#ri?PIdN z`2TbC`qloclN$}zcF?ch*r1mL_{sd)(Me5O>RxL+j&5``#+Yf=w=N$0_}d)j{>lvw zc2(9m_Nb@-b@X(qD|ys(IyzgmbXxbuO8U!m(NjmSbN~f7`Tx;R?nbGG@e8kbv-kjM6ZgStFZ#Wm-UoGG93AG>8<_trdf^wat1#Z7 z4fQfzteFV!(t@HraJ&5nzcD33%lSjq?}o9(ORyo_$Ix;aRvg3xFtvWo0eJ#~K-ZLL zi}_c#p3N^Flgh;L%l)@6PioDEf2|cviJlad54$eo|6;2n=T^^^QFO|hzDm@LY>=x; ziDA}b6;Vs5NmtLM#Iq>1!uleWh0mug(79(Xr>4@tmJ|b)-S2S-leNV zdrA6Z_r>_dSodLQO%-PV?Z(m?z1k~3v2@mxrP?b4@^)EWH+i?{37xWI-_rb9DSLNt zR?RHDMgcUrK}cLY7Ru=EJR+OoX?rm;CA=FC2dpO$9I(Myd;H2Zqo^vU$H+NgHR+} z4(3+^Q(zRDWhKcWnGIt|;LUnM=3#8*A_d;utG( zdK(YQGfR!;(fKDCoq__ZThCS_*jGT1XhP7HZ3cl3w5%cunxzZ>hg|e^x|nB!oj6=; zk~0D7Jff~iy_6YMn_DB@$fzvv;$k0-4Kdj+YpUy-r5BY)On9;Lq@Ygpa#l^2XsI># zy=eXAjvez_C+~YP#u+@bH#*5PM1qet_RWjYWXuv6(ZY++_|($=&!ah;>hq)Ke9xM* zuB@~u(8kppx6z|@e3tep_k-#Z^>}mEcSV}jpXGj!_R6Je`*$_)v;l5+mkmvQ(Q$98 z^wn9_%v^KOsg`}8zOGTKyVt}@w#zQE^KbfiboeG6Vj=e^&GPBoWa{l63eDpp1$Y*fOVwr zK8^s2+(7qm2GD}sI0OjHLwtX>bAY`0{SN}#>~fz3Y%rDnd2*Gb+wRt|$Gc_2wb5^R z@&@;Id`%tj8;s`ejC*g!z}48BuhC3^p1?{s7Y-nrXX!C&IrwK>Z?zk<3Z=d`zZ@M} zeZ8@YI`?KtgABbncgT-pae3FVFKodkM8ECpW|Wu^>@Bm#sU$xs$~^W_VFphaM10Zv z9h!D$&aOV*US`6fqG&361tL|EdNeq2ZwBMMmzijsx|1DsLwj-V4oRSc#+H6KC8(If z2wi`=*5`;2JjP&^@9HVd4_;X2ae@e1VYt?SvsJ4NJMKaobd1RUQ6gT3Uf9g*;k^Ic z+Rx)-=>M~8T&4G^lAI2Nc*X{fNwl|+Y>i-Y%d@1_>_iE@J zW$~UGcz10KbfNhxSq2_n^fMDW8QHWMx_M9k6b>he_zaflN3}Vt9mN*)DV0W4(x=-R z9`)ljK|C#S8zUzypH~yQZzl|=Z)Gkw{c#1Ly@4NE%eu`S_t7fvLv;{S*KFs4RL1M| zUf($5U9~(F^*C6P7*i+bonZwtueq2%0qbinMo++|yJ_5v%Q|_;^`U?bf%)7(u*1Bb@l=7_|ZDMyt)0yFgcuYY)1*!0jWfT6(2N zkW{~g_zfZjjy~5)+~WR|$xKbFy0PGKdAWb|?j6Ai{+%U}JVHf;QUcFWANkx*BKt7x z?u>mxR<&VbHR3vm@+z2sopJLds@AACXr2{U_uQ@)B)iXV(zH1P7)-!(U+ea>`58|8 zsRy_3oQG+(?9esP&Va|2@AfO-(jGebTF5#PVc`_tyhO{99#O(`JQt^=>4tm1W>HXg zxkZ_S{WZRy&BB6gnf2LoKIa#(OYMY}_PTsh>@83M&yhAOGcsG3M? zTKiTXU5EGf82&$TO~u`2|LyeuJzsxr=l|V${+R#wVV*C=|0gb-xodx)4fe0(-xF=` z=g(^}s_DOL^3vh2yW{hj0;lKL{r6efetMHfjQ0ou=ukJkJ}^OFtIz8Impz?cKWn+R z_=Q1^1Dc+!K7A3V%TAK~iI&`?@dKe9g^jD7cKK~iY^mW_IrXk?T+y^U z;&ao~K00{By;&XySg8^ov{R^$GTw=SO^XppUnK1S+{|*JUdF9#5#@-U7bV_S36jRSRY|we z3tG&7{Gmy-(jWfb5{uv0bd|u?465rh8gvl0IGR5>T5q2BrOHejp=?%}T(U_ZB_*Jh$D^Rp)t)d7!-+k+y z+zyqJJL=uSR3p{iFm2H;MXj4GRF32mY{b?#V(q>dcWMW>P$lj_8Rbfsy`=T2FI!KS zmEF7^jkf^BlCZ3AY;N^iVa*Qrli(Pr6F|{CF0XgDyxw%#ywfG~ZkCk1z;jq!u?1|h ztJaFPId9Gwi;yTxf)^f!mSNgFiRO0n$wqzX`FLpP}NO zxx`a~+zCZDUG`62AKzEnNEDyEK9;ZA{a4;-uw@cUwrB%h|JBLs<5rK+QIRche4~uq zw^)@)qSj>k$F9SEYpqx+uI=(ahmP8wMUZhsJbesJz>oDi5IB=)y6Mqbewfu+J-;}X ze;%fJIK|6+9v{>aL-e#`i2AbC^CJEHPWRjadbW3wIrdT4yPdArvbfV_;}(7tBlSem z7TiXX@;FCPx0=Yow0I0iQqsYtgA>3_2S^8)<$WzWVv5R}h{4vM)VkW1hry#mHJVn> z<~FZKTLy-kBxk)L8F%S?={MFM&whQej}iZoqhgNBl6Lp|U$e8jiUaA0|Jd2t*tX(7 zcDBdk$M}zjc)pbQkE43%{dabD*I^(Y=zpbX5R(P{fTEG>b|^VqXamzm?J zqB33Wj+P*)_q<&;g+#YG^%cQ+Qkp3+x6Efop{Q+axaaooWOT`i@iYOza?452U+vs&n;PQ zE+cLxliDPUv(CC;olFtitH#pITVI}e>o;cJy1~4q8g>K0EXKW_S4XBnWmJ?ym3`O# zVCPmt^`|=J86wMIH9SVJi0a&)U1?93!qO+9s-l0{RI2?5 zH`hoh>b>KE--0HK>8B~1xiR&!BCo1hp;1F7YOQBQ-FqJIlSzr&+Yb>W@ETdcW*D03KC6>@3me(DY)fxKg3b!~C?p3VC$n-1L!WE!3_uH(H+O`n% zJ|(*=?TA3$s*R7%a5^eybd?@PY^|PUmnj&&1=~9>CfhqNfMDpq)8-dC?*46GuIxEJ z?QEz#eUfMKF^Z}JldJtKCFq0SvS=Qyb|{Apa3M^R?DD9<3!I>H^s{#on$Qn#Lf@Zp8}U)qV$_NfeGOQtQgs-xve?r0s351+@{_-y%l9?;+?HKCd3f zO#qsEBjn1LeS*$FW<|_8E)WzK6&_d9DgNNSvAYZH8gLb%3fd0~R1`QyyTf+c8blpx zmE9LK+yPO|ixga3GcF_it7xqGBI+4gtfmyvW>jEY0YJIhS8>%4JM(SbU_Kv{tbphA zQ+XFx!uZeBYIv5s?d3*OT*o&7!O(H52>W)I^QY8sI_8f>lH(%J;|M0`f4@DxV_{>^ zb-cg#`sI)!@sox>3`Lz`L|+Yk(ufU9C717q;9(1)kCJCu$>Un|ZX|wMOjBd7@9xss zx5U}U8i|pBScBOTJb(LBj~bpea7$wD$Zj<4zbwA%+<$-TwEs3Yo^ROq|80%8w;%1l zhj_ji`!9>{+}P7V{-rFtEbeK>=?rq%YzF`6pE7~@ZIn5GfFvyjwEMAIbvXBZeGJ9~ ztQ(3?jv_q8{0wvJC2xhi9br>f3k1x~znD7k1zx+|JFbSlS?jozyYMID_gg)U8Nm)B zB667(7hk}nU{CAJNO9tv8z)p@cHay+tDD%cgalOj+6nesw)5|tcRE;^*wRn!7S; zC|c#iF@Xd}9h(f$LAMH6q9u(j*vrUgIX`kVuH_Mf}ihVAEPuIr%!>q7#5_imDZGYhvLGyb4 zE>z64|?G5}*p;Iagu513i* z%&j_MAlRQKDa^w^WI@?CYaxfw_{bwas0QBz%UYCOrkAjY_l{n<3(yDCKJ$O3&yeK- zoPZ#KXDBIy*1`ZxF-qdMXxa``E6dYt&k=!?fg#7jDxcnbA$WGv!=1K*=+O@4Svkv0 zlfmk2D(JHNKcpCIIc--TuVd38U>AxL$X;lJDERbQMY1WE|Ii|NQJ?EtMjorfa&6lm z>WEf5FFfiQW3s?=%PkJ2FD_iCjaU`7LTHEFBx2{%(Wow>2F-?RBeBVoo{5#zYGx2< zW9rPCbQ8@~Th*9Er&`oam$s#sB6C@}-I_GNa;!-7jS<(fED}9Ngzc+0O28;WW%(wf z-`^q_|5RXt-oW&#Ir{MLXad&1bCak?x!jJ*lC|`%2))J9)LfkSd^^eL$P>6cHjEsL z9l;Z-oYRm|YmttZ>HlK=X`t&4lTt<7;-$QZ8w0YN2tRgTU{oh|qhdD~_<%AaA@s=? zm)m>TVqDEZOMYtnJ9>@hnD~~C`oe$yxD6kUhh_S0g4SZOfDBXR6_$x*o3k3b;tt+V z4&35XPYTq>-cf!g1)k_M33YeM~>kAG=*#aU*T zJKe2mGKx9e`xb>moU9mfSjrhOfP=dZi{k`Z!oPv^26rSV*>neOR}=Hjo3F_9aX>@e z#e^jz7bqfO|K7|BbtG)M*;*!(MKnIk4-*iK$UI+f+Jq`E1ueonTWus>Vlo>tocBuS zMw3oi;)DST4sd}YLPdFZiv+a4nB&rw4Xl|YOm*m^1M|^=`RKsBUk9df)`$0f`^vF! zRL~{wkj>Ev_*#U$e{ImHd(pmDZnPiL$STKuXkV|7zr)rC<4A{zD;*)l6B_snRctakj9TJfz8RCYC=p ztCuk}om0UKi!ZaPh)@|8=(maq6e)Mx{jL4@WiL;E7~WZgck;34F}|96uD3V#VfR1( zWt{&L_buM_8NiPFUp9BP8t4C>Z*D%G|9gn1{rul_E|2m(+(|%jH|SlT2DHKcl}-eT zw)Z;~*kDxiWMGq*8kWzV#l`KS>e}mPp>QI&!C?;>cas~*Oz4}AR3@UxmtnR%P{gxf zSYLZZUNnBw^d%O$9tQ{9gZL;bh#8i33lD*JEc33REUgOUz8hHF3oIM%xnNk`jL$mq zE>0*Jq{&N=?7__j^qPYV`OQ1EEYzL}#xMUjZeocgx@!_vH|$V=%nj_6cA1EMJO&P4=<`SRHTTYGQ^qmYzqCqETb7>=14FjBrjFy z2)HL{>EYI+xcp4wQtOXap{cgsq(q z$txP@)j4;AidX3ZCO8(%HoE|PRd!Kxr~5gN&*Ss>JU)G&|1SUl|Nk**g6sfj0sse9 BCL{m= literal 0 HcmV?d00001 diff --git a/deprecated/nzbhydra/6.1.3/ix_values.yaml b/deprecated/nzbhydra/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..057c2c67a5d --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/deprecated/nzbhydra/6.1.3/questions.yaml b/deprecated/nzbhydra/6.1.3/questions.yaml new file mode 100644 index 00000000000..457413fcda2 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5076 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36041 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/deprecated/nzbhydra/6.1.3/templates/common.yaml b/deprecated/nzbhydra/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/deprecated/nzbhydra/6.1.3/test_values.yaml b/deprecated/nzbhydra/6.1.3/test_values.yaml new file mode 100644 index 00000000000..5c988926a65 --- /dev/null +++ b/deprecated/nzbhydra/6.1.3/test_values.yaml @@ -0,0 +1,62 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/k8s-at-home/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.2 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5076 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: main + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/deprecated/nzbhydra/6.1.3/values.yaml b/deprecated/nzbhydra/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/develop/prototype-gui/1.2.3/CONFIG.md b/develop/prototype-gui/1.2.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/develop/prototype-gui/1.2.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/develop/prototype-gui/1.2.3/Chart.lock b/develop/prototype-gui/1.2.3/Chart.lock new file mode 100644 index 00000000000..9fa86623a33 --- /dev/null +++ b/develop/prototype-gui/1.2.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:30.824964716Z" diff --git a/develop/prototype-gui/1.2.3/Chart.yaml b/develop/prototype-gui/1.2.3/Chart.yaml new file mode 100644 index 00000000000..9e7c0015b09 --- /dev/null +++ b/develop/prototype-gui/1.2.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: App to test GUI prototypes +home: https://github.com/truecharts/apps/tree/master/charts/develop/prototype-gui +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: +- dev +- prototype +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: prototype-gui +sources: null +type: application +version: 1.2.3 diff --git a/develop/prototype-gui/1.2.3/README.md b/develop/prototype-gui/1.2.3/README.md new file mode 100644 index 00000000000..5b44b1dae6d --- /dev/null +++ b/develop/prototype-gui/1.2.3/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +App to test GUI prototypes + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `prototype-gui` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prototype-gui` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/develop/prototype-gui/1.2.3/app-readme.md b/develop/prototype-gui/1.2.3/app-readme.md new file mode 100644 index 00000000000..f1bf7dc8109 --- /dev/null +++ b/develop/prototype-gui/1.2.3/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +App to test GUI prototypes diff --git a/develop/prototype-gui/1.2.3/charts/common-6.3.4.tgz b/develop/prototype-gui/1.2.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/develop/prototype-gui/1.2.3/ix_values.yaml b/develop/prototype-gui/1.2.3/ix_values.yaml new file mode 100644 index 00000000000..1061fbbd45d --- /dev/null +++ b/develop/prototype-gui/1.2.3/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.263 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/develop/prototype-gui/1.2.3/questions.yaml b/develop/prototype-gui/1.2.3/questions.yaml new file mode 100644 index 00000000000..c8fc843abaf --- /dev/null +++ b/develop/prototype-gui/1.2.3/questions.yaml @@ -0,0 +1,651 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "(Advanced) Enable Host Networking" + schema: + type: boolean + default: false + + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "(Advanced) LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Custom app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "(Advanced) Enable privileged mode" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "(Advanced) When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "(Advanced) Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "2Gi" + - variable: requests + label: "(Advanced) Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory (RAM)" + schema: + type: string + default: "50Mi" diff --git a/develop/prototype-gui/1.2.3/templates/common.yaml b/develop/prototype-gui/1.2.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/develop/prototype-gui/1.2.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/develop/prototype-gui/1.2.3/test_values.yaml b/develop/prototype-gui/1.2.3/test_values.yaml new file mode 100644 index 00000000000..90d1059965f --- /dev/null +++ b/develop/prototype-gui/1.2.3/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.263 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/develop/prototype-gui/1.2.3/values.yaml b/develop/prototype-gui/1.2.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/airsonic/1.1.3/CONFIG.md b/incubator/airsonic/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/airsonic/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/airsonic/1.1.3/Chart.lock b/incubator/airsonic/1.1.3/Chart.lock new file mode 100644 index 00000000000..1f63fab2f79 --- /dev/null +++ b/incubator/airsonic/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:29.390744821Z" diff --git a/incubator/airsonic/1.1.3/Chart.yaml b/incubator/airsonic/1.1.3/Chart.yaml new file mode 100644 index 00000000000..7d2de0cb7f5 --- /dev/null +++ b/incubator/airsonic/1.1.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: Airsonic is a Free and Open Source community driven media server +home: https://github.com/truecharts/apps/tree/master/charts/incubator/airsonic +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/airsonic-logo.png +keywords: +- airsonic +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: airsonic +sources: +- https://github.com/airsonic/airsonic +- https://github.com/linuxserver/docker-airsonic +- https://github.com/k8s-at-home/charts/tree/master/charts/airsonic +version: 1.1.3 diff --git a/incubator/airsonic/1.1.3/README.md b/incubator/airsonic/1.1.3/README.md new file mode 100644 index 00000000000..9e5471b665e --- /dev/null +++ b/incubator/airsonic/1.1.3/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Airsonic is a Free and Open Source community driven media server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `airsonic` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `airsonic` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/airsonic/1.1.3/app-readme.md b/incubator/airsonic/1.1.3/app-readme.md new file mode 100644 index 00000000000..02ff47fc823 --- /dev/null +++ b/incubator/airsonic/1.1.3/app-readme.md @@ -0,0 +1 @@ +Airsonic is a Free and Open Source community driven media server diff --git a/incubator/airsonic/1.1.3/charts/common-6.3.4.tgz b/incubator/airsonic/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/airsonic/1.1.3/ix_values.yaml b/incubator/airsonic/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..8771a6489cf --- /dev/null +++ b/incubator/airsonic/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/airsonic/1.1.3/questions.yaml b/incubator/airsonic/1.1.3/questions.yaml new file mode 100644 index 00000000000..a2b64349ee6 --- /dev/null +++ b/incubator/airsonic/1.1.3/questions.yaml @@ -0,0 +1,555 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 4040 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4040 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36053 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/airsonic/1.1.3/templates/common.yaml b/incubator/airsonic/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/airsonic/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/airsonic/1.1.3/test_values.yaml b/incubator/airsonic/1.1.3/test_values.yaml new file mode 100644 index 00000000000..a704a092be3 --- /dev/null +++ b/incubator/airsonic/1.1.3/test_values.yaml @@ -0,0 +1,60 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: linuxserver/airsonic + # -- image tag + tag: version-v10.6.2 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-airsonic#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + CONTEXT_PATH: # "url-base" + # -- For passing additional java options. For some reverse proxies, you may need to pass `JAVA_OPTS=-Dserver.use-forward-headers=true` for airsonic to generate the proper URL schemes. + JAVA_OPTS: + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 4040 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + music: + enabled: false + mountPath: /music + playlists: + enabled: false + mountPath: /playlists + podcasts: + enabled: false + mountPath: /podcasts + media: + enabled: false + mountPath: /media diff --git a/incubator/airsonic/1.1.3/values.yaml b/incubator/airsonic/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/appdaemon/3.1.3/CONFIG.md b/incubator/appdaemon/3.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/appdaemon/3.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/appdaemon/3.1.3/Chart.lock b/incubator/appdaemon/3.1.3/Chart.lock new file mode 100644 index 00000000000..90efe2a624a --- /dev/null +++ b/incubator/appdaemon/3.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:31.465805291Z" diff --git a/incubator/appdaemon/3.1.3/Chart.yaml b/incubator/appdaemon/3.1.3/Chart.yaml new file mode 100644 index 00000000000..575fb981775 --- /dev/null +++ b/incubator/appdaemon/3.1.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: AppDaemon is a loosely coupled, multithreaded, sandboxed python execution + environment for writing automation apps for Home Assistant home automation software. + It also provides a configurable dashboard (HADashboard) suitable for wall mounted + tablets. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/appdaemon +icon: https://github.com/hassio-addons/addon-appdaemon/blob/main/appdaemon/icon.png?raw=true +keywords: +- appdaemon +- homeautomation +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: appdaemon +sources: +- https://github.com/AppDaemon/appdaemon +type: application +version: 3.1.3 diff --git a/incubator/appdaemon/3.1.3/README.md b/incubator/appdaemon/3.1.3/README.md new file mode 100644 index 00000000000..2da7ab26bbb --- /dev/null +++ b/incubator/appdaemon/3.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 3.1.2](https://img.shields.io/badge/Version-3.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.0.8](https://img.shields.io/badge/AppVersion-v4.0.8-informational?style=flat-square) + +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `appdaemon` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `appdaemon` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/appdaemon/3.1.3/app-readme.md b/incubator/appdaemon/3.1.3/app-readme.md new file mode 100644 index 00000000000..083a4a25f67 --- /dev/null +++ b/incubator/appdaemon/3.1.3/app-readme.md @@ -0,0 +1,3 @@ +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution diff --git a/incubator/appdaemon/3.1.3/charts/common-6.3.4.tgz b/incubator/appdaemon/3.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/appdaemon/3.1.3/ix_values.yaml b/incubator/appdaemon/3.1.3/ix_values.yaml new file mode 100644 index 00000000000..ef02d27c01d --- /dev/null +++ b/incubator/appdaemon/3.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: acockburn/appdaemon + pullPolicy: IfNotPresent + tag: "4.0.8" + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/appdaemon/3.1.3/questions.yaml b/incubator/appdaemon/3.1.3/questions.yaml new file mode 100644 index 00000000000..d5503b9e260 --- /dev/null +++ b/incubator/appdaemon/3.1.3/questions.yaml @@ -0,0 +1,485 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HA_URL + label: "HA URL" + description: "Your HomeAssistant URL" + schema: + type: string + default: "" + required: true + - variable: TOKEN + label: "HA Token" + description: "Your HomeAssistant Token" + schema: + type: string + default: "" + required: true + - variable: DASH_URL + label: "Dashboard URL" + description: "URL of your appdaemon dashboard" + schema: + type: string + default: "" + required: true + - variable: LATITUDE + label: "Latitude" + description: "Latitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: ELEVATION + label: "Elevation" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5050 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51050 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/appdaemon/3.1.3/templates/common.yaml b/incubator/appdaemon/3.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/appdaemon/3.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/appdaemon/3.1.3/test_values.yaml b/incubator/appdaemon/3.1.3/test_values.yaml new file mode 100644 index 00000000000..5038768a3f7 --- /dev/null +++ b/incubator/appdaemon/3.1.3/test_values.yaml @@ -0,0 +1,41 @@ +image: + repository: ghcr.io/k8s-at-home/appdaemon + pullPolicy: IfNotPresent + tag: "v4.0.8" + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +env: + TZ: "America/Chicago" + LATITUDE: 46 + LONGITUDE: -94 + ELEVATION: 1217 + DASH_URL: "http://0.0.0.0:5050" + +service: + main: + ports: + main: + port: 5050 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51050 + protocol: TCP + +hostPathMounts: + - name: config + enabled: true + mountPath: /conf + type: emptyDir diff --git a/incubator/appdaemon/3.1.3/values.yaml b/incubator/appdaemon/3.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bazarr/6.1.3/CONFIG.md b/incubator/bazarr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/bazarr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/bazarr/6.1.3/Chart.lock b/incubator/bazarr/6.1.3/Chart.lock new file mode 100644 index 00000000000..b2cdc76962b --- /dev/null +++ b/incubator/bazarr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:33.387752172Z" diff --git a/incubator/bazarr/6.1.3/Chart.yaml b/incubator/bazarr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..7d8e98ebccd --- /dev/null +++ b/incubator/bazarr/6.1.3/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Bazarr is a companion application to Bazarr and Radarr. It manages and + downloads subtitles based on your requirements +home: https://github.com/truecharts/apps/tree/master/charts/incubator/bazarr +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png +keywords: +- bazarr +- radarr +- bazarr +- subtitles +- usenet +- torrent +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: bazarr +sources: +- https://github.com/Bazarr/Bazarr +- https://hub.docker.com/r/linuxserver/bazarr +type: application +version: 6.1.3 diff --git a/incubator/bazarr/6.1.3/README.md b/incubator/bazarr/6.1.3/README.md new file mode 100644 index 00000000000..53d43687885 --- /dev/null +++ b/incubator/bazarr/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `bazarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `bazarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/bazarr/6.1.3/app-readme.md b/incubator/bazarr/6.1.3/app-readme.md new file mode 100644 index 00000000000..d983e4cb852 --- /dev/null +++ b/incubator/bazarr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Bazarr is a companion application to Bazarr and Radarr. It manages and diff --git a/incubator/bazarr/6.1.3/charts/common-6.3.4.tgz b/incubator/bazarr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/bazarr/6.1.3/ix_values.yaml b/incubator/bazarr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..a24f5dba0c4 --- /dev/null +++ b/incubator/bazarr/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/bazarr/6.1.3/questions.yaml b/incubator/bazarr/6.1.3/questions.yaml new file mode 100644 index 00000000000..a0e10cb3215 --- /dev/null +++ b/incubator/bazarr/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6767 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36025 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/bazarr/6.1.3/templates/common.yaml b/incubator/bazarr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bazarr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bazarr/6.1.3/test_values.yaml b/incubator/bazarr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..4b2e3faafc5 --- /dev/null +++ b/incubator/bazarr/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/k8s-at-home/bazarr + pullPolicy: IfNotPresent + tag: v0.9.5 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6767 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/bazarr/6.1.3/values.yaml b/incubator/bazarr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre-web/6.1.3/CONFIG.md b/incubator/calibre-web/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/calibre-web/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/calibre-web/6.1.3/Chart.lock b/incubator/calibre-web/6.1.3/Chart.lock new file mode 100644 index 00000000000..8efff5d939b --- /dev/null +++ b/incubator/calibre-web/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:35.368458737Z" diff --git a/incubator/calibre-web/6.1.3/Chart.yaml b/incubator/calibre-web/6.1.3/Chart.yaml new file mode 100644 index 00000000000..9124c42e580 --- /dev/null +++ b/incubator/calibre-web/6.1.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Calibre-Web is a web app providing a clean interface for browsing, reading + and downloading eBooks using an existing Calibre database. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/calibre-web +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png +keywords: +- calibre-web +- calibre +- ebook +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: calibre-web +sources: +- https://hub.docker.com/r/linuxserver/calibre-web/ +- https://github.com/janeczku/calibre-web +type: application +version: 6.1.3 diff --git a/incubator/calibre-web/6.1.3/README.md b/incubator/calibre-web/6.1.3/README.md new file mode 100644 index 00000000000..49f2aeb758d --- /dev/null +++ b/incubator/calibre-web/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `calibre-web` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre-web` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/calibre-web/6.1.3/app-readme.md b/incubator/calibre-web/6.1.3/app-readme.md new file mode 100644 index 00000000000..e5b39d2720c --- /dev/null +++ b/incubator/calibre-web/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre-Web is a web app providing a clean interface for browsing, reading diff --git a/incubator/calibre-web/6.1.3/charts/common-6.3.4.tgz b/incubator/calibre-web/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 zcmV)-K!?8{iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHcic9TI1JCfzy1^$+Sy3{soAZooqkvIu10ba@7RitB`42r zCdYzEv>FkcWJs`OMfUUApMxs_5FpvQ*-6Bc|4ryuPuuGyWSG-vcd;rz#07 z{x-ffF1vAmkO$`YM^uzJODABlF@Sllex_N91~Dq50_TLi`L;?U`WHy>SpkbHFwF{Z zQdEcypK>tE=4b+DgyiL9G&;v*R-J`WHXo6qLJ=!7f_Yw!NP*C34oiZHk$BGs;s8e! zkpux3kieo0IjE{cMUqb(s}$IT;K=jchQKln&X8!4L>E z7u6Y34gLBbyX)clPBtaXtVbg|xjI0|2Os zWCE;$3d+T=D2e~8jAmIyP&!P|*%?mH!!%K_ekf85%k^)*+4R8T#Y8K}RgNaIiGzh~ z&rY}*ZVmeNznK3Em{h2|Cjrnt|2KD@?`+!h|M}+TIU@{p1@B|Ep;204A zQ;;oCQQ#P{2~K7ROpcWR7L=Ym$*$%o zC2JstXr84dA|NY3NgzSfDk%{e0KlhMUD#w)ni0rBW+_8n7aVDDMhd|I=(Q%``jZYY zfoCXL1{SZNgE_3`XQ-eZ6{8XtCsYkr7&(Fc zkRG4}5!3`xgXh2w7%M0kfX~ycpkoD>^qZugj-^5eL0@RiuX$`?n!^vEO5pvjI& zd;b14eLVr2g8`ny^LoOvUv!9MC8p*0co9FWQUubakHB;5eO@IA$g>1Tv^xED#C}W$ z16E4Tbur}TbC|{}<*E`fqHEb`Wb5xh6q>5^PhLl!&ppI7ehc8C{PtA$sRHeXAxlc*5rO9DXq0jmHYg{?WU41Sj}+*3ctV zL?|V66wrb%>T++;JS(nRiw;UuEO3POqA06UQVaeZMR@+AgUiPLjqO#}qZ^8^y4bh;oAqvT!51r$Y^XL&_S zF$P5iBH$8}8G|H5;Z;_FlJWB@96SO4L;zkwCgLCy+a=P4CM6uDQE`=1vd*sLj9BAM zVJxQ|f~HhVQlUVl+7rgt^y(~&uQ&lPicncfK5J?rnBoM515T`3agO$mkAM2%?ZE`h zuZB4+OR9y7=DvYA1t?wMB1@TQT)+a;@m+@CL@-H?c-q3_tCYYGa*>`4o`AhoaPq$s z@a|-vGGLWsJD7m4udhM)79|LlC_JQ0|McnW!4t5riVU6r_Mmj}ZIR8@ZvetD9H4Z; zTJVG_27)Hue8EvV1g1qcSDjg|0rUaRbIP+P;3vi@P;d(5_@ZjUJX_*T_xjz-2?!j`;{5OIXBU@8}h+e2kDXv#2#xq==w0#Mvm$qH;uFc~OpV`YVdaFopyUVb0_V?VOR; zt3%nVL-ZlfN;J%~cu38qV$RFbR{lsyV;v#edicY^%lC(SZ(efQ0l*ZaBz}vg^0#<% z1j%f|=0TWdF``@;3}mm0g@H=_DL#J#b5@_%mWC4jGMvMF$fPDM&4+NKD1WVr4Z(g@ zl57t00%rv#S0GAY$yb~hPp7D$Lz++-!3Ou)6_+p348;|d`LfJ-U1IMS1l^b!+|1{aZj%< zwG}3XU;+*fk0oEqH8Gy5LQ4HK&PXXl7MQ~;P@pnP76_zel4TcF4sco0S(&Av%;pIE zOHDNjwaQCI%RU3kWfB0o2&B(Yj8KM5NisIwCm>jt%gak9N=HJuVC0E~iV~Mi-LjYs zXt64mR1E+8bAhJ6{Ib#_9HK0ZP)^E`tT#+KgK>IJKc-Y@X!4>Qih`pje0{;``H;+z ze7!p0%fK=J`5LDer7-TqR1|FItvW_g#b)GwmJ;-VC@t`at7r1N_^jz^J>ksh%2lh9 zWlwkso}%a~N{|nbDxfQwd_vMy7*GRwUzRQbU9Lm$KXmaGs|TPmcs(U z7_+}h0t-^*!#$rErw37aFBmVlZaumljy;Rigg=9H-IXPe{Q_3be=#b{mD$&^S?<=~8aE-+zZ zwsep8ZSSz&89P-r*|m!AY^#myLxU$^uhy1S$q1%YKZ0@09W7KDVzye0+2$xLuD}Jl z0wtc~1Qt?#`kLy3UrR8dS2+;{Cd`?K)5a_+0W&~L{f2(kTV%{!?Q_>Gpc$!{Ml`Rb zjcQu%=0lq5@!F8?5+Mwklp*!t?i}E>o+{}W;T@x#@uFjhYjAEj$~niqL)m*_>?YTr)&KG$Mlbr{i9RnH938EaCE9y z=c^t4B-XtgUZwzoll`OGZ=S~B9FcnF;gq0)4yAW*U$d`lp4N^Bt@WJX34?AmNtvki z#AJIBtf|(z&%JNPEM~3d4%-<5n&*Li3C-R;twEpC9xKJBMJ!fMts9h#!KvCQWtOPE zoZ_@32*x0rYItbr)10ATy%EwL7T$Ntp;$~k>ANp^*XiPnt>887HP!Zbkj!IJGKZaDEX|^ZxiqUyu2!ifs@`^O7GQi*OJceAwOKK@ZE?Q4l~xX7bI?j6 zm?wV%(sP`C@DwFUIfN10zM~Bf?q%(k%7~zg?G*Ik-xKhb121)dGK*sSh855Osy%{$ zwO6*}i8bM7SxM^2rVm{9MK0AtLHhSuNhk*xQQ&)&)O%%e8gdU}EmA0)37^J8u{9MY zSp<_>=-5P28>%LX0;rc0`l(hRYRZlvnT4PqNkG|YBjX)66In<}OqU-jp|y}f@Q+=v z9`OS;tXkwtqTFEX~f49(u*{Xr7$L*}T|J{=#v#;6$*VgGT8 z_%^-TM`vmP1mC@TRa?j>MTHLcj=}N%-s_hjLIuH7sv$_H0PUX$CTJfO#BfBI!~cmK zX|6$RuVOhJDEevM1wS;yYdSxzz;YyeYTtk5=~1hEYpoC@kGoOxEIgf4CGj{gZ_ z#MWMGQ6y;IvLN!$+B&FFYps7j|1#hhXe%@?|FSK;FXAlhT@>D$x(;1}`^mnh-~5_{ zMvvNt5PP2uS`Eh=i^3?wR{tBX&_g@XG0{f1t0^qZ&aS4+XIF@2zKGTUn&;%|02ga) zB2nQ?>EIqK&G60_k%nuU6_E-Q%ULks(U1E;1U}J1Kj9={Vj0FU+t`v3s)f))SUCpg zP(|S=_&+gKiDY~tasOMERC6R1eRJbZuDbg6^y%n7DLL=6>3cFm?|JoqoUVzYV#}D8 z{CfDcnBJw1>8v7VckuUbC`BA0BaR0^fG0p~erX*d)P6kG!PenbtU8LBvw2AMJr0%r z{2@)Q8g9`gH9C&3U70%; zl$p4c9E%;*n0Ori@3+UNYlaI|fk1^iuuv}sqFqgRWj04-#sVdh5^<2{c!5$-@>cOi zHS1R?GY(Mm~CJGglT_1JNwYRD7AEH5{i7gX?)ieW(j( z@g?NJZUw4X&;&pqaLGn!lt4URt2a6q(1^g%t+LT_;$Td!BN4{-utxFFh+}x{+G1r zstAr|d{0pXnbR`OWjs{2xEL`pTC^%OLUi_2XVexX<>9GBbL!GV=2r(g>SH}#QC6g8 zFjdW{9FJxwx{&*Kq_`4lkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUiglZ(6 zUCq%YA~Nf-L0XMDlk+8Aq}c(c-prARyM#>aJ0}rZEwiMkpNcMlkhC#@v@GZkm%8LjqY;slFbmm%1hq7^+0TzSqlt z4Ur1(DsRBlUMua4%+N9adkJhC44bX`Ml%HSp?EiBK3>7b)5T|6> za918vjnnfXT5vbO2$m&2Pg$HIT{}ll=)W9SR;&)_uVe8`i~8ilxCC&@wvnzhnm|z{ zH;BaTLz=`kglRm4DZxYeW_2L{a)hQ5Mi$8uv87ku0c{K>qoam9S{-OeG)K<6lCO$; z35F$7hk=9uKq)COe>*}X8gYN)5X@noQyKT_NII%{AsO9%C(+I@j)#JPA;}o85s8M3 zh9RBK?9U)&jI>pL&P^>BSW=A&Iv$|J#tAdoJ{D4PfJ-R0$F zXuKa73S@!GtSTZTHTn{a`0>Ef6Q&#vWEFL?^a=P0fvT)vl3alTMcI6g(wO;Qv_Pyn zbWT)f?q8CD1i^*a;$ksBbg)M_t4a<#nq^pX%vB{SLLMswlQIK1rSgvL@6D)CE4k~g z1Vxonok>lqUcABVo$T3uHH`D$;{3ll=QMf`lO!bhU8Vu($p5ji zy=~|J*jnFtJpcb7&-L}_*+87sBgIvoQBhwz>geE5**@5`3&AVG4+#_~jZwjj?TY@D zaLrzhBya|)h9ghTa@U7E=p7E8jXr%ETwf1)Bn1KiM;5{)3Bd3Z6+86n=oxr}igOWC zpG7bcj(Zv7lEylz{97y);b$Wa6i%b0ifc@Q5_SwH03rCqwq^y=e^!{EnA9573N2qm zCJ;OY;g1r9ep)sZ>KljUhGy0ffO%0Wc!y3jn%*c(4WOf#0`!}!EY&eVP#-T2WGy#o zdchEU1Sw8qDjdf(GUhSuL@4tZbm6PZ-3FbeLkFN8qfxXKrvYXPaROHI0;gmOg2Rje zD3Tl4#H@T(t_D6*SM^Slo!#vD2GvaAMP)e4p@V979Wl&$mlylIw7j!|HR{=ZY(2~! z=xGTTG^_RA_J(;@5SVxg^3>v12`c8eEUB*PBf-mL^npjcy-EoxrgSlPlAt%@b4z;n z(_H`6e7iF(plki#*cn^v|Muq2&g1(35D#1bnXav3WvEaVVm0nm>O0b`LB%4Ro(29iA z4oxx`JIQP#QV*=t=20ieNdA37JyL&^pda>fi%@NpzJii?1o~! zFuDDxj6N!(e<5YGssG8d9Cx<|)TRGztUtH)zwyr2qyG0057qy`Teg$K^}Sc(M4(jd z?&1AU1Yzz7zQ}#mU$Dz$Vn-8@nq7OwSQ`O3SZ-r}C8IWLJp;`O4hj zkR{dr$Iy^k@-v4)!70$fug*)3p7CsU^)`}o$xJh1feiIPc%eS9pz0NmCp{F$D+BO! zbycHQ(EFa!NJ+6M4|F_%z%gt{XroaEI1v26`j^8Cz)FlG0s_^2Ccae*w$CeGR|h6$ zvpY$m^?=Pm(v#E>Df>zZ2ddap&fGvM43`rNb>B3I;G-fmAnMyvjs4iC1uCg6GT8+|(1-RW zPK$abYi6+g7rLq|29kxVb?anjSgjKT?OI}@vnAr(tE{irt6^TCtJ2Ygk6?<6k~n~y z0EXIF`*JtQ{=`pH|H~KA1IPbtKDY1x*xDFB>VFUNF#n&f{~gt*d_-h53m$IQ2mM|> z78aw;`y3SqRH#egZp%k%X?>sqlAyUR+3hpNhBRVw%~<#oT$15eba53R!AC%{W5N>m zu7cHu-bm1#DFx z*EPDXiMOx4!8vP0-Pqbqi(>n^Mei5!G}nJ_NZh3g(6RoHx5qp7`oHsh`*Hn$h)3-I zv1I6l3h4nP(=KT7ukO<5bnMrutvU|)^K8@c-I5=2_*;br4VSVAQ2g|1P_jkxK#=G0 zDsNcw<4++2)=dcyPvQA)Xt=|7zDa-)R7_aqO})0$8KsPZ$E+2KWvI(ia-VYXqO(CX`oRC4O(A zy!u?|5zAXKbjM3X^!5wS?F#t~)$QS}0lW1b*mU%MScPb7R`zL@!n@NnT{7jC{o&Vcd-+BJ%|9_CDRsV;U z_CHfY0_0f?pc)i@JD^ettoxb)Mjn%)uHeaqK;p&edBdN|w8~iy4@H1Xw_0G-OykqaF|b;4RFF4+gbWn9tsoLa9=RWI`=S9z^j zX|%gKigOlxRBFD?YX)GB)3+`QLWiQ2(Lk*W0PsUMfVzwZU{e45+jjP#%ekxc=)_%=8Ad4%qcoa^I2$e2 z1F>8m@+_}=gurMvM=3c_cRo6nZ2VzJSMBgEN)RkjDAqOhl7~%dtFgGE2Yk)GvX*@M z^tCIv=)T32fBxUyIna*zzrDV`W$*uOuRnjB{}1sjHUD9fG|q?Kh3CIuqolP)lI9RY|hQ({7T ztVq4f?`)@Bj-7khiPDc$C`LxN-4+f;55-lq5<9za$HDFy zA$i?_jSFXMEFr(AR_iA--jqezS@D;uOfICKE)AJHbDjKVJT)T>oe1mQR1rTY1*L-u zoer&DgB(NHI*7B}^_0*2Ze7V|b_tJjSnDHM&3fy5eY@`Ub-h>2Z`utwaCYmE18jpb z!0(qzWBbzFE+V}5`06s(icK~e!LHM_-vV*nJg?5!+o-E;owzAF?8YxXuv^!=P}wZ& z5vKdOb=k*f`Nwbn**UUrZU}bSf7?6jw*P1AG5+geo*Tq}*#iUonw{0xMpo%ST=m8? z1&P}nnNrwc0XovMJNJL|lemWU^J{i?!+oEsoR3`@XCJ0;ok`%g-Fc2&Hx4^96MC^gFCaCvCF`(;)kJahowvh(O4_{*V*?vHOvN)uqFEgS`QO=@+w4>NeK~{` z$%eT;r_?mLtv%SV_JSEo=3zM-&9dwwn1H-MLoxr?=-*X-UceYN%MLFQKA(|b0)pZC zIB*n*SsdRm&k`J61rxwtmQ@rX6r*^J{hUIapm>dopCNn2oKiSTm3`S3|D^{76^O12 ztQ!gCh91Ct!5XtEh@YTqcsp{)A>V)RY!REa`8*W2 z89EehdCj2&=q>3nQyQ(TyukjHC_ z$&0my@*XSQ0At^z_owkezkTi=Hjlo5ts}M9#!bx_eQ4}3uCSBI_FHiZTdg|RYVCCH~tZy#yua!1g>RCo4@eLP#&9_~! z!jF^lLaW@7?S|96%LxI_Qn+}N=5 z|8DPWKIZ>@kZ0-mzdAqgkM()Xdx-{Ase`ZGv3&OKz;&NszH4_VpLa{C5zJ@W^@fT6 zG+#u^?LS@LN$lTsoh*r+6L*yihQX@YGD&PROi+GlMQJmkZjG!q%?cisVB~*RSlz{H zXmpw9%er&O*&2X5{7s_M`IHq3cX@&HDivE4ONO;+Ej7UiCae7mc^0PLytqIp_w59= z2iSE*)U}02)jK^)?eoZ8k;WnE<&Q_JlgOf5>QSv#G87=|WVC%I`ZlMb8#FY}L)+cl zI1Jr=47yp+v$wX#iPHivKZnX^;BRVi`d2R`TZ1hZ5euT7)cP6o{MARL z1Fd&lPWVObzq!5ho&T}A3VI|I^k{%O8*Ur$Vl97WhOg^ush3&b+m1cBFZ*R4*cFct z)98v-&i83Rb}i+W}S|SB005pEFklo81w~PrSVPY3L$Wq3dgu#x=D%=!de9*i@X=rv;S7-Q|Q6d(YwKrwwc}2Uemj=6>721JvU$hf6 z|K#I}8%`gVcxSFUR(({O1LW1wvgfoK&CaW{1edeJjJ!oKzS@gpaRnTAZhO8O+-(P8 zAZP2v#F^1roue^UAcJK3%G}!=TCVv}KM}!`O_--8!uqA2%f!AWNnvwsJsJC8ts7vT zoiFFtll>!YSFGNtIN3iMxHe0zy^PL%vNi|?j=Dm<3Oo3-Qs*_4qE>A$irbOoN|5V2 zimR)tk@A(+gyz0uiz(~LRp{3WT9fc?fj{7Jm`?leJy+3gV+D5Df9spu_WjS#pFhU` zJj~PQW(6h_nf(XO@dBlm4cObRv$g%^%?n3NW_Mk?ASHchNP7Fm1w+_(UAMpyFMZbn z*A>TLB|)hPt2Lu6U&ff#ED5CSl_u%GgRjbe2Y(OLiA(OMw8hp^_dTf9(P(hnO%JSw ze$9heB0lpS51jDF3m)$1X~_QspN%3^kkNbkFTcDiyn^#vH~~B4|HgQ8!+mH9Z zJ;>vd+WK|ky0=T6(eLf-Qt_dN>#e@&+}yyFemq}c<{vw*rtHACAu2T5T-U!#hnOnl zLlM>(>Wl~8!g~G#mu1?IIFquQVKsb|3jg)e_s)mrWllHZZNLcRji_7WNEzYssS4MZ z^M-r4fH>iKRGxxW5Rjr0uHqZrJ^0j4PH~gKFz$RXoopm2RlpcY$}kcJin~?J_>KOB zu6V1oQ-~kI+0GV9BXiS?LcBm%Z4e8*fCTjgdHu&YsPOpQ%hR#`-$nYj&iJqOZTtSm zosG@M{BIBPNc*qAXo1*~xDh{(ho^uJ06fJJBrJ>~63G-%>^JxEI29Du4>{q7owY^oU+9Y886`c0ofOr`)aIz(()W3RN|X`> zv6i9oL?gHU^j|JfTVHU)b63CxYiBrjMtWuFOHQU(5R!sOs)T}HLT`n7pM4I zw>+z~HS&w&)eTv*#8g&O6yOx#5Bv4kvXyW3hmYmJLP-B~> zy{vZ58@-j&BAbH+EHG;()%sdn*3qJ;f+RLLZccb@H?d+a^y>RY4@iq))? zV~$l1bxt;AnkXbD5uJN2!tGI~{E{EH{x^eE0n|49@6-Q3-r3l;{XaYFkNLkJ`x2StQZow4Up!@QfPP5z6Rms@)PyX614>Hpi_ zc#QvlkVn`5M7;8Hs-N5%p_5OZcw^(I?FKRWT_myh?zT8$t#mOH?o%M)UY<+&{^`>I z=D8K|ywI}jH>>!LBQ@d7VG7StJUrt&FY1KVah+?qDQ1sF3vR>N1{;P>`Z}(?*6yoo z)@275(+HU@lN)1?()G{$w8?)ybngB9*VfjC9sjqp`F#8+{~zLEa_Z%W9Hwz2{*Nbc z_K7E5uxQ}|=Sg-3lSBQWksX<)g?flfGy-1Bit2EH+65~r=GyUDnhpGuaolOu8!J{@ zC2Vl4%BR$y{OU%>};|>@m$7{34!-!Bb2Z ziaci>5)OVs96BpcC=S{=B{)M7tV#sRY>t=#$E7;&#wkWg%)<;5JjVpZ)UG2lT!NLe zE7rvahsU%mPS08P+tqOJY6=Rz0&pNA+ifXE1AB)FxWq|9O~k6Cbd~@z;sv$sL#7TA z(uU2_xA5>T__j*!a;!DLHOE_{h&AS9>$=AsKL#MH+x5Ko46?0M);9!Zxc9YqP}TP$ zFxF5FtO!s+iMvb#fmumQSN&Dv_s}PGJmn;#t?Ot> zY1BEiX0PV9H4BFPP_WT^D(!k_2;r&^YHB7GX$)O;KvMh>^abQ~m}uUmyvTA?Bv&AU zbWq4aBG*iHIWjw#)-^z^tCVd=iX^)(Clc|+C{MDhx!Q`gTtNqo&)4ShMn7PP=2==I z4_x;37%dI9B#@wKl`z0A$j7393-+)jl%4HqQo z_&xi7#yd^@e|zWA|MMUZlWuQNan9F?B#U4oRyYv{AuR)u%z=Lsg4OT5P={Gbm3x*7 z0npHA1l;;=y;ua`wAQLhR5+@vWOGbvy^q(l(_qbM+vB?SyebLf2i1`-3rvtrm5$B; zr6Pku5Y$1|k{Sck7bAb%^Ir+e(R+2<#r@s?^t^fh)8^*m{@;T<*Zf9@lNkbYh|~IV z6KRRXKqYfgn$5G38nE_8QN7GkaQhOPh|>ohZc6?92%8_`z7*q1n+a2$-d?i~f#<8H1DL%(s**%Ym|)h))ko{3y)K=gJXLI5=puyQ1y18vB~^$D zoSv(8ifn43@2GW0s*Sd@%?%o1aW3=P73bw$PhP9KcEQsN>x1g>rwj9oHl;C(Q@5}5(Y-MBy(q5ciG*MY?Y3+R<}g=@6#>-zjWRyj z>Jf9u>Rre?D~`ZF+nNyV+YDUS8?bB|4sNd6&>V}vQ)BWum}y9=HtOnWDLUPP zeBJLN1(*92r3)tAw1uQVLcoY`6EnxEUDKeV_j2ZNfYpfUIOo6LqG>HomsNr~IblcJ z)JhmjG{Da-k^;}Q=4@DNV>4!_hN558Rs$1br+JIp^|i*d@CHN|*%|7fdh~1nxZTRH zDLpAFbhvj6SQ=Guj#5-Wf@1L9(K~?CX~r8#OUjN?sb$&h8vuDv*|kU?AU?`u6am{p zp%$Han3W=^69KWJ`n3i%pk2TWK>byd6jsqldaF9oT8={KcUTrwEeDC z8{cRQ^5zyri;Q*cXM`SW!Ew(mL)YIZX%g!~Q{apNl*y!NxyH+hW{7o|Qqc^>Re}l$ z%XrZr&MYg*ArH-@CA6Q*!H^1`{JXWbwxGsoS)1JIhhdx>MNA#e(+Ula$SC~Mw-P)1sZ<(G|+$F9y-)gUdq3350zvID(Y0S+Rr6n|0VbA?(*rO|J^zZL|6Rx z^Q}hyzwM33_`e5vm?gz?swss}#<>^@Uk`PUnVMRNRxY#oF{jbc@(a2Wy6g6|J9VEY z6QG#_5H$1r@oaY7tbXdg)}O=RJAiw6PQ{9N$7>Il^;7WB5%hu99u+8!QNcG^g%6Db zSFDvu3wb+4rdzGetT9hjT3ee>=KhN2e$%|GdiL6thO@u^s9CUPz{L+$!FPa55NG__ z>W?I{8 zGXt+L`K~wbt|#TLoebA>_8G}`9R!)f$5BlKYOH*>J$TV|k@tgFsWZ$NKVCV*#H& zvEgD~gvMb;RY|hB9puZul{t!B`xzU)y*P7Q(CTEPYaKg60x1gw95#0@YQFAzi(WTl zmQ4hXyE%rgJtqrUXSK$*iM{D;k)qwHED<$Q#hYIOu-YJ1jDQ&-`FDs+0#_H=rKMKD zudtOD(w?DE++^F>I`ILJ7m?H;PWY`e9tfVk5p5t*ew;-Y?X7ULw9zuAYzVTno}_sfD(9hjG`=!OM_K(UWAT9pq+FHo~mb6flg)xDrZ>|H(}c)dIBbRjq6^7nw>CgWOlB}xtG3Gk z{RVZ^lKq_A@`a}kly%TW5!8L7m+cp2LKx(rwD)5+aa{@-W* zr{@0u#(2E>xc~nk53~Qf<$o_fSmM*hx?__10ha`)=louLW3IDITbJ;v1bKm`r~ohpW^p{__o?ENd96i6 zQiIIhHk2J_Zb#3+4`halOI#wr$zX@V5xW_i$uU z**?AE#kbnD>r;DQpE!+y%L6RWun zAJkS~PS)Bbs~~^!PRiwKUk6evJ(BH|P<_P!sy?^!MV6}Xw$v`YYzYx8^y1(5c^uKV1k~uz4vjW{cjt>2AyuE4f z|7`5+Jm&v>kmm_Ff`p(VEvXv7M*z5-p%k1|IEit34ssY>z;jfFgC~I96fd@XOHj^G zl7RChI|Fk_q8U!l*Fb?1NbmwNd8oaIX*_rWQgqG&eW;K?Q~UwNT;lzGH3ZC#%u-g9 zl0;<&NN|e6L3nWd{+MJ18a$EN>VDim1~D$mL3obIi2cjSAB1PW7bEtsd@(y8(SPL6 za*>W|KxZ(zsB$pH2`UHA!tyd7JPXg@#o$>;=JfBZz~_T!|L@=l_z@O3t4i?d;AJ@o z^CJ5dMPv}-7{L)QUSz)x!bKTnF&h05B$Al_Z(r^mym=YUFu-!{hU zkN3Yl$n!*;>mLmM{GA$A0~91Na4`#zha9G;`evuEHxCGK-fX4P33W%Cg!D#Qa@MljFI5h)NF&0$GU zG2$Hh$6)Z}33vms3`HFbJ_2#m!^=6VKgt@DYf8vIAlB(!a{6!0dJhijq;l z|CRqU{$jrdAHmUguMWURfKv+NbbIH;DJSnEIC|&%^6t&v@xQ=FP|C~2PJ{7yBT(O+ z@w*>+_|r#l`tvW2l0Rxr?)Sl8Vm4IbWLFx|^{^;g_#I)Cd9WiyP4@8lSc4;1KcVjl#)MI!EC?x4UVXY%JVNs=f z<+~CUwKy8LR_6gYHyT*7a&ur&8Q!DfvRu|fjY5&TZfPbPKyn@!DLA#hvAMC{yQ+*# zF=#m1KkAL#h|RolJ4j=gi^DgsS}9rdSwyTlBK17?5NQY-coumYF1cRGYWxPhZ*gKa zD#eMbbWfSai*_v@v{Zr@C`Dz-;x05?5!+O=|QBI z=Z6NDsdbA*vkD%aiwe2X9^-x{2)qXX{$W|8xBQ%?}6fUcYq0Ysv`0NN4FwT%hv`7V&Mn z-v;Cx02ePxNM_j_jZ}?Z@EZNU9*)C}@y2-kV&l06L7va@P3Pj=BbQ{VBF{&;tGCy^ zde((sw=Q~Swo7ZC)EO&P`TAI=YYAZIFYCgNLy(>|yG2;aTo6v4hzvgds&$SXPnjwH zz*dSQRLpT%3Z6QNY-I5DEK2&xLMPSw!B?LMRw}q!*2L8?KA=nJ?0q%#KKgi@Dt<%7 z`?hL!Kc%`;`L#~wI?MDK4#r_n4>9^y3)e_O7)7Wo-()u6w+O~R6_}tO(nzy+9T2*@ z*HNVovN1b{e{RKA;@>Sw*T2K5!63w-(=z-j})-8E_#azhl)}Y_`zZ4YSk<(bhEDV-QumM zZ>FCorrqzNn?x?>N}rP5zLY+m6Bqnm?hz~HeSiL1IsAPS(Unr)qn(tbfCQaiIS7B7 zB?(T?-{mnRnx>&Aif|4aXIQVJ>0s`N-)vQmzCwbjqGS*+rJOHz*18SD4-cX*!N4UYEx z-_4E9vAzGhy|ML}|M@{45!|76f$^M4wiOo970_XT)AL|3_&-70W+@vzbZl2CCIPRj zl`lzwNHi;0K|H-0l@%r^7_1HkOcE%|=LD7Hn0}+8p^6B&X0TZCkbPjk*|si__`>f| zGH0&_p9X_zl}2EN)d0_$fLFmWB2~`*URed#ga5;UbCA0=&_i^&B4Rs-%<;Acf-oF~ z;YfeEs?o>uO>+r$fO3?^D2*^GS5_%qqY?NCffS*b-@r7Ld)6ca7dW~A*_7WPLg8|V zYao-6y0m(5p0SSsxXjY83AjkJO90QZih!&t*r$>=pSD&teT9H$q94PPRfD5%t8|5| zffQY?I5@T1i=7-7b0w`v=!_JWOdsYyb0PnW(V;*l11;+a;GcitB~=0RAx9BGv4CzC z_*4T5#O8M}5iz42@&u$fS+k+Ax1ZMP%Evf8PtY;XfibBoOKjJHaFp$i&Tu*^XTc{2 z(7LoLWguZ6U*nP!*@EO+)L$D$pL$|i1Hmv-_;@VlG%EnlkwPNc5j+x~_e;$=ZCMtnAYi&@5}HzL{{`Wan?Z4oWv$Mdu53Vewq7WMqbWy za<$S#Y1XXsp{;@U{3Z&!LP%}=m4IvYLSNxJeqA|O4fkg_i3^mjco4`bG1=9S{yhFg zfER-)SRL3ML88!}R=e%}qA`MV!6w4$B_0w14jJ+0+=RA(1%MH$U~&KnWZAzPGhRM* zIl)L9r;kBE4E^_O-~wIM1HT67pv=U`DBA^)B>-A6-!rHo{k5_hu5jX4n-nz9x;I(* zTLlvy%d^t#lQoMTdm^a6R>hR>E2#I1^YRu_+AE?d+*`_L3gQOB85ZZ|ZkZsI1Dx`$ z5M69?sC99>E}&WM8%t+e`$0uB zMfhix%d~CxCX`>Mi<`@2uSkBGE-WBDM6>z01@+5x(U8;sLRXAwN>V$))N&D}i;(}l z%Rau(rteX@&_yXj(`dl8%vLuMxs+5*7dhW18Emx8L(Y_z-Q5Z|`VcV{fCEGVy&8>E-egaU|L@BWd4eNM)Hb+# z#imG)Pxek;?Z1C{_@mkXYry*a{@b@dyb0CC7$Li2}fh zjZw4)0t+`SVqwr5|7zZBa~H=Ce>iyg{&4Tj%R6a}g4RK)^p3`^x!$Dolu~-|KZmT3 z{(b%LYwK3te}DS-ry-2zI6dt_qyR)o)K+v}-z4)5{=i5ymxBg*4N1NPy=#ri?PIdN z`2TbC`qloclN$}zcF?ch*r1mL_{sd)(Me5O>RxL+j&5``#+Yf=w=N$0_}d)j{>lvw zc2(9m_Nb@-b@X(qD|ys(IyzgmbXxbuO8U!m(NjmSbN~f7`Tx;R?nbGG@e8kbv-kjM6ZgStFZ#Wm-UoGG93AG>8<_trdf^wat1#Z7 z4fQfzteFV!(t@HraJ&5nzcD33%lSjq?}o9(ORyo_$Ix;aRvg3xFtvWo0eJ#~K-ZLL zi}_c#p3N^Flgh;L%l)@6PioDEf2|cviJlad54$eo|6;2n=T^^^QFO|hzDm@LY>=x; ziDA}b6;Vs5NmtLM#Iq>1!uleWh0mug(79(Xr>4@tmJ|b)-S2S-leNV zdrA6Z_r>_dSodLQO%-PV?Z(m?z1k~3v2@mxrP?b4@^)EWH+i?{37xWI-_rb9DSLNt zR?RHDMgcUrK}cLY7Ru=EJR+OoX?rm;CA=FC2dpO$9I(Myd;H2Zqo^vU$H+NgHR+} z4(3+^Q(zRDWhKcWnGIt|;LUnM=3#8*A_d;utG( zdK(YQGfR!;(fKDCoq__ZThCS_*jGT1XhP7HZ3cl3w5%cunxzZ>hg|e^x|nB!oj6=; zk~0D7Jff~iy_6YMn_DB@$fzvv;$k0-4Kdj+YpUy-r5BY)On9;Lq@Ygpa#l^2XsI># zy=eXAjvez_C+~YP#u+@bH#*5PM1qet_RWjYWXuv6(ZY++_|($=&!ah;>hq)Ke9xM* zuB@~u(8kppx6z|@e3tep_k-#Z^>}mEcSV}jpXGj!_R6Je`*$_)v;l5+mkmvQ(Q$98 z^wn9_%v^KOsg`}8zOGTKyVt}@w#zQE^KbfiboeG6Vj=e^&GPBoWa{l63eDpp1$Y*fOVwr zK8^s2+(7qm2GD}sI0OjHLwtX>bAY`0{SN}#>~fz3Y%rDnd2*Gb+wRt|$Gc_2wb5^R z@&@;Id`%tj8;s`ejC*g!z}48BuhC3^p1?{s7Y-nrXX!C&IrwK>Z?zk<3Z=d`zZ@M} zeZ8@YI`?KtgABbncgT-pae3FVFKodkM8ECpW|Wu^>@Bm#sU$xs$~^W_VFphaM10Zv z9h!D$&aOV*US`6fqG&361tL|EdNeq2ZwBMMmzijsx|1DsLwj-V4oRSc#+H6KC8(If z2wi`=*5`;2JjP&^@9HVd4_;X2ae@e1VYt?SvsJ4NJMKaobd1RUQ6gT3Uf9g*;k^Ic z+Rx)-=>M~8T&4G^lAI2Nc*X{fNwl|+Y>i-Y%d@1_>_iE@J zW$~UGcz10KbfNhxSq2_n^fMDW8QHWMx_M9k6b>he_zaflN3}Vt9mN*)DV0W4(x=-R z9`)ljK|C#S8zUzypH~yQZzl|=Z)Gkw{c#1Ly@4NE%eu`S_t7fvLv;{S*KFs4RL1M| zUf($5U9~(F^*C6P7*i+bonZwtueq2%0qbinMo++|yJ_5v%Q|_;^`U?bf%)7(u*1Bb@l=7_|ZDMyt)0yFgcuYY)1*!0jWfT6(2N zkW{~g_zfZjjy~5)+~WR|$xKbFy0PGKdAWb|?j6Ai{+%U}JVHf;QUcFWANkx*BKt7x z?u>mxR<&VbHR3vm@+z2sopJLds@AACXr2{U_uQ@)B)iXV(zH1P7)-!(U+ea>`58|8 zsRy_3oQG+(?9esP&Va|2@AfO-(jGebTF5#PVc`_tyhO{99#O(`JQt^=>4tm1W>HXg zxkZ_S{WZRy&BB6gnf2LoKIa#(OYMY}_PTsh>@83M&yhAOGcsG3M? zTKiTXU5EGf82&$TO~u`2|LyeuJzsxr=l|V${+R#wVV*C=|0gb-xodx)4fe0(-xF=` z=g(^}s_DOL^3vh2yW{hj0;lKL{r6efetMHfjQ0ou=ukJkJ}^OFtIz8Impz?cKWn+R z_=Q1^1Dc+!K7A3V%TAK~iI&`?@dKe9g^jD7cKK~iY^mW_IrXk?T+y^U z;&ao~K00{By;&XySg8^ov{R^$GTw=SO^XppUnK1S+{|*JUdF9#5#@-U7bV_S36jRSRY|we z3tG&7{Gmy-(jWfb5{uv0bd|u?465rh8gvl0IGR5>T5q2BrOHejp=?%}T(U_ZB_*Jh$D^Rp)t)d7!-+k+y z+zyqJJL=uSR3p{iFm2H;MXj4GRF32mY{b?#V(q>dcWMW>P$lj_8Rbfsy`=T2FI!KS zmEF7^jkf^BlCZ3AY;N^iVa*Qrli(Pr6F|{CF0XgDyxw%#ywfG~ZkCk1z;jq!u?1|h ztJaFPId9Gwi;yTxf)^f!mSNgFiRO0n$wqzX`FLpP}NO zxx`a~+zCZDUG`62AKzEnNEDyEK9;ZA{a4;-uw@cUwrB%h|JBLs<5rK+QIRche4~uq zw^)@)qSj>k$F9SEYpqx+uI=(ahmP8wMUZhsJbesJz>oDi5IB=)y6Mqbewfu+J-;}X ze;%fJIK|6+9v{>aL-e#`i2AbC^CJEHPWRjadbW3wIrdT4yPdArvbfV_;}(7tBlSem z7TiXX@;FCPx0=Yow0I0iQqsYtgA>3_2S^8)<$WzWVv5R}h{4vM)VkW1hry#mHJVn> z<~FZKTLy-kBxk)L8F%S?={MFM&whQej}iZoqhgNBl6Lp|U$e8jiUaA0|Jd2t*tX(7 zcDBdk$M}zjc)pbQkE43%{dabD*I^(Y=zpbX5R(P{fTEG>b|^VqXamzm?J zqB33Wj+P*)_q<&;g+#YG^%cQ+Qkp3+x6Efop{Q+axaaooWOT`i@iYOza?452U+vs&n;PQ zE+cLxliDPUv(CC;olFtitH#pITVI}e>o;cJy1~4q8g>K0EXKW_S4XBnWmJ?ym3`O# zVCPmt^`|=J86wMIH9SVJi0a&)U1?93!qO+9s-l0{RI2?5 zH`hoh>b>KE--0HK>8B~1xiR&!BCo1hp;1F7YOQBQ-FqJIlSzr&+Yb>W@ETdcW*D03KC6>@3me(DY)fxKg3b!~C?p3VC$n-1L!WE!3_uH(H+O`n% zJ|(*=?TA3$s*R7%a5^eybd?@PY^|PUmnj&&1=~9>CfhqNfMDpq)8-dC?*46GuIxEJ z?QEz#eUfMKF^Z}JldJtKCFq0SvS=Qyb|{Apa3M^R?DD9<3!I>H^s{#on$Qn#Lf@Zp8}U)qV$_NfeGOQtQgs-xve?r0s351+@{_-y%l9?;+?HKCd3f zO#qsEBjn1LeS*$FW<|_8E)WzK6&_d9DgNNSvAYZH8gLb%3fd0~R1`QyyTf+c8blpx zmE9LK+yPO|ixga3GcF_it7xqGBI+4gtfmyvW>jEY0YJIhS8>%4JM(SbU_Kv{tbphA zQ+XFx!uZeBYIv5s?d3*OT*o&7!O(H52>W)I^QY8sI_8f>lH(%J;|M0`f4@DxV_{>^ zb-cg#`sI)!@sox>3`Lz`L|+Yk(ufU9C717q;9(1)kCJCu$>Un|ZX|wMOjBd7@9xss zx5U}U8i|pBScBOTJb(LBj~bpea7$wD$Zj<4zbwA%+<$-TwEs3Yo^ROq|80%8w;%1l zhj_ji`!9>{+}P7V{-rFtEbeK>=?rq%YzF`6pE7~@ZIn5GfFvyjwEMAIbvXBZeGJ9~ ztQ(3?jv_q8{0wvJC2xhi9br>f3k1x~znD7k1zx+|JFbSlS?jozyYMID_gg)U8Nm)B zB667(7hk}nU{CAJNO9tv8z)p@cHay+tDD%cgalOj+6nesw)5|tcRE;^*wRn!7S; zC|c#iF@Xd}9h(f$LAMH6q9u(j*vrUgIX`kVuH_Mf}ihVAEPuIr%!>q7#5_imDZGYhvLGyb4 zE>z64|?G5}*p;Iagu513i* z%&j_MAlRQKDa^w^WI@?CYaxfw_{bwas0QBz%UYCOrkAjY_l{n<3(yDCKJ$O3&yeK- zoPZ#KXDBIy*1`ZxF-qdMXxa``E6dYt&k=!?fg#7jDxcnbA$WGv!=1K*=+O@4Svkv0 zlfmk2D(JHNKcpCIIc--TuVd38U>AxL$X;lJDERbQMY1WE|Ii|NQJ?EtMjorfa&6lm z>WEf5FFfiQW3s?=%PkJ2FD_iCjaU`7LTHEFBx2{%(Wow>2F-?RBeBVoo{5#zYGx2< zW9rPCbQ8@~Th*9Er&`oam$s#sB6C@}-I_GNa;!-7jS<(fED}9Ngzc+0O28;WW%(wf z-`^q_|5RXt-oW&#Ir{MLXad&1bCak?x!jJ*lC|`%2))J9)LfkSd^^eL$P>6cHjEsL z9l;Z-oYRm|YmttZ>HlK=X`t&4lTt<7;-$QZ8w0YN2tRgTU{oh|qhdD~_<%AaA@s=? zm)m>TVqDEZOMYtnJ9>@hnD~~C`oe$yxD6kUhh_S0g4SZOfDBXR6_$x*o3k3b;tt+V z4&35XPYTq>-cf!g1)k_M33YeM~>kAG=*#aU*T zJKe2mGKx9e`xb>moU9mfSjrhOfP=dZi{k`Z!oPv^26rSV*>neOR}=Hjo3F_9aX>@e z#e^jz7bqfO|K7|BbtG)M*;*!(MKnIk4-*iK$UI+f+Jq`E1ueonTWus>Vlo>tocBuS zMw3oi;)DST4sd}YLPdFZiv+a4nB&rw4Xl|YOm*m^1M|^=`RKsBUk9df)`$0f`^vF! zRL~{wkj>Ev_*#U$e{ImHd(pmDZnPiL$STKuXkV|7zr)rC<4A{zD;*)l6B_snRctakj9TJfz8RCYC=p ztCuk}om0UKi!ZaPh)@|8=(maq6e)Mx{jL4@WiL;E7~WZgck;34F}|96uD3V#VfR1( zWt{&L_buM_8NiPFUp9BP8t4C>Z*D%G|9gn1{rul_E|2m(+(|%jH|SlT2DHKcl}-eT zw)Z;~*kDxiWMGq*8kWzV#l`KS>e}mPp>QI&!C?;>cas~*Oz4}AR3@UxmtnR%P{gxf zSYLZZUNnBw^d%O$9tQ{9gZL;bh#8i33lD*JEc33REUgOUz8hHF3oIM%xnNk`jL$mq zE>0*Jq{&N=?7__j^qPYV`OQ1EEYzL}#xMUjZeocgx@!_vH|$V=%nj_6cA1EMJO&P4=<`SRHTTYGQ^qmYzqCqETb7>=14FjBrjFy z2)HL{>EYI+xcp4wQtOXap{cgsq(q z$txP@)j4;AidX3ZCO8(%HoE|PRd!Kxr~5gN&*Ss>JU)G&|1SUl|Nk**g6sfj0sse9 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/calibre-web/6.1.3/ix_values.yaml b/incubator/calibre-web/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/incubator/calibre-web/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/calibre-web/6.1.3/questions.yaml b/incubator/calibre-web/6.1.3/questions.yaml new file mode 100644 index 00000000000..4262a29ccb7 --- /dev/null +++ b/incubator/calibre-web/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8083 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36015 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/calibre-web/6.1.3/templates/common.yaml b/incubator/calibre-web/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/calibre-web/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/calibre-web/6.1.3/test_values.yaml b/incubator/calibre-web/6.1.3/test_values.yaml new file mode 100644 index 00000000000..240957f08b5 --- /dev/null +++ b/incubator/calibre-web/6.1.3/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Calibre-Web. + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8083 + +env: {} + # TZ: + # PUID: + # PGID: + # UMASK: + # DOCKER_MODS: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/calibre-web/6.1.3/values.yaml b/incubator/calibre-web/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deluge/6.1.3/CONFIG.md b/incubator/deluge/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/deluge/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/deluge/6.1.3/Chart.lock b/incubator/deluge/6.1.3/Chart.lock new file mode 100644 index 00000000000..bb389c7f1e3 --- /dev/null +++ b/incubator/deluge/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:37.306197432Z" diff --git a/incubator/deluge/6.1.3/Chart.yaml b/incubator/deluge/6.1.3/Chart.yaml new file mode 100644 index 00000000000..aa1819f8e05 --- /dev/null +++ b/incubator/deluge/6.1.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Deluge App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/charts/incubator/deluge +icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200 +keywords: +- transmission +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: deluge +sources: +- https://github.com/deluge-torrent/deluge +type: application +version: 6.1.3 diff --git a/incubator/deluge/6.1.3/README.md b/incubator/deluge/6.1.3/README.md new file mode 100644 index 00000000000..9828773a773 --- /dev/null +++ b/incubator/deluge/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Deluge App for TrueNAS SCALE + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `deluge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deluge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/deluge/6.1.3/app-readme.md b/incubator/deluge/6.1.3/app-readme.md new file mode 100644 index 00000000000..0bce0f81e82 --- /dev/null +++ b/incubator/deluge/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Deluge App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Deluge App for TrueNAS SCALE diff --git a/incubator/deluge/6.1.3/charts/common-6.3.4.tgz b/incubator/deluge/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/deluge/6.1.3/ix_values.yaml b/incubator/deluge/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/incubator/deluge/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/deluge/6.1.3/questions.yaml b/incubator/deluge/6.1.3/questions.yaml new file mode 100644 index 00000000000..a3466d75f73 --- /dev/null +++ b/incubator/deluge/6.1.3/questions.yaml @@ -0,0 +1,724 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + ## Portal Button + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + ## Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Australia/Hobart" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + ## Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + ## Enable Host Network + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8112 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36026 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/deluge/6.1.3/templates/common.yaml b/incubator/deluge/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deluge/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deluge/6.1.3/test_values.yaml b/incubator/deluge/6.1.3/test_values.yaml new file mode 100644 index 00000000000..3c8f28d1d26 --- /dev/null +++ b/incubator/deluge/6.1.3/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for deluge. + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8112 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51413 + protocol: TCP + udp: + enabled: true + port: 51413 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/deluge/6.1.3/values.yaml b/incubator/deluge/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/fireflyiii/4.1.3/CONFIG.md b/incubator/fireflyiii/4.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/fireflyiii/4.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps 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.1.3/Chart.lock b/incubator/fireflyiii/4.1.3/Chart.lock new file mode 100644 index 00000000000..d04fbcc6322 --- /dev/null +++ b/incubator/fireflyiii/4.1.3/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.9 +digest: sha256:3169f0a1c2fe02927086a3a0a507e46ccdb618f15250b0dee4d6c6108949a001 +generated: "2021-06-14T22:32:41.614533251Z" diff --git a/incubator/fireflyiii/4.1.3/Chart.yaml b/incubator/fireflyiii/4.1.3/Chart.yaml new file mode 100644 index 00000000000..60ea1d38a7d --- /dev/null +++ b/incubator/fireflyiii/4.1.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.9 +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.1.3 diff --git a/incubator/fireflyiii/4.1.3/README.md b/incubator/fireflyiii/4.1.3/README.md new file mode 100644 index 00000000000..54d181719c1 --- /dev/null +++ b/incubator/fireflyiii/4.1.3/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.1.3/app-readme.md b/incubator/fireflyiii/4.1.3/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.1.3/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.1.3/charts/common-6.3.4.tgz b/incubator/fireflyiii/4.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.1.3/charts/postgresql-10.4.9.tgz b/incubator/fireflyiii/4.1.3/charts/postgresql-10.4.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cc65122b86d87f51c1a4fb223e55d0195726b004 GIT binary patch literal 48739 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 d{wG4-t!-^=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: freshrss +sources: +- https://github.com/FreshRSS/FreshRSS +- https://hub.docker.com/r/linuxserver/freshrss +type: application +version: 6.1.3 diff --git a/incubator/freshrss/6.1.3/README.md b/incubator/freshrss/6.1.3/README.md new file mode 100644 index 00000000000..f74143bfe11 --- /dev/null +++ b/incubator/freshrss/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +FreshRSS is a self-hosted RSS feed aggregator + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `freshrss` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `freshrss` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/freshrss/6.1.3/app-readme.md b/incubator/freshrss/6.1.3/app-readme.md new file mode 100644 index 00000000000..7d8a844b9cc --- /dev/null +++ b/incubator/freshrss/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +FreshRSS is a self-hosted RSS feed aggregator +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FreshRSS is a self-hosted RSS feed aggregator diff --git a/incubator/freshrss/6.1.3/charts/common-6.3.4.tgz b/incubator/freshrss/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/freshrss/6.1.3/ix_values.yaml b/incubator/freshrss/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..98641a23823 --- /dev/null +++ b/incubator/freshrss/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/freshrss/6.1.3/questions.yaml b/incubator/freshrss/6.1.3/questions.yaml new file mode 100644 index 00000000000..fd9e3abec77 --- /dev/null +++ b/incubator/freshrss/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36029 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/freshrss/6.1.3/templates/common.yaml b/incubator/freshrss/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/freshrss/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/freshrss/6.1.3/test_values.yaml b/incubator/freshrss/6.1.3/test_values.yaml new file mode 100644 index 00000000000..8cadee1dd69 --- /dev/null +++ b/incubator/freshrss/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for FreshRSS. + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/freshrss/6.1.3/values.yaml b/incubator/freshrss/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gaps/6.1.3/CONFIG.md b/incubator/gaps/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/gaps/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/gaps/6.1.3/Chart.lock b/incubator/gaps/6.1.3/Chart.lock new file mode 100644 index 00000000000..a01fb8a43e8 --- /dev/null +++ b/incubator/gaps/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:48.692872274Z" diff --git a/incubator/gaps/6.1.3/Chart.yaml b/incubator/gaps/6.1.3/Chart.yaml new file mode 100644 index 00000000000..bd64f8b6515 --- /dev/null +++ b/incubator/gaps/6.1.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Gaps searches through your Plex Server or local folders for all movies, + then queries for known movies in the same collection. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/gaps +icon: https://raw.githubusercontent.com/JasonHHouse/gaps/master/images/Final-Black.png +keywords: +- gaps +- plex +- plex-media-server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: gaps +sources: +- https://github.com/JasonHHouse/gaps +type: application +version: 6.1.3 diff --git a/incubator/gaps/6.1.3/README.md b/incubator/gaps/6.1.3/README.md new file mode 100644 index 00000000000..b38d707d483 --- /dev/null +++ b/incubator/gaps/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `gaps` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gaps` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/gaps/6.1.3/app-readme.md b/incubator/gaps/6.1.3/app-readme.md new file mode 100644 index 00000000000..2333306b1d5 --- /dev/null +++ b/incubator/gaps/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Gaps searches through your Plex Server or local folders for all movies, diff --git a/incubator/gaps/6.1.3/charts/common-6.3.4.tgz b/incubator/gaps/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/gaps/6.1.3/ix_values.yaml b/incubator/gaps/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/incubator/gaps/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/gaps/6.1.3/questions.yaml b/incubator/gaps/6.1.3/questions.yaml new file mode 100644 index 00000000000..ff744424e18 --- /dev/null +++ b/incubator/gaps/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8484 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36030 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/gaps/6.1.3/templates/common.yaml b/incubator/gaps/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gaps/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gaps/6.1.3/test_values.yaml b/incubator/gaps/6.1.3/test_values.yaml new file mode 100644 index 00000000000..c7555ac8822 --- /dev/null +++ b/incubator/gaps/6.1.3/test_values.yaml @@ -0,0 +1,24 @@ +# Default values for Gaps. + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8484 + +env: {} + # TZ: UTC + +persistence: + data: + enabled: true + mountPath: "/usr/data" + type: emptyDir diff --git a/incubator/gaps/6.1.3/values.yaml b/incubator/gaps/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/grocy/6.1.3/CONFIG.md b/incubator/grocy/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/grocy/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/grocy/6.1.3/Chart.lock b/incubator/grocy/6.1.3/Chart.lock new file mode 100644 index 00000000000..2dcbd1f35ae --- /dev/null +++ b/incubator/grocy/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:50.611073183Z" diff --git a/incubator/grocy/6.1.3/Chart.yaml b/incubator/grocy/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f4baf4e33bc --- /dev/null +++ b/incubator/grocy/6.1.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: ERP beyond your fridge - grocy is a web-based self-hosted groceries & + household management solution for your home +home: https://github.com/truecharts/apps/tree/master/charts/incubator/grocy +icon: https://github.com/grocy/grocy/raw/master/public/img/appicons/mstile-150x150.png +keywords: +- grocy +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: grocy +sources: +- https://github.com/grocy/grocy +type: application +version: 6.1.3 diff --git a/incubator/grocy/6.1.3/README.md b/incubator/grocy/6.1.3/README.md new file mode 100644 index 00000000000..6ac696bfe77 --- /dev/null +++ b/incubator/grocy/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `grocy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `grocy` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/grocy/6.1.3/app-readme.md b/incubator/grocy/6.1.3/app-readme.md new file mode 100644 index 00000000000..de807b7ad25 --- /dev/null +++ b/incubator/grocy/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ERP beyond your fridge - grocy is a web-based self-hosted groceries & diff --git a/incubator/grocy/6.1.3/charts/common-6.3.4.tgz b/incubator/grocy/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/grocy/6.1.3/ix_values.yaml b/incubator/grocy/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..f646426e755 --- /dev/null +++ b/incubator/grocy/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/grocy/6.1.3/questions.yaml b/incubator/grocy/6.1.3/questions.yaml new file mode 100644 index 00000000000..d56a7595712 --- /dev/null +++ b/incubator/grocy/6.1.3/questions.yaml @@ -0,0 +1,606 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36031 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/grocy/6.1.3/templates/common.yaml b/incubator/grocy/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/grocy/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/grocy/6.1.3/test_values.yaml b/incubator/grocy/6.1.3/test_values.yaml new file mode 100644 index 00000000000..66f3d07f06c --- /dev/null +++ b/incubator/grocy/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for grocy. + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/grocy/6.1.3/values.yaml b/incubator/grocy/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/haste-server/1.1.3/CONFIG.md b/incubator/haste-server/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/haste-server/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/haste-server/1.1.3/Chart.lock b/incubator/haste-server/1.1.3/Chart.lock new file mode 100644 index 00000000000..0bed468f5bf --- /dev/null +++ b/incubator/haste-server/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:52.562782667Z" diff --git a/incubator/haste-server/1.1.3/Chart.yaml b/incubator/haste-server/1.1.3/Chart.yaml new file mode 100644 index 00000000000..de270b99382 --- /dev/null +++ b/incubator/haste-server/1.1.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: Simple text sharing +home: https://github.com/truecharts/apps/tree/master/charts/incubator/haste +icon: https://raw.githubusercontent.com/nicholaswilde/helm-charts/main/images/haste.png +keywords: +- haste +- hastebin +- haste-server +- pastebin +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: haste-server +sources: +- https://github.com/seejohnrun/haste-server +- https://github.com/k8s-at-home/container-images +version: 1.1.3 diff --git a/incubator/haste-server/1.1.3/README.md b/incubator/haste-server/1.1.3/README.md new file mode 100644 index 00000000000..639245c20fa --- /dev/null +++ b/incubator/haste-server/1.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +Simple text sharing + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `haste-server` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `haste-server` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/haste-server/1.1.3/app-readme.md b/incubator/haste-server/1.1.3/app-readme.md new file mode 100644 index 00000000000..dd4cf171e08 --- /dev/null +++ b/incubator/haste-server/1.1.3/app-readme.md @@ -0,0 +1 @@ +Simple text sharing diff --git a/incubator/haste-server/1.1.3/charts/common-6.3.4.tgz b/incubator/haste-server/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/haste-server/1.1.3/ix_values.yaml b/incubator/haste-server/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..a9ee0bcb65b --- /dev/null +++ b/incubator/haste-server/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/haste-server/1.1.3/questions.yaml b/incubator/haste-server/1.1.3/questions.yaml new file mode 100644 index 00000000000..cad110ee40c --- /dev/null +++ b/incubator/haste-server/1.1.3/questions.yaml @@ -0,0 +1,553 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: STORAGE_FILEPATH + label: "STORAGE_FILEPATH" + schema: + type: string + default: "/config" + - variable: STORAGE_TYPE + label: "STORAGE_TYPE" + schema: + type: string + default: "file" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7777 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36055 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/haste-server/1.1.3/templates/common.yaml b/incubator/haste-server/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/haste-server/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/haste-server/1.1.3/test_values.yaml b/incubator/haste-server/1.1.3/test_values.yaml new file mode 100644 index 00000000000..942cc592bd5 --- /dev/null +++ b/incubator/haste-server/1.1.3/test_values.yaml @@ -0,0 +1,45 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/haste-server + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: latest + +strategy: + type: Recreate + +# -- environment variables. See [image docs](https://github.com/seejohnrun/haste-server) for more details. +# @default -- See below +env: + # -- filepath for persistance + STORAGE_FILEPATH: "/config" + # -- sets backend + STORAGE_TYPE: "file" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 7777 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/haste-server/1.1.3/values.yaml b/incubator/haste-server/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/heimdall/6.1.3/CONFIG.md b/incubator/heimdall/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/heimdall/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/heimdall/6.1.3/Chart.lock b/incubator/heimdall/6.1.3/Chart.lock new file mode 100644 index 00000000000..5d8e9c9a9da --- /dev/null +++ b/incubator/heimdall/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:54.461372126Z" diff --git a/incubator/heimdall/6.1.3/Chart.yaml b/incubator/heimdall/6.1.3/Chart.yaml new file mode 100644 index 00000000000..1289315167a --- /dev/null +++ b/incubator/heimdall/6.1.3/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: An Application dashboard and launcher +home: https://github.com/truecharts/apps/tree/master/charts/incubator/heimdall +icon: https://i.imgur.com/mM4tcO5.png +keywords: +- heimdall +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: heimdall +sources: null +type: application +version: 6.1.3 diff --git a/incubator/heimdall/6.1.3/README.md b/incubator/heimdall/6.1.3/README.md new file mode 100644 index 00000000000..09eddbba410 --- /dev/null +++ b/incubator/heimdall/6.1.3/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +An Application dashboard and launcher + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `heimdall` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `heimdall` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/heimdall/6.1.3/app-readme.md b/incubator/heimdall/6.1.3/app-readme.md new file mode 100644 index 00000000000..3fb24ea7f1b --- /dev/null +++ b/incubator/heimdall/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +An Application dashboard and launcher +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An Application dashboard and launcher diff --git a/incubator/heimdall/6.1.3/charts/common-6.3.4.tgz b/incubator/heimdall/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/heimdall/6.1.3/ix_values.yaml b/incubator/heimdall/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/incubator/heimdall/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/heimdall/6.1.3/questions.yaml b/incubator/heimdall/6.1.3/questions.yaml new file mode 100644 index 00000000000..ab9b4bbee26 --- /dev/null +++ b/incubator/heimdall/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/heimdall/6.1.3/templates/common.yaml b/incubator/heimdall/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/heimdall/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/heimdall/6.1.3/test_values.yaml b/incubator/heimdall/6.1.3/test_values.yaml new file mode 100644 index 00000000000..658614359ea --- /dev/null +++ b/incubator/heimdall/6.1.3/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for grocy. + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +probes: + startup: + enabled: true + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/heimdall/6.1.3/values.yaml b/incubator/heimdall/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lazylibrarian/6.1.3/CONFIG.md b/incubator/lazylibrarian/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lazylibrarian/6.1.3/Chart.lock b/incubator/lazylibrarian/6.1.3/Chart.lock new file mode 100644 index 00000000000..6bae68c0238 --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:56.330297926Z" diff --git a/incubator/lazylibrarian/6.1.3/Chart.yaml b/incubator/lazylibrarian/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f880f6390e4 --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Get all your books, like series with Sonarr... +home: https://github.com/truecharts/apps/tree/master/charts/incubator/lazylibrarian +icon: https://lazylibrarian.gitlab.io/logo.svg +keywords: +- lazylibrarian +- ebooks +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: lazylibrarian +sources: +- https://gitlab.com/LazyLibrarian/LazyLibrarian.git +- https://lazylibrarian.gitlab.io +type: application +version: 6.1.3 diff --git a/incubator/lazylibrarian/6.1.3/README.md b/incubator/lazylibrarian/6.1.3/README.md new file mode 100644 index 00000000000..364a16a27da --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +Get all your books, like series with Sonarr... + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `lazylibrarian` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lazylibrarian` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lazylibrarian/6.1.3/app-readme.md b/incubator/lazylibrarian/6.1.3/app-readme.md new file mode 100644 index 00000000000..c67c1844868 --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Get all your books, like series with Sonarr... +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Get all your books, like series with Sonarr... diff --git a/incubator/lazylibrarian/6.1.3/charts/common-6.3.4.tgz b/incubator/lazylibrarian/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/lazylibrarian/6.1.3/ix_values.yaml b/incubator/lazylibrarian/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lazylibrarian/6.1.3/questions.yaml b/incubator/lazylibrarian/6.1.3/questions.yaml new file mode 100644 index 00000000000..f063edc9c3d --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5299 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lazylibrarian/6.1.3/templates/common.yaml b/incubator/lazylibrarian/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lazylibrarian/6.1.3/test_values.yaml b/incubator/lazylibrarian/6.1.3/test_values.yaml new file mode 100644 index 00000000000..6bba6ace4dc --- /dev/null +++ b/incubator/lazylibrarian/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for LazyLibrarian. + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5299 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lazylibrarian/6.1.3/values.yaml b/incubator/lazylibrarian/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lychee/6.1.3/CONFIG.md b/incubator/lychee/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lychee/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/lychee/6.1.3/Chart.lock b/incubator/lychee/6.1.3/Chart.lock new file mode 100644 index 00000000000..1f268d3724c --- /dev/null +++ b/incubator/lychee/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:58.20237715Z" diff --git a/incubator/lychee/6.1.3/Chart.yaml b/incubator/lychee/6.1.3/Chart.yaml new file mode 100644 index 00000000000..83e1a9b53fb --- /dev/null +++ b/incubator/lychee/6.1.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Lychee is a free photo-management tool, which runs on your server or + web-space +home: https://github.com/truecharts/apps/tree/master/charts/incubator/lychee +icon: https://github.com/LycheeOrg/Lychee/blob/master/Banner.png?raw=true +keywords: +- lychee +- photo +- pictures +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: lychee +sources: +- https://github.com/LycheeOrg/Lychee +- https://hub.docker.com/r/lycheeorg/lychee +type: application +version: 6.1.3 diff --git a/incubator/lychee/6.1.3/README.md b/incubator/lychee/6.1.3/README.md new file mode 100644 index 00000000000..aa434e835bb --- /dev/null +++ b/incubator/lychee/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Lychee is a free photo-management tool, which runs on your server or web-space + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `lychee` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lychee` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/lychee/6.1.3/app-readme.md b/incubator/lychee/6.1.3/app-readme.md new file mode 100644 index 00000000000..792e9d50ab7 --- /dev/null +++ b/incubator/lychee/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Lychee is a free photo-management tool, which runs on your server or web-space +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Lychee is a free photo-management tool, which runs on your server or diff --git a/incubator/lychee/6.1.3/charts/common-6.3.4.tgz b/incubator/lychee/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/lychee/6.1.3/ix_values.yaml b/incubator/lychee/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..63bb15faef3 --- /dev/null +++ b/incubator/lychee/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lychee/6.1.3/questions.yaml b/incubator/lychee/6.1.3/questions.yaml new file mode 100644 index 00000000000..4846842195f --- /dev/null +++ b/incubator/lychee/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36034 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/lychee/6.1.3/templates/common.yaml b/incubator/lychee/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lychee/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lychee/6.1.3/test_values.yaml b/incubator/lychee/6.1.3/test_values.yaml new file mode 100644 index 00000000000..fefa59b25b6 --- /dev/null +++ b/incubator/lychee/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Lychee. + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # PHP_TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/lychee/6.1.3/values.yaml b/incubator/lychee/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mealie/1.1.3/CONFIG.md b/incubator/mealie/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mealie/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mealie/1.1.3/Chart.lock b/incubator/mealie/1.1.3/Chart.lock new file mode 100644 index 00000000000..f520f571460 --- /dev/null +++ b/incubator/mealie/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:00.042168162Z" diff --git a/incubator/mealie/1.1.3/Chart.yaml b/incubator/mealie/1.1.3/Chart.yaml new file mode 100644 index 00000000000..2c44fe12aba --- /dev/null +++ b/incubator/mealie/1.1.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: Mealie is a self hosted recipe manager and meal planner with a RestAPI + backend and a reactive frontend application built in Vue for a pleasant user experience + for the whole family. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mealie +icon: https://raw.githubusercontent.com/hay-kot/mealie/gh-pages/assets/img/favicon.png +keywords: +- grocy +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: mealie +sources: +- https://github.com/hay-kot/mealie +version: 1.1.3 diff --git a/incubator/mealie/1.1.3/README.md b/incubator/mealie/1.1.3/README.md new file mode 100644 index 00000000000..e7c5ffbf7a7 --- /dev/null +++ b/incubator/mealie/1.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `mealie` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mealie` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mealie/1.1.3/app-readme.md b/incubator/mealie/1.1.3/app-readme.md new file mode 100644 index 00000000000..53470db1cd0 --- /dev/null +++ b/incubator/mealie/1.1.3/app-readme.md @@ -0,0 +1 @@ +Mealie is a self hosted recipe manager and meal planner with a RestAPI diff --git a/incubator/mealie/1.1.3/charts/common-6.3.4.tgz b/incubator/mealie/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/mealie/1.1.3/ix_values.yaml b/incubator/mealie/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..92027f7dd62 --- /dev/null +++ b/incubator/mealie/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: hkotel/mealie + # -- image tag + tag: v0.4.3 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mealie/1.1.3/questions.yaml b/incubator/mealie/1.1.3/questions.yaml new file mode 100644 index 00000000000..92699684fd7 --- /dev/null +++ b/incubator/mealie/1.1.3/questions.yaml @@ -0,0 +1,548 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: DB_TYPE + label: "DB_TYPE" + schema: + type: string + default: "sqlite" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36056 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/data/" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mealie/1.1.3/templates/common.yaml b/incubator/mealie/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/mealie/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/mealie/1.1.3/test_values.yaml b/incubator/mealie/1.1.3/test_values.yaml new file mode 100644 index 00000000000..8262b72c2e7 --- /dev/null +++ b/incubator/mealie/1.1.3/test_values.yaml @@ -0,0 +1,43 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: hkotel/mealie + # -- image tag + tag: v0.4.3 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hay-kot.github.io/mealie/getting-started/install/#env-variables) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application database type + DB_TYPE: sqlite + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data/ diff --git a/incubator/mealie/1.1.3/values.yaml b/incubator/mealie/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/mosquitto/1.1.4/CONFIG.md b/incubator/mosquitto/1.1.4/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/mosquitto/1.1.4/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/mosquitto/1.1.4/Chart.lock b/incubator/mosquitto/1.1.4/Chart.lock new file mode 100644 index 00000000000..e53af14124b --- /dev/null +++ b/incubator/mosquitto/1.1.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:01.968750287Z" diff --git a/incubator/mosquitto/1.1.4/Chart.yaml b/incubator/mosquitto/1.1.4/Chart.yaml new file mode 100644 index 00000000000..a9bf866babc --- /dev/null +++ b/incubator/mosquitto/1.1.4/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Eclipse Mosquitto - An open source MQTT broker +home: https://github.com/truecharts/apps/tree/master/charts/incubator/mosquitto +icon: https://raw.githubusercontent.com/eclipse/mosquitto/master/logo/mosquitto-logo-min.svg +keywords: +- mosquitto +- MQTT +- eclipse-iot +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: mosquitto +sources: +- https://github.com/eclipse/mosquitto +type: application +version: 1.1.4 diff --git a/incubator/mosquitto/1.1.4/README.md b/incubator/mosquitto/1.1.4/README.md new file mode 100644 index 00000000000..9d71dbea3f9 --- /dev/null +++ b/incubator/mosquitto/1.1.4/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.3](https://img.shields.io/badge/Version-1.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Eclipse Mosquitto - An open source MQTT broker + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `mosquitto` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mosquitto` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/mosquitto/1.1.4/app-readme.md b/incubator/mosquitto/1.1.4/app-readme.md new file mode 100644 index 00000000000..93652bac7a6 --- /dev/null +++ b/incubator/mosquitto/1.1.4/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Eclipse Mosquitto - An open source MQTT broker diff --git a/incubator/mosquitto/1.1.4/charts/common-6.3.4.tgz b/incubator/mosquitto/1.1.4/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/mosquitto/1.1.4/ix_values.yaml b/incubator/mosquitto/1.1.4/ix_values.yaml new file mode 100644 index 00000000000..b638fcf296e --- /dev/null +++ b/incubator/mosquitto/1.1.4/ix_values.yaml @@ -0,0 +1,18 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/mosquitto/1.1.4/questions.yaml b/incubator/mosquitto/1.1.4/questions.yaml new file mode 100644 index 00000000000..8c6888e9170 --- /dev/null +++ b/incubator/mosquitto/1.1.4/questions.yaml @@ -0,0 +1,768 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: auth + group: "App Configuration" + label: "Authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + description: "By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config." + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1883 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1883 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36061 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/mosquitto/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: configinc + label: "App config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/mosquitto/configinc" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/mosquitto/1.1.4/templates/common.yaml b/incubator/mosquitto/1.1.4/templates/common.yaml new file mode 100644 index 00000000000..15d4d961a1c --- /dev/null +++ b/incubator/mosquitto/1.1.4/templates/common.yaml @@ -0,0 +1,17 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Append the configMap volume to the volumes */}} +{{- define "mosquitto.configVolume" -}} +enabled: "true" +mountPath: "/mosquitto/config/mosquitto.conf" +subPath: "mosquitto.conf" +type: "custom" +volumeSpec: + configMap: + name: {{ template "common.names.fullname" . }}-config +{{- end -}} +{{- $_ := set .Values.persistence "mosquitto-config" (include "mosquitto.configVolume" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/mosquitto/1.1.4/templates/configmap.yaml b/incubator/mosquitto/1.1.4/templates/configmap.yaml new file mode 100644 index 00000000000..489d68b0ea5 --- /dev/null +++ b/incubator/mosquitto/1.1.4/templates/configmap.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-config + labels: + {{- include "common.labels" . | nindent 4 }} +data: + mosquitto.conf: | + listener {{ .Values.service.main.ports.main.port }} + {{- if .Values.auth.enabled }} + allow_anonymous false + {{- else }} + allow_anonymous true + {{- end }} + {{- if .Values.persistence.data.enabled }} + persistence true + persistence_location {{ .Values.persistence.data.mountPath }} + autosave_interval 1800 + {{- end }} + {{- if .Values.persistence.configinc.enabled }} + include_dir {{ .Values.persistence.configinc.mountPath }} + {{- end }} diff --git a/incubator/mosquitto/1.1.4/test_values.yaml b/incubator/mosquitto/1.1.4/test_values.yaml new file mode 100644 index 00000000000..cda69f06c35 --- /dev/null +++ b/incubator/mosquitto/1.1.4/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + # -- image repository + repository: eclipse-mosquitto + # -- image tag + tag: 2.0.11 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + protocol: TCP + enabled: true + port: 1883 + +auth: + # -- By enabling this, `allow_anonymous` gets set to `false` in the mosquitto config. + enabled: false + +persistence: + # -- Configure a persistent volume to place mosquitto data in. + # When enabled, this enables `persistence` and `persistence_location` in the mosquitto config. + # @default -- See values.yaml + data: + enabled: false + mountPath: /mosquitto/data + # -- Configure a persistent volume to place *.conf mosquitto-config-files in. + # When enabled, this gets set as `include_dir` in the mosquitto config. + # @default -- See values.yaml + configinc: + enabled: false + mountPath: /mosquitto/configinc + accessMode: ReadWriteOnce + size: 100Mi diff --git a/incubator/mosquitto/1.1.4/values.yaml b/incubator/mosquitto/1.1.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/navidrome/6.1.3/CONFIG.md b/incubator/navidrome/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/navidrome/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/navidrome/6.1.3/Chart.lock b/incubator/navidrome/6.1.3/Chart.lock new file mode 100644 index 00000000000..f737b889801 --- /dev/null +++ b/incubator/navidrome/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:03.907317078Z" diff --git a/incubator/navidrome/6.1.3/Chart.yaml b/incubator/navidrome/6.1.3/Chart.yaml new file mode 100644 index 00000000000..c78359ec69f --- /dev/null +++ b/incubator/navidrome/6.1.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Navidrome is an open source web-based music collection server and streamer +home: https://github.com/truecharts/apps/tree/master/charts/incubator/navidrome +icon: https://raw.githubusercontent.com/navidrome/navidrome/v0.42.0/ui/src/icons/android-icon-192x192.png +keywords: +- navidrome +- music +- streaming +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: navidrome +sources: +- https://github.com/deluan/navidrome +- https://hub.docker.com/r/deluan/navidrome +type: application +version: 6.1.3 diff --git a/incubator/navidrome/6.1.3/README.md b/incubator/navidrome/6.1.3/README.md new file mode 100644 index 00000000000..55b2cc48984 --- /dev/null +++ b/incubator/navidrome/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Navidrome is an open source web-based music collection server and streamer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `navidrome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `navidrome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/navidrome/6.1.3/app-readme.md b/incubator/navidrome/6.1.3/app-readme.md new file mode 100644 index 00000000000..4f10b994279 --- /dev/null +++ b/incubator/navidrome/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Navidrome is an open source web-based music collection server and streamer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Navidrome is an open source web-based music collection server and streamer diff --git a/incubator/navidrome/6.1.3/charts/common-6.3.4.tgz b/incubator/navidrome/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/navidrome/6.1.3/ix_values.yaml b/incubator/navidrome/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..864240f8e68 --- /dev/null +++ b/incubator/navidrome/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.43.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/navidrome/6.1.3/questions.yaml b/incubator/navidrome/6.1.3/questions.yaml new file mode 100644 index 00000000000..d2a38582d29 --- /dev/null +++ b/incubator/navidrome/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4533 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36027 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/navidrome/6.1.3/templates/common.yaml b/incubator/navidrome/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/navidrome/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/navidrome/6.1.3/test_values.yaml b/incubator/navidrome/6.1.3/test_values.yaml new file mode 100644 index 00000000000..fa731fdee65 --- /dev/null +++ b/incubator/navidrome/6.1.3/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.43.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 4533 + +env: + ND_SCANINTERVAL: "15m" + ND_LOGLEVEL: "info" + ND_SESSIONTIMEOUT: "24h" + ND_ENABLETRANSCODINGCONFIG: "true" + ND_MUSICFOLDER: "/music" + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/navidrome/6.1.3/values.yaml b/incubator/navidrome/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/node-red/6.1.3/CONFIG.md b/incubator/node-red/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/node-red/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/node-red/6.1.3/Chart.lock b/incubator/node-red/6.1.3/Chart.lock new file mode 100644 index 00000000000..976ccb53384 --- /dev/null +++ b/incubator/node-red/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:05.849956426Z" diff --git a/incubator/node-red/6.1.3/Chart.yaml b/incubator/node-red/6.1.3/Chart.yaml new file mode 100644 index 00000000000..4dc9a99878a --- /dev/null +++ b/incubator/node-red/6.1.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Node-RED is low-code programming for event-driven applications +home: https://github.com/truecharts/apps/tree/master/charts/incubator/node-red +icon: https://nodered.org/about/resources/media/node-red-icon-2.png +keywords: +- node-red +- nodered +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: node-red +sources: +- https://github.com/node-red/node-red-docker +type: application +version: 6.1.3 diff --git a/incubator/node-red/6.1.3/README.md b/incubator/node-red/6.1.3/README.md new file mode 100644 index 00000000000..7e2fe870bae --- /dev/null +++ b/incubator/node-red/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Node-RED is low-code programming for event-driven applications + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `node-red` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `node-red` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/node-red/6.1.3/app-readme.md b/incubator/node-red/6.1.3/app-readme.md new file mode 100644 index 00000000000..6ecbe710e71 --- /dev/null +++ b/incubator/node-red/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Node-RED is low-code programming for event-driven applications +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Node-RED is low-code programming for event-driven applications diff --git a/incubator/node-red/6.1.3/charts/common-6.3.4.tgz b/incubator/node-red/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/node-red/6.1.3/ix_values.yaml b/incubator/node-red/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..1a08797f274 --- /dev/null +++ b/incubator/node-red/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/node-red/6.1.3/questions.yaml b/incubator/node-red/6.1.3/questions.yaml new file mode 100644 index 00000000000..35a175907bb --- /dev/null +++ b/incubator/node-red/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1880 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36028 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/node-red/6.1.3/templates/common.yaml b/incubator/node-red/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/node-red/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/node-red/6.1.3/test_values.yaml b/incubator/node-red/6.1.3/test_values.yaml new file mode 100644 index 00000000000..a6ddda7114e --- /dev/null +++ b/incubator/node-red/6.1.3/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.5 + +strategy: + type: Recreate + +# See more environment varaibles in the node-red documentation +# https://nodered.org/docs/getting-started/docker +env: {} + # TZ: + # NODE_OPTIONS: + # NODE_RED_ENABLE_PROJECTS: + # NODE_RED_ENABLE_SAFE_MODE: + # FLOWS: + +service: + main: + ports: + main: + port: 1880 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/incubator/node-red/6.1.3/values.yaml b/incubator/node-red/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nzbget/6.1.3/CONFIG.md b/incubator/nzbget/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/nzbget/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/nzbget/6.1.3/Chart.lock b/incubator/nzbget/6.1.3/Chart.lock new file mode 100644 index 00000000000..41be18bf74c --- /dev/null +++ b/incubator/nzbget/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:07.798729841Z" diff --git a/incubator/nzbget/6.1.3/Chart.yaml b/incubator/nzbget/6.1.3/Chart.yaml new file mode 100644 index 00000000000..e5efbeb368b --- /dev/null +++ b/incubator/nzbget/6.1.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: NZBGet is a Usenet downloader client +home: https://github.com/truecharts/apps/tree/master/charts/incubator/nzbget +icon: https://avatars1.githubusercontent.com/u/3368377?s=400&v=4 +keywords: +- nzbget +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: nzbget +sources: +- https://nzbget.net/ +type: application +version: 6.1.3 diff --git a/incubator/nzbget/6.1.3/README.md b/incubator/nzbget/6.1.3/README.md new file mode 100644 index 00000000000..702d0038550 --- /dev/null +++ b/incubator/nzbget/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +NZBGet is a Usenet downloader client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `nzbget` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbget` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nzbget/6.1.3/app-readme.md b/incubator/nzbget/6.1.3/app-readme.md new file mode 100644 index 00000000000..bde861cf216 --- /dev/null +++ b/incubator/nzbget/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +NZBGet is a Usenet downloader client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +NZBGet is a Usenet downloader client diff --git a/incubator/nzbget/6.1.3/charts/common-6.3.4.tgz b/incubator/nzbget/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/nzbget/6.1.3/ix_values.yaml b/incubator/nzbget/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..ef8e5a4f233 --- /dev/null +++ b/incubator/nzbget/6.1.3/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/nzbget/6.1.3/questions.yaml b/incubator/nzbget/6.1.3/questions.yaml new file mode 100644 index 00000000000..c4f48e3803d --- /dev/null +++ b/incubator/nzbget/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6789 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36021 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/nzbget/6.1.3/templates/common.yaml b/incubator/nzbget/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nzbget/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nzbget/6.1.3/test_values.yaml b/incubator/nzbget/6.1.3/test_values.yaml new file mode 100644 index 00000000000..355d869f8c7 --- /dev/null +++ b/incubator/nzbget/6.1.3/test_values.yaml @@ -0,0 +1,31 @@ +# Default values for nzbget. + +image: + repository: ghcr.io/k8s-at-home/nzbget + pullPolicy: IfNotPresent + tag: v21.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6789 + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/nzbget/6.1.3/values.yaml b/incubator/nzbget/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/organizr/6.1.3/CONFIG.md b/incubator/organizr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/organizr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/organizr/6.1.3/Chart.lock b/incubator/organizr/6.1.3/Chart.lock new file mode 100644 index 00000000000..52753984124 --- /dev/null +++ b/incubator/organizr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:09.716228241Z" diff --git a/incubator/organizr/6.1.3/Chart.yaml b/incubator/organizr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..dfd5c4d2681 --- /dev/null +++ b/incubator/organizr/6.1.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: HTPC/Homelab Services Organizer +home: https://github.com/truecharts/apps/tree/master/charts/incubator/organizr +icon: https://github.com/causefx/Organizr/blob/v2-master/plugins/images/organizr/logo.png?raw=true +keywords: +- organizr +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: organizr +sources: +- https://github.com/causefx/Organizr +- https://hub.docker.com/r/organizr/organizr +type: application +version: 6.1.3 diff --git a/incubator/organizr/6.1.3/README.md b/incubator/organizr/6.1.3/README.md new file mode 100644 index 00000000000..c2cae416d20 --- /dev/null +++ b/incubator/organizr/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +HTPC/Homelab Services Organizer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `organizr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `organizr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/organizr/6.1.3/app-readme.md b/incubator/organizr/6.1.3/app-readme.md new file mode 100644 index 00000000000..0bfeec6a4ef --- /dev/null +++ b/incubator/organizr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +HTPC/Homelab Services Organizer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HTPC/Homelab Services Organizer diff --git a/incubator/organizr/6.1.3/charts/common-6.3.4.tgz b/incubator/organizr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/organizr/6.1.3/ix_values.yaml b/incubator/organizr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/incubator/organizr/6.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/organizr/6.1.3/questions.yaml b/incubator/organizr/6.1.3/questions.yaml new file mode 100644 index 00000000000..f4348d4ba38 --- /dev/null +++ b/incubator/organizr/6.1.3/questions.yaml @@ -0,0 +1,717 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36046 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/organizr/6.1.3/templates/common.yaml b/incubator/organizr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/organizr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/organizr/6.1.3/test_values.yaml b/incubator/organizr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..e61f52c2663 --- /dev/null +++ b/incubator/organizr/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Organizr. + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/organizr/6.1.3/values.yaml b/incubator/organizr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/podgrab/4.1.3/CONFIG.md b/incubator/podgrab/4.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/podgrab/4.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/podgrab/4.1.3/Chart.lock b/incubator/podgrab/4.1.3/Chart.lock new file mode 100644 index 00000000000..b9c04cdd64e --- /dev/null +++ b/incubator/podgrab/4.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:11.694407501Z" diff --git a/incubator/podgrab/4.1.3/Chart.yaml b/incubator/podgrab/4.1.3/Chart.yaml new file mode 100644 index 00000000000..3d865d504b9 --- /dev/null +++ b/incubator/podgrab/4.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: A self-hosted podcast manager to download episodes as soon as they become + live. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/podgrab +icon: https://truecharts.org/_static/img/podgrab-icon.png +keywords: +- podgrab +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: podgrab +sources: +- https://github.com/akhilrex/podgrab +- https://hub.docker.com/r/akhilrex/podgrab +type: application +version: 4.1.3 diff --git a/incubator/podgrab/4.1.3/README.md b/incubator/podgrab/4.1.3/README.md new file mode 100644 index 00000000000..3e8138a6285 --- /dev/null +++ b/incubator/podgrab/4.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A self-hosted podcast manager to download episodes as soon as they become live. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `podgrab` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `podgrab` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/podgrab/4.1.3/app-readme.md b/incubator/podgrab/4.1.3/app-readme.md new file mode 100644 index 00000000000..6d69d3a84c9 --- /dev/null +++ b/incubator/podgrab/4.1.3/app-readme.md @@ -0,0 +1,3 @@ +A self-hosted podcast manager to download episodes as soon as they become live. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A self-hosted podcast manager to download episodes as soon as they become diff --git a/incubator/podgrab/4.1.3/charts/common-6.3.4.tgz b/incubator/podgrab/4.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/podgrab/4.1.3/ix_values.yaml b/incubator/podgrab/4.1.3/ix_values.yaml new file mode 100644 index 00000000000..30b72ab29c1 --- /dev/null +++ b/incubator/podgrab/4.1.3/ix_values.yaml @@ -0,0 +1,26 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/podgrab/4.1.3/questions.yaml b/incubator/podgrab/4.1.3/questions.yaml new file mode 100644 index 00000000000..f15e60dfb0e --- /dev/null +++ b/incubator/podgrab/4.1.3/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PASSWORD + label: "Password" + description: "Desired Password" + schema: + type: string + default: "" + required: false + - variable: CHECK_FREQUENCY + label: "Update Frequency" + description: "Interval to check for new podcasts" + schema: + type: int + default: 240 + required: true + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36047 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/podgrab/4.1.3/templates/common.yaml b/incubator/podgrab/4.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/podgrab/4.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/podgrab/4.1.3/test_values.yaml b/incubator/podgrab/4.1.3/test_values.yaml new file mode 100644 index 00000000000..b0e9dc7d774 --- /dev/null +++ b/incubator/podgrab/4.1.3/test_values.yaml @@ -0,0 +1,57 @@ +# Default values for podgrab. + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.0 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +env: + PASSWORD: secretpasswordgoeshere + CHECK_FREQUENCY: 240 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +hostPathMounts: + - name: assets + enabled: true + mountPath: "/assets" + type: emptyDir + +probes: + liveness: + enabled: false + + readiness: + enabled: false + + startup: + enabled: false diff --git a/incubator/podgrab/4.1.3/values.yaml b/incubator/podgrab/4.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/prowlarr/1.1.3/CONFIG.md b/incubator/prowlarr/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/prowlarr/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/prowlarr/1.1.3/Chart.lock b/incubator/prowlarr/1.1.3/Chart.lock new file mode 100644 index 00000000000..9cf9ba8884c --- /dev/null +++ b/incubator/prowlarr/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:13.63580773Z" diff --git a/incubator/prowlarr/1.1.3/Chart.yaml b/incubator/prowlarr/1.1.3/Chart.yaml new file mode 100644 index 00000000000..e202aecfea4 --- /dev/null +++ b/incubator/prowlarr/1.1.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: Indexer manager/proxy built on the popular arr net base stack to integrate + with your various PVR apps. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/prowlarr +icon: https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/400.png +keywords: +- prowlarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: prowlarr +sources: +- https://github.com/Prowlarr/Prowlarr +- https://github.com/k8s-at-home/container-images +version: 1.1.3 diff --git a/incubator/prowlarr/1.1.3/README.md b/incubator/prowlarr/1.1.3/README.md new file mode 100644 index 00000000000..4c3568ce709 --- /dev/null +++ b/incubator/prowlarr/1.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `prowlarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `prowlarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/prowlarr/1.1.3/app-readme.md b/incubator/prowlarr/1.1.3/app-readme.md new file mode 100644 index 00000000000..e2143326076 --- /dev/null +++ b/incubator/prowlarr/1.1.3/app-readme.md @@ -0,0 +1 @@ +Indexer manager/proxy built on the popular arr net base stack to integrate diff --git a/incubator/prowlarr/1.1.3/charts/common-6.3.4.tgz b/incubator/prowlarr/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/prowlarr/1.1.3/ix_values.yaml b/incubator/prowlarr/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..838d0e1ae66 --- /dev/null +++ b/incubator/prowlarr/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/prowlarr + # -- image tag + tag: v0.1.0.421 + # -- image pull policy + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/prowlarr/1.1.3/questions.yaml b/incubator/prowlarr/1.1.3/questions.yaml new file mode 100644 index 00000000000..139b4bd88b0 --- /dev/null +++ b/incubator/prowlarr/1.1.3/questions.yaml @@ -0,0 +1,555 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9696 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9696 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36057 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/prowlarr/1.1.3/templates/common.yaml b/incubator/prowlarr/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/prowlarr/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/prowlarr/1.1.3/test_values.yaml b/incubator/prowlarr/1.1.3/test_values.yaml new file mode 100644 index 00000000000..c1253f30ede --- /dev/null +++ b/incubator/prowlarr/1.1.3/test_values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/prowlarr + # -- image tag + tag: v0.1.0.421 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9696 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/incubator/prowlarr/1.1.3/values.yaml b/incubator/prowlarr/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/qbittorrent/6.1.3/CONFIG.md b/incubator/qbittorrent/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/qbittorrent/6.1.3/Chart.lock b/incubator/qbittorrent/6.1.3/Chart.lock new file mode 100644 index 00000000000..39a91dc1779 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:15.527692635Z" diff --git a/incubator/qbittorrent/6.1.3/Chart.yaml b/incubator/qbittorrent/6.1.3/Chart.yaml new file mode 100644 index 00000000000..3351ef17438 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: qBittorrent is a cross-platform free and open-source BitTorrent client +home: https://github.com/truecharts/apps/tree/master/charts/incubator/qbittorrent +icon: https://cloud.githubusercontent.com/assets/14862437/23586868/89ef2922-01c4-11e7-869c-52aafcece17f.png +keywords: +- qbittorrent +- torrrent +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: qbittorrent +sources: null +type: application +version: 6.1.3 diff --git a/incubator/qbittorrent/6.1.3/README.md b/incubator/qbittorrent/6.1.3/README.md new file mode 100644 index 00000000000..0da3d2911d3 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +qBittorrent is a cross-platform free and open-source BitTorrent client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `qbittorrent` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `qbittorrent` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/qbittorrent/6.1.3/app-readme.md b/incubator/qbittorrent/6.1.3/app-readme.md new file mode 100644 index 00000000000..5d26b483c2c --- /dev/null +++ b/incubator/qbittorrent/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +qBittorrent is a cross-platform free and open-source BitTorrent client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +qBittorrent is a cross-platform free and open-source BitTorrent client diff --git a/incubator/qbittorrent/6.1.3/charts/common-6.3.4.tgz b/incubator/qbittorrent/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/qbittorrent/6.1.3/ix_values.yaml b/incubator/qbittorrent/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..a2b08bf404d --- /dev/null +++ b/incubator/qbittorrent/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/qbittorrent/6.1.3/questions.yaml b/incubator/qbittorrent/6.1.3/questions.yaml new file mode 100644 index 00000000000..50fe811a90f --- /dev/null +++ b/incubator/qbittorrent/6.1.3/questions.yaml @@ -0,0 +1,794 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36039 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/qbittorrent/6.1.3/templates/_configmap.tpl b/incubator/qbittorrent/6.1.3/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/incubator/qbittorrent/6.1.3/templates/_configmap.tpl @@ -0,0 +1,32 @@ +{{/* Define the configmap */}} +{{- define "qbittorrent.configmap" -}} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-scripts + labels: + {{- include "common.labels" . | nindent 4 }} +data: + {{- $bittorrentPort := "" -}} + {{- $bittorrentPort = .Values.service.torrent.ports.tcp.port -}} + {{- if $bittorrentPort }} + 31-update-port: |- + #!/bin/bash + QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" + INCOMING_PORT={{- $bittorrentPort }} + + incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') + if [[ ! -z "${incoming_exist}" ]]; then + # Get line number of Incoming + LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) + sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} + else + echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} + fi + fi + {{- end }} +{{- end -}} diff --git a/incubator/qbittorrent/6.1.3/templates/common.yaml b/incubator/qbittorrent/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/templates/common.yaml @@ -0,0 +1,6 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} + + +{{/* Render the configmap */}} +{{ include "qbittorrent.configmap" . }} diff --git a/incubator/qbittorrent/6.1.3/test_values.yaml b/incubator/qbittorrent/6.1.3/test_values.yaml new file mode 100644 index 00000000000..eb3c2a84503 --- /dev/null +++ b/incubator/qbittorrent/6.1.3/test_values.yaml @@ -0,0 +1,52 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/k8s-at-home/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +strategy: + type: Recreate + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # UMASK: 022 + +service: + main: + ports: + main: + port: 8080 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 6881 + protocol: TCP + udp: + enabled: true + port: 6881 + protocol: UDP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +additionalVolumes: + - name: qbittorrent-scripts + emptyDir: {} + ## When you want to enable automatic port configuration at startup, adjust this to: + # configMap: + # name: -scripts + # defaultMode: 511 + +additionalVolumeMounts: + - mountPath: /config/custom-cont-init.d + name: qbittorrent-scripts diff --git a/incubator/qbittorrent/6.1.3/values.yaml b/incubator/qbittorrent/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/readarr/6.1.3/CONFIG.md b/incubator/readarr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/readarr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/readarr/6.1.3/Chart.lock b/incubator/readarr/6.1.3/Chart.lock new file mode 100644 index 00000000000..36699e9a183 --- /dev/null +++ b/incubator/readarr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:17.456202399Z" diff --git a/incubator/readarr/6.1.3/Chart.yaml b/incubator/readarr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f0155271fd8 --- /dev/null +++ b/incubator/readarr/6.1.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: A fork of Radarr to work with Books & AudioBooks +home: https://github.com/truecharts/apps/tree/master/charts/incubator/readarr +icon: https://github.com/Readarr/Readarr/blob/develop/Logo/1024.png?raw=true +keywords: +- readarr +- torrent +- usenet +- AudioBooks +- ebooks +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: readarr +sources: +- https://github.com/Readarr/Readarr +- https://readarr.com +type: application +version: 6.1.3 diff --git a/incubator/readarr/6.1.3/README.md b/incubator/readarr/6.1.3/README.md new file mode 100644 index 00000000000..4bc9ba2a1c8 --- /dev/null +++ b/incubator/readarr/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A fork of Radarr to work with Books & AudioBooks + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `readarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `readarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/readarr/6.1.3/app-readme.md b/incubator/readarr/6.1.3/app-readme.md new file mode 100644 index 00000000000..ec0ebb214b7 --- /dev/null +++ b/incubator/readarr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +A fork of Radarr to work with Books & AudioBooks +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A fork of Radarr to work with Books & AudioBooks diff --git a/incubator/readarr/6.1.3/charts/common-6.3.4.tgz b/incubator/readarr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/readarr/6.1.3/ix_values.yaml b/incubator/readarr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..83874ccdc61 --- /dev/null +++ b/incubator/readarr/6.1.3/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.715 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/readarr/6.1.3/questions.yaml b/incubator/readarr/6.1.3/questions.yaml new file mode 100644 index 00000000000..899d20b9bd7 --- /dev/null +++ b/incubator/readarr/6.1.3/questions.yaml @@ -0,0 +1,647 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8787 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36038 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/readarr/6.1.3/templates/common.yaml b/incubator/readarr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/readarr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/readarr/6.1.3/test_values.yaml b/incubator/readarr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..4c1fe918a6a --- /dev/null +++ b/incubator/readarr/6.1.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/k8s-at-home/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.715 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8787 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/readarr/6.1.3/values.yaml b/incubator/readarr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/reg/1.1.3/CONFIG.md b/incubator/reg/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/reg/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/reg/1.1.3/Chart.lock b/incubator/reg/1.1.3/Chart.lock new file mode 100644 index 00000000000..9031d9b7c40 --- /dev/null +++ b/incubator/reg/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:19.344173385Z" diff --git a/incubator/reg/1.1.3/Chart.yaml b/incubator/reg/1.1.3/Chart.yaml new file mode 100644 index 00000000000..910db428d5b --- /dev/null +++ b/incubator/reg/1.1.3/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: Docker registry v2 command line client and repo listing generator with + security checks. +home: https://github.com/truecharts/apps/tree/master/charts/incubator/reg +icon: https://avatars.githubusercontent.com/u/37218338 +keywords: +- reg +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: reg +sources: +- https://github.com/genuinetools/reg +- https://github.com/k8s-at-home/container-images/ +version: 1.1.3 diff --git a/incubator/reg/1.1.3/README.md b/incubator/reg/1.1.3/README.md new file mode 100644 index 00000000000..1c5cdc4b5bb --- /dev/null +++ b/incubator/reg/1.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Docker registry v2 command line client and repo listing generator with security checks. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `reg` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `reg` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/reg/1.1.3/app-readme.md b/incubator/reg/1.1.3/app-readme.md new file mode 100644 index 00000000000..579122c7ecc --- /dev/null +++ b/incubator/reg/1.1.3/app-readme.md @@ -0,0 +1 @@ +Docker registry v2 command line client and repo listing generator with diff --git a/incubator/reg/1.1.3/charts/common-6.3.4.tgz b/incubator/reg/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/reg/1.1.3/ci/ct-values.yaml b/incubator/reg/1.1.3/ci/ct-values.yaml new file mode 100644 index 00000000000..7ec97337b23 --- /dev/null +++ b/incubator/reg/1.1.3/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + EXTRA_ARGS: "server --registry r.j3ss.co" diff --git a/incubator/reg/1.1.3/ix_values.yaml b/incubator/reg/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..6ad228ab223 --- /dev/null +++ b/incubator/reg/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/reg/1.1.3/questions.yaml b/incubator/reg/1.1.3/questions.yaml new file mode 100644 index 00000000000..df414b5b8d2 --- /dev/null +++ b/incubator/reg/1.1.3/questions.yaml @@ -0,0 +1,543 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36058 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/reg/1.1.3/templates/common.yaml b/incubator/reg/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/reg/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/reg/1.1.3/test_values.yaml b/incubator/reg/1.1.3/test_values.yaml new file mode 100644 index 00000000000..c8102013d79 --- /dev/null +++ b/incubator/reg/1.1.3/test_values.yaml @@ -0,0 +1,35 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/reg + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.16.1 + +# -- environment variables. See more environment variables in the [reg documentation](https://github.com/genuinetools/reg). +env: + # -- Set the container timezone + TZ: UTC + # -- Set the server registry + # EXTRA_ARGS: "server --registry r.j3ss.co" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false diff --git a/incubator/reg/1.1.3/values.yaml b/incubator/reg/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/sabnzbd/6.1.3/CONFIG.md b/incubator/sabnzbd/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/sabnzbd/6.1.3/Chart.lock b/incubator/sabnzbd/6.1.3/Chart.lock new file mode 100644 index 00000000000..26f948c0667 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:21.243795825Z" diff --git a/incubator/sabnzbd/6.1.3/Chart.yaml b/incubator/sabnzbd/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f7525149606 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Free and easy binary newsreader +home: https://github.com/truecharts/apps/tree/master/charts/incubator/sabnzbd +icon: https://avatars1.githubusercontent.com/u/960698?s=400&v=4 +keywords: +- sabnzbd +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: sabnzbd +sources: +- https://sabnzbd.org/ +type: application +version: 6.1.3 diff --git a/incubator/sabnzbd/6.1.3/README.md b/incubator/sabnzbd/6.1.3/README.md new file mode 100644 index 00000000000..d713e25f27a --- /dev/null +++ b/incubator/sabnzbd/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Free and easy binary newsreader + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `sabnzbd` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sabnzbd` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/sabnzbd/6.1.3/app-readme.md b/incubator/sabnzbd/6.1.3/app-readme.md new file mode 100644 index 00000000000..05e7f339851 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Free and easy binary newsreader +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Free and easy binary newsreader diff --git a/incubator/sabnzbd/6.1.3/charts/common-6.3.4.tgz b/incubator/sabnzbd/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/sabnzbd/6.1.3/ix_values.yaml b/incubator/sabnzbd/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..5304a3a7655 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/sabnzbd + pullPolicy: IfNotPresent + tag: v3.3.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/sabnzbd/6.1.3/questions.yaml b/incubator/sabnzbd/6.1.3/questions.yaml new file mode 100644 index 00000000000..ba0e6316823 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/questions.yaml @@ -0,0 +1,654 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: HOST_WHITELIST_ENTRIES + label: "HostName Whitelist" + description: "If you use a reverse proxy, you might need to enter your hostname's here (comma seperated)" + schema: + type: string + default: "" + required: false + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36045 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/sabnzbd/6.1.3/templates/common.yaml b/incubator/sabnzbd/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/sabnzbd/6.1.3/test_values.yaml b/incubator/sabnzbd/6.1.3/test_values.yaml new file mode 100644 index 00000000000..e143275e713 --- /dev/null +++ b/incubator/sabnzbd/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Sabnzbd. + +image: + repository: ghcr.io/k8s-at-home/sabnzbd + pullPolicy: IfNotPresent + tag: v3.3.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/sabnzbd/6.1.3/values.yaml b/incubator/sabnzbd/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/thelounge/1.1.3/CONFIG.md b/incubator/thelounge/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/thelounge/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/thelounge/1.1.3/Chart.lock b/incubator/thelounge/1.1.3/Chart.lock new file mode 100644 index 00000000000..2ab65ed01c7 --- /dev/null +++ b/incubator/thelounge/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:23.181362541Z" diff --git a/incubator/thelounge/1.1.3/Chart.yaml b/incubator/thelounge/1.1.3/Chart.yaml new file mode 100644 index 00000000000..90e51312e8d --- /dev/null +++ b/incubator/thelounge/1.1.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +description: The Lounge, modern web IRC client designed for self-hosting +home: https://github.com/truecharts/apps/tree/master/charts/incubator/thelounge +icon: https://avatars.githubusercontent.com/u/14336958?s=200&v=4 +keywords: +- thelounge +- IRC +- The Lounge +- docker +- thelounge-docker +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: thelounge +sources: +- https://github.com/thelounge/thelounge +version: 1.1.3 diff --git a/incubator/thelounge/1.1.3/README.md b/incubator/thelounge/1.1.3/README.md new file mode 100644 index 00000000000..5c6d12360e7 --- /dev/null +++ b/incubator/thelounge/1.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +The Lounge, modern web IRC client designed for self-hosting + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `thelounge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `thelounge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/thelounge/1.1.3/app-readme.md b/incubator/thelounge/1.1.3/app-readme.md new file mode 100644 index 00000000000..3bea542e86c --- /dev/null +++ b/incubator/thelounge/1.1.3/app-readme.md @@ -0,0 +1 @@ +The Lounge, modern web IRC client designed for self-hosting diff --git a/incubator/thelounge/1.1.3/charts/common-6.3.4.tgz b/incubator/thelounge/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/thelounge/1.1.3/ix_values.yaml b/incubator/thelounge/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..12e3b82367b --- /dev/null +++ b/incubator/thelounge/1.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/thelounge/1.1.3/questions.yaml b/incubator/thelounge/1.1.3/questions.yaml new file mode 100644 index 00000000000..112e56a4678 --- /dev/null +++ b/incubator/thelounge/1.1.3/questions.yaml @@ -0,0 +1,548 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: THELOUNGE_HOME + label: "THELOUNGE_HOME" + schema: + type: string + default: "/config" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36059 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/thelounge/1.1.3/templates/common.yaml b/incubator/thelounge/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/thelounge/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/thelounge/1.1.3/test_values.yaml b/incubator/thelounge/1.1.3/test_values.yaml new file mode 100644 index 00000000000..b92da5d94e9 --- /dev/null +++ b/incubator/thelounge/1.1.3/test_values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: thelounge/thelounge + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.2.0-alpine + +strategy: + type: Recreate + +# -- environment variables. See [image docs](https://hub.docker.com/r/thelounge/thelounge/) for more details. +# @default -- See below +env: + THELOUNGE_HOME: "/config" + +# -- Configures service settings for the chart. Normally this does not need to be modified. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9000 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/thelounge/1.1.3/values.yaml b/incubator/thelounge/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/tvheadend/7.1.3/CONFIG.md b/incubator/tvheadend/7.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/tvheadend/7.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/tvheadend/7.1.3/Chart.lock b/incubator/tvheadend/7.1.3/Chart.lock new file mode 100644 index 00000000000..85a619b6cb2 --- /dev/null +++ b/incubator/tvheadend/7.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:25.079128311Z" diff --git a/incubator/tvheadend/7.1.3/Chart.yaml b/incubator/tvheadend/7.1.3/Chart.yaml new file mode 100644 index 00000000000..d347290ba08 --- /dev/null +++ b/incubator/tvheadend/7.1.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: TVheadend - a TV streaming server and digital video recorder +home: https://github.com/truecharts/apps/tree/master/charts/incubator/tvheadend +icon: https://avatars.githubusercontent.com/u/1908588?s=200&v=4 +keywords: +- tvheadend +- tv +- streaming +- dvb +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: tvheadend +sources: +- https://github.com/tvheadend/tvheadend +type: application +version: 7.1.3 diff --git a/incubator/tvheadend/7.1.3/README.md b/incubator/tvheadend/7.1.3/README.md new file mode 100644 index 00000000000..9fd48d51480 --- /dev/null +++ b/incubator/tvheadend/7.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 7.1.2](https://img.shields.io/badge/Version-7.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +TVheadend - a TV streaming server and digital video recorder + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `tvheadend` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tvheadend` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/tvheadend/7.1.3/app-readme.md b/incubator/tvheadend/7.1.3/app-readme.md new file mode 100644 index 00000000000..972a532e256 --- /dev/null +++ b/incubator/tvheadend/7.1.3/app-readme.md @@ -0,0 +1,3 @@ +TVheadend - a TV streaming server and digital video recorder +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +TVheadend - a TV streaming server and digital video recorder diff --git a/incubator/tvheadend/7.1.3/charts/common-6.3.4.tgz b/incubator/tvheadend/7.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/tvheadend/7.1.3/ix_values.yaml b/incubator/tvheadend/7.1.3/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/incubator/tvheadend/7.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/tvheadend/7.1.3/questions.yaml b/incubator/tvheadend/7.1.3/questions.yaml new file mode 100644 index 00000000000..c02981f9b5a --- /dev/null +++ b/incubator/tvheadend/7.1.3/questions.yaml @@ -0,0 +1,703 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9981 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36042 + required: true + - variable: htsp + label: "HTSP Service" + description: "HTSP service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: htsp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9982 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36043 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/tvheadend/7.1.3/templates/common.yaml b/incubator/tvheadend/7.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/tvheadend/7.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/tvheadend/7.1.3/test_values.yaml b/incubator/tvheadend/7.1.3/test_values.yaml new file mode 100644 index 00000000000..2835710b41e --- /dev/null +++ b/incubator/tvheadend/7.1.3/test_values.yaml @@ -0,0 +1,36 @@ +# Default values for tvheadend. + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: version-63784405 + +strategy: + type: Recreate + +# See https://github.com/linuxserver/docker-tvheadend#parameters +env: {} + # PUID: 1000 + # PGID: 1000 + # TZ: Europe/London + # RUN_OPTS: + +service: + main: + ports: + main: + port: 9981 + htsp: + enabled: true + type: ClusterIP + ports: + htsp: + enabled: true + port: 9982 + protocol: TCP + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/incubator/tvheadend/7.1.3/values.yaml b/incubator/tvheadend/7.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unifi/6.1.3/CONFIG.md b/incubator/unifi/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unifi/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unifi/6.1.3/Chart.lock b/incubator/unifi/6.1.3/Chart.lock new file mode 100644 index 00000000000..22c1c276cbe --- /dev/null +++ b/incubator/unifi/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:26.997897814Z" diff --git a/incubator/unifi/6.1.3/Chart.yaml b/incubator/unifi/6.1.3/Chart.yaml new file mode 100644 index 00000000000..c2199da69ea --- /dev/null +++ b/incubator/unifi/6.1.3/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Ubiquiti Network's Unifi Controller +home: https://github.com/truecharts/apps/tree/master/charts/incubator/unifi +icon: https://dl.ubnt.com/press/logo-UniFi.png +keywords: +- ubiquiti +- unifi +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: unifi +sources: +- https://github.com/jacobalberty/unifi-docker +- https://unifi-network.ui.com +type: application +version: 6.1.3 diff --git a/incubator/unifi/6.1.3/README.md b/incubator/unifi/6.1.3/README.md new file mode 100644 index 00000000000..15ae1d22835 --- /dev/null +++ b/incubator/unifi/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Ubiquiti Network's Unifi Controller + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `unifi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unifi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unifi/6.1.3/app-readme.md b/incubator/unifi/6.1.3/app-readme.md new file mode 100644 index 00000000000..0e6732e4033 --- /dev/null +++ b/incubator/unifi/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Ubiquiti Network's Unifi Controller +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Ubiquiti Network's Unifi Controller diff --git a/incubator/unifi/6.1.3/charts/common-6.3.4.tgz b/incubator/unifi/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/unifi/6.1.3/ix_values.yaml b/incubator/unifi/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..9fa028d1b5e --- /dev/null +++ b/incubator/unifi/6.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jacobalberty/unifi + tag: 6.2.25 + pullPolicy: IfNotPresent + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unifi/6.1.3/questions.yaml b/incubator/unifi/6.1.3/questions.yaml new file mode 100644 index 00000000000..fd23ba05f87 --- /dev/null +++ b/incubator/unifi/6.1.3/questions.yaml @@ -0,0 +1,802 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8443 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36035 + required: true + - variable: comm + label: "Unifi Device Communication Service" + description: "Unifi Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36036 + required: true + - variable: stun + label: "STUN Device Communication Service" + description: "STUN Device Communication Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: udp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3478 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36037 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unifi/6.1.3/templates/common.yaml b/incubator/unifi/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unifi/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unifi/6.1.3/test_values.yaml b/incubator/unifi/6.1.3/test_values.yaml new file mode 100644 index 00000000000..da696ca5e41 --- /dev/null +++ b/incubator/unifi/6.1.3/test_values.yaml @@ -0,0 +1,48 @@ +# Default values for Unifi. + +image: + repository: jacobalberty/unifi + tag: 6.2.25 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +envTpl: + # Permissions Settings + UNIFI_GID: "{{ .Values.env.PUID }}" + UNIFI_UID: "{{ .Values.env.PGID }}" + +service: + main: + ports: + main: + protocol: HTTPS + port: 8443 + comm: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 8080 + protocol: TCP + stun: + enabled: true + type: ClusterIP + ports: + udp: + enabled: true + port: 3478 + protocol: UDP + +env: + # TZ: + PUID: "568" + PGID: "568" + +persistence: + config: + enabled: true + mountPath: "/unifi" + type: emptyDir diff --git a/incubator/unifi/6.1.3/values.yaml b/incubator/unifi/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unpackerr/1.1.3/CONFIG.md b/incubator/unpackerr/1.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unpackerr/1.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/unpackerr/1.1.3/Chart.lock b/incubator/unpackerr/1.1.3/Chart.lock new file mode 100644 index 00000000000..1e631dbeb13 --- /dev/null +++ b/incubator/unpackerr/1.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:33:28.912494356Z" diff --git a/incubator/unpackerr/1.1.3/Chart.yaml b/incubator/unpackerr/1.1.3/Chart.yaml new file mode 100644 index 00000000000..4f9ba7c1ac5 --- /dev/null +++ b/incubator/unpackerr/1.1.3/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: This application runs as a daemon on your download host. It checks for + completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may + import them +home: https://github.com/truecharts/apps/tree/master/charts/incubator/unpackrr +icon: https://raw.githubusercontent.com/wiki/davidnewhall/unpackerr/images/unpackerr-logo-text.png +keywords: +- unpackerr +- sonarr +- radarr +- lidarr +- readarr +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: unpackerr +sources: +- https://github.com/davidnewhall/unpackerr +- https://hub.docker.com/r/golift/unpackerr +type: application +version: 1.1.3 diff --git a/incubator/unpackerr/1.1.3/README.md b/incubator/unpackerr/1.1.3/README.md new file mode 100644 index 00000000000..1cece29651d --- /dev/null +++ b/incubator/unpackerr/1.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `unpackerr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unpackerr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/unpackerr/1.1.3/app-readme.md b/incubator/unpackerr/1.1.3/app-readme.md new file mode 100644 index 00000000000..92412a850ac --- /dev/null +++ b/incubator/unpackerr/1.1.3/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +This application runs as a daemon on your download host. It checks for diff --git a/incubator/unpackerr/1.1.3/charts/common-6.3.4.tgz b/incubator/unpackerr/1.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/incubator/unpackerr/1.1.3/ix_values.yaml b/incubator/unpackerr/1.1.3/ix_values.yaml new file mode 100644 index 00000000000..0cf106bb30c --- /dev/null +++ b/incubator/unpackerr/1.1.3/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.7.2 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/unpackerr/1.1.3/questions.yaml b/incubator/unpackerr/1.1.3/questions.yaml new file mode 100644 index 00000000000..bf8c9a1d8a2 --- /dev/null +++ b/incubator/unpackerr/1.1.3/questions.yaml @@ -0,0 +1,541 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: downoads + label: "App downoads Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/downoads" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/unpackerr/1.1.3/templates/common.yaml b/incubator/unpackerr/1.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unpackerr/1.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unpackerr/1.1.3/test_values.yaml b/incubator/unpackerr/1.1.3/test_values.yaml new file mode 100644 index 00000000000..1b646dbeb3b --- /dev/null +++ b/incubator/unpackerr/1.1.3/test_values.yaml @@ -0,0 +1,45 @@ +# Default values for Sonarr. + +image: + repository: golift/unpackerr + pullPolicy: IfNotPresent + tag: 0.7.2 + +strategy: + type: Recreate + +service: + main: + enabled: false + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + + +persistence: + downloads: + enabled: true + type: emptyDir + mountPath: /downloads + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" diff --git a/incubator/unpackerr/1.1.3/values.yaml b/incubator/unpackerr/1.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/6.1.3/CONFIG.md b/stable/collabora-online/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/collabora-online/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/collabora-online/6.1.3/Chart.lock b/stable/collabora-online/6.1.3/Chart.lock new file mode 100644 index 00000000000..f15d5b92d7e --- /dev/null +++ b/stable/collabora-online/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:42.977349665Z" diff --git a/stable/collabora-online/6.1.3/Chart.yaml b/stable/collabora-online/6.1.3/Chart.yaml new file mode 100644 index 00000000000..9d5cec9d0fc --- /dev/null +++ b/stable/collabora-online/6.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: "Collabora Online Development Edition \u2013 an awesome, Online Office\ + \ suite image suitable for home use." +home: https://github.com/truecharts/apps/tree/master/charts/stable/collabora-online +icon: https://truecharts.org/_static/img/collabora-icon.png +keywords: +- collabora-online +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: collabora-online +sources: +- https://hub.docker.com/r/collabora/code +- https://sdk.collaboraonline.com/contents.html +- https://github.com/CollaboraOnline/online/tree/master/kubernetes/helm +type: application +version: 6.1.3 diff --git a/stable/collabora-online/6.1.3/README.md b/stable/collabora-online/6.1.3/README.md new file mode 100644 index 00000000000..c0c9079a427 --- /dev/null +++ b/stable/collabora-online/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `collabora-online` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `collabora-online` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/collabora-online/6.1.3/app-readme.md b/stable/collabora-online/6.1.3/app-readme.md new file mode 100644 index 00000000000..f25a2567984 --- /dev/null +++ b/stable/collabora-online/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"Collabora Online Development Edition \u2013 an awesome, Online Office\ diff --git a/stable/collabora-online/6.1.3/charts/common-6.3.4.tgz b/stable/collabora-online/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/collabora-online/6.1.3/ix_values.yaml b/stable/collabora-online/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..1d389835183 --- /dev/null +++ b/stable/collabora-online/6.1.3/ix_values.yaml @@ -0,0 +1,14 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: collabora/code + tag: 6.4.9.2 + pullPolicy: IfNotPresent +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/collabora-online/6.1.3/questions.yaml b/stable/collabora-online/6.1.3/questions.yaml new file mode 100644 index 00000000000..c65eb9743e6 --- /dev/null +++ b/stable/collabora-online/6.1.3/questions.yaml @@ -0,0 +1,510 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/loleaflet/dist/admin/admin.html" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: domain + label: "Domain(s) using collabora" + description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains' + schema: + type: string + default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld' + required: true + - variable: username + label: "Username for WebUI" + schema: + type: string + default: "admin" + required: true + - variable: password + label: "Password for WebUI" + schema: + type: string + private: true + default: "" + required: true + - variable: dictionaries + label: "Dictionaries to use, leave empty to use all" + schema: + type: string + default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru" + - variable: extra_params + label: "Extra Parameters to add" + description: 'e.g. "–o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space' + schema: + type: string + default: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + - variable: server_name + label: "Server Name" + description: "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it." + schema: + type: string + default: 'collabora\.domain\.tld' + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9980 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9980 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36004 + required: true + # Reverse Proxy + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/collabora-online/6.1.3/templates/common.yaml b/stable/collabora-online/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/6.1.3/test_values.yaml b/stable/collabora-online/6.1.3/test_values.yaml new file mode 100644 index 00000000000..ed35596f7a4 --- /dev/null +++ b/stable/collabora-online/6.1.3/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.9.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + type: NodePort + ports: + main: + port: 9980 + +env: + domain: nextcloud\.domain\.tld + dictionaries: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru + username: admin + password: changeme + extra_params: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false" + server_name: collabora\.domain\.tld diff --git a/stable/collabora-online/6.1.3/values.yaml b/stable/collabora-online/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/4.1.3/CONFIG.md b/stable/deepstack-cpu/4.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/deepstack-cpu/4.1.3/Chart.lock b/stable/deepstack-cpu/4.1.3/Chart.lock new file mode 100644 index 00000000000..2c9c4ec8831 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:44.981821176Z" diff --git a/stable/deepstack-cpu/4.1.3/Chart.yaml b/stable/deepstack-cpu/4.1.3/Chart.yaml new file mode 100644 index 00000000000..bfcc68cd6fb --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: DeepStack AI provides AI features including Face Recognition, Object + Detection, Scene Recognition and custom AI Models +home: https://github.com/truecharts/apps/tree/master/charts/stable/deepstack-cpu +icon: https://deepquest.sfo2.digitaloceanspaces.com/deepstackcc/static/img/deepstacklogo.png +keywords: +- AI +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: deepstack-cpu +sources: +- https://github.com/johnolafenwa/DeepStack +- https://hub.docker.com/r/deepquestai/deepstack +- https://www.deepstack.cc/ +type: application +version: 4.1.3 diff --git a/stable/deepstack-cpu/4.1.3/README.md b/stable/deepstack-cpu/4.1.3/README.md new file mode 100644 index 00000000000..71d5cc27d33 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `deepstack-cpu` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deepstack-cpu` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/deepstack-cpu/4.1.3/app-readme.md b/stable/deepstack-cpu/4.1.3/app-readme.md new file mode 100644 index 00000000000..26df7a8b5db --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/app-readme.md @@ -0,0 +1,3 @@ +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +DeepStack AI provides AI features including Face Recognition, Object diff --git a/stable/deepstack-cpu/4.1.3/charts/common-6.3.4.tgz b/stable/deepstack-cpu/4.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/4.1.3/ix_values.yaml b/stable/deepstack-cpu/4.1.3/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deepquestai/deepstack + pullPolicy: IfNotPresent + tag: cpu-2021.02.1 + +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/deepstack-cpu/4.1.3/questions.yaml b/stable/deepstack-cpu/4.1.3/questions.yaml new file mode 100644 index 00000000000..eced745a3cf --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/questions.yaml @@ -0,0 +1,660 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Configure Enviroment Variables + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: VISION-FACE + label: "VISION-FACE" + description: "Enables Face Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-DETECTION + label: "VISION-DETECTION" + description: "Enables Object Detection" + schema: + type: string + default: "True" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: VISION-SCENE + label: "VISION-SCENE" + description: "Enables Scene Detection" + schema: + type: string + default: "False" + enum: + - value: "False" + description: "False" + - value: "True" + description: "True" + - variable: MODE + label: "Mode" + description: "Sets the performance mode" + schema: + type: string + default: "Medium" + enum: + - value: "High" + description: "High" + - value: "Medium" + description: "Medium" + - value: "Low" + description: "Low" + - variable: MODELSTORE-DETECTION + label: "Custom Models Path" + description: "Change the path of the custom models (Optional)" + schema: + type: string + default: "/modelstore/detection" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36005 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/datastore" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/deepstack-cpu/4.1.3/templates/common.yaml b/stable/deepstack-cpu/4.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/4.1.3/test_values.yaml b/stable/deepstack-cpu/4.1.3/test_values.yaml new file mode 100644 index 00000000000..939cd7e6ce4 --- /dev/null +++ b/stable/deepstack-cpu/4.1.3/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: deepquestai/deepstack + pullPolicy: IfNotPresent + tag: cpu-2021.02.1 + +strategy: + type: Recreate + +service: + main: + enabled: true + ports: + main: + port: 5000 + +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + PUID: "568" + PGID: "568" + # TZ: UTC + VISION-FACE: "True" + VISION-DETECTION: "True" + VISION-SCENE: "True" + # Path to custom models (needs to be on documentation) + MODELSTORE-DETECTION: "/modelstore/detection" + # High|Medium|Low + MODE: "High" + +persistence: + config: + enabled: true + mountPath: "/datastore" + type: emptyDir diff --git a/stable/deepstack-cpu/4.1.3/values.yaml b/stable/deepstack-cpu/4.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/6.1.3/CONFIG.md b/stable/emby/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/emby/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/emby/6.1.3/Chart.lock b/stable/emby/6.1.3/Chart.lock new file mode 100644 index 00000000000..4d12c1e3aeb --- /dev/null +++ b/stable/emby/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:46.976434202Z" diff --git a/stable/emby/6.1.3/Chart.yaml b/stable/emby/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f8105dd475c --- /dev/null +++ b/stable/emby/6.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Emby Server is a home media server +home: https://github.com/truecharts/apps/master/stable/emby +icon: https://truecharts.org/_static/img/emby-icon.png +keywords: +- jellyfin +- plex +- emby +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: dan.sheridan@postman.org.uk + name: djs52 + url: truecharts.org +name: emby +sources: +- https://hub.docker.com/r/linuxserver/emby +- https://github.com/linuxserver/docker-emby.git +type: application +version: 6.1.3 diff --git a/stable/emby/6.1.3/README.md b/stable/emby/6.1.3/README.md new file mode 100644 index 00000000000..d8e2f11e99d --- /dev/null +++ b/stable/emby/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Emby Server is a home media server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `emby` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `emby` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/emby/6.1.3/app-readme.md b/stable/emby/6.1.3/app-readme.md new file mode 100644 index 00000000000..14cf8a3a658 --- /dev/null +++ b/stable/emby/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Emby Server is a home media server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Emby Server is a home media server diff --git a/stable/emby/6.1.3/charts/common-6.3.4.tgz b/stable/emby/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/emby/6.1.3/ix_values.yaml b/stable/emby/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..055f931cb08 --- /dev/null +++ b/stable/emby/6.1.3/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/emby/6.1.3/questions.yaml b/stable/emby/6.1.3/questions.yaml new file mode 100644 index 00000000000..488b5061ab1 --- /dev/null +++ b/stable/emby/6.1.3/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36006 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/emby/6.1.3/templates/common.yaml b/stable/emby/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/6.1.3/test_values.yaml b/stable/emby/6.1.3/test_values.yaml new file mode 100644 index 00000000000..d8b77253374 --- /dev/null +++ b/stable/emby/6.1.3/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for emby. + +image: + repository: ghcr.io/k8s-at-home/emby + pullPolicy: IfNotPresent + tag: v4.6.1.0 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/emby/6.1.3/values.yaml b/stable/emby/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/6.1.3/CONFIG.md b/stable/esphome/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/esphome/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/esphome/6.1.3/Chart.lock b/stable/esphome/6.1.3/Chart.lock new file mode 100644 index 00000000000..109dd7a9cd6 --- /dev/null +++ b/stable/esphome/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:48.940847705Z" diff --git a/stable/esphome/6.1.3/Chart.yaml b/stable/esphome/6.1.3/Chart.yaml new file mode 100644 index 00000000000..5242a9962ca --- /dev/null +++ b/stable/esphome/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful + configuration files and control them remotely through Home Automation systems. +home: https://github.com/truecharts/apps/tree/master/charts/stable/esphome +icon: https://esphome.io/_images/logo.svg +keywords: +- esphome +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: esphome +sources: +- https://github.com/esphome/esphome +- https://hub.docker.com/u/esphome +type: application +version: 6.1.3 diff --git a/stable/esphome/6.1.3/README.md b/stable/esphome/6.1.3/README.md new file mode 100644 index 00000000000..ce5b6cbc2b4 --- /dev/null +++ b/stable/esphome/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `esphome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `esphome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/esphome/6.1.3/app-readme.md b/stable/esphome/6.1.3/app-readme.md new file mode 100644 index 00000000000..1854a47b15a --- /dev/null +++ b/stable/esphome/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful diff --git a/stable/esphome/6.1.3/charts/common-6.3.4.tgz b/stable/esphome/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/esphome/6.1.3/ix_values.yaml b/stable/esphome/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..74246b558c1 --- /dev/null +++ b/stable/esphome/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.18.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/esphome/6.1.3/questions.yaml b/stable/esphome/6.1.3/questions.yaml new file mode 100644 index 00000000000..9be4769c307 --- /dev/null +++ b/stable/esphome/6.1.3/questions.yaml @@ -0,0 +1,750 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 6052 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6052 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36007 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: platformio + label: "Platformio Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/.platformio" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/esphome/6.1.3/templates/common.yaml b/stable/esphome/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/6.1.3/test_values.yaml b/stable/esphome/6.1.3/test_values.yaml new file mode 100644 index 00000000000..2bc95bc967c --- /dev/null +++ b/stable/esphome/6.1.3/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for esphome. + +image: + repository: esphome/esphome + pullPolicy: IfNotPresent + tag: 1.18.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6052 + +env: {} + # ESPHOME_DASHBOARD_USE_PING: true + # ESPHOME_DASHBOARD_RELATIVE_URL: "/" + # ESPHOME_QUICKWIZARD: + # ESPHOME_IS_HASSIO: + # DISABLE_HA_AUTHENTICATION: + # USERNAME: + # PASSWORD: + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/esphome/6.1.3/values.yaml b/stable/esphome/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/6.1.3/CONFIG.md b/stable/handbrake/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/handbrake/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/handbrake/6.1.3/Chart.lock b/stable/handbrake/6.1.3/Chart.lock new file mode 100644 index 00000000000..790e55af4dd --- /dev/null +++ b/stable/handbrake/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:50.925549352Z" diff --git a/stable/handbrake/6.1.3/Chart.yaml b/stable/handbrake/6.1.3/Chart.yaml new file mode 100644 index 00000000000..14d3c13be02 --- /dev/null +++ b/stable/handbrake/6.1.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: HandBrake is a tool for converting video from nearly any format to a + selection of modern, widely supported codecs. +home: https://github.com/truecharts/apps/tree/master/charts/stable/handbrake +icon: https://handbrake.fr/img/logo.png +keywords: +- handbrake +- encode +- media +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: stavros-k@users.noreply.github.com + name: stavros-k + url: truecharts.org +name: handbrake +sources: +- https://github.com/jlesage/docker-handbrake +- https://hub.docker.com/r/jlesage/handbrake/ +- https://handbrake.fr/ +type: application +version: 6.1.3 diff --git a/stable/handbrake/6.1.3/README.md b/stable/handbrake/6.1.3/README.md new file mode 100644 index 00000000000..f19e5d17461 --- /dev/null +++ b/stable/handbrake/6.1.3/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `handbrake` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `handbrake` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/handbrake/6.1.3/app-readme.md b/stable/handbrake/6.1.3/app-readme.md new file mode 100644 index 00000000000..483e45f40d0 --- /dev/null +++ b/stable/handbrake/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HandBrake is a tool for converting video from nearly any format to a diff --git a/stable/handbrake/6.1.3/charts/common-6.3.4.tgz b/stable/handbrake/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/handbrake/6.1.3/ix_values.yaml b/stable/handbrake/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..a47a4681e9c --- /dev/null +++ b/stable/handbrake/6.1.3/ix_values.yaml @@ -0,0 +1,20 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +#All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/handbrake/6.1.3/questions.yaml b/stable/handbrake/6.1.3/questions.yaml new file mode 100644 index 00000000000..e0d5b270fe8 --- /dev/null +++ b/stable/handbrake/6.1.3/questions.yaml @@ -0,0 +1,816 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: gui + label: "GUI Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: DISPLAY_WIDTH + label: "DISPLAY_WIDTH" + description: "Width (in pixels) of the application's window." + schema: + type: string + default: "1280" + required: true + - variable: DISPLAY_HEIGHT + label: "DISPLAY_HEIGHT" + description: "Height (in pixels) of the application's window." + schema: + type: string + default: "768" + required: true + - variable: SECURE_CONNECTION + label: "SECURE_CONNECTION" + description: "When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section for more details." + schema: + type: string + default: "0" + required: true + - variable: VNC_PASSWORD + label: "VNC_PASSWORD" + description: "Password needed to connect to the application's GUI. See the VNC Password section for more details." + schema: + private: true + type: string + default: "" + - variable: autoconv + label: "Automated Conversion Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: AUTOMATED_CONVERSION_PRESET + label: "AUTOMATED_CONVERSION_PRESET" + description: "HandBrake preset used by the automatic video converter. Identification of a preset must follow the format /" + schema: + type: string + default: "General/Very Fast 1080p30" + required: true + - variable: AUTOMATED_CONVERSION_FORMAT + label: "AUTOMATED_CONVERSION_FORMAT" + description: "Video container format used by the automatic video converter for output files. This is typically the video filename extension." + schema: + type: string + default: "mp4" + required: true + - variable: AUTOMATED_CONVERSION_KEEP_SOURCE + label: "AUTOMATED_CONVERSION_KEEP_SOURCE" + description: "When set to 0, a video that has been successfully converted is removed from the watch folder." + schema: + type: string + default: "1" + required: true + - variable: AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION + label: "AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION" + description: "When set to ignore, a non-video file found in the watch folder is ignored. If set to copy, a non-video file is copied as-is to the output folder." + schema: + type: string + default: "ignore" + required: true + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5800 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5800 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36002 + required: true + - variable: vnc + label: "VNC Service" + description: "VNC Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36003 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/handbrake/6.1.3/templates/common.yaml b/stable/handbrake/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/6.1.3/test_values.yaml b/stable/handbrake/6.1.3/test_values.yaml new file mode 100644 index 00000000000..9443c18f116 --- /dev/null +++ b/stable/handbrake/6.1.3/test_values.yaml @@ -0,0 +1,51 @@ +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5800 + vnc: + enabled: true + type: ClusterIP + ports: + vnc: + enabled: true + port: 5900 + protocol: "TCP" + +# All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + # Permissions Settings + PUID: "568" + PGID: "568" + # General Settings + KEEP_APP_RUNNING: "0" + CLEAN_TMP_DIR: "1" + # GUI Settings + DISPLAY_WIDTH: "1280" + DISPLAY_HEIGHT: "768" + SECURE_CONNECTION: "0" + VNC_PASSWORD: + # Automated Conversion Preset + AUTOMATED_CONVERSION_PRESET: "General/Very Fast 1080p30" + AUTOMATED_CONVERSION_FORMAT: "mp4" + AUTOMATED_CONVERSION_KEEP_SOURCE: "1" + AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION: "ignore" + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/handbrake/6.1.3/values.yaml b/stable/handbrake/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/6.1.3/CONFIG.md b/stable/home-assistant/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/home-assistant/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/home-assistant/6.1.3/Chart.lock b/stable/home-assistant/6.1.3/Chart.lock new file mode 100644 index 00000000000..b15300387f3 --- /dev/null +++ b/stable/home-assistant/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:52.899773384Z" diff --git a/stable/home-assistant/6.1.3/Chart.yaml b/stable/home-assistant/6.1.3/Chart.yaml new file mode 100644 index 00000000000..62e1a6d34cc --- /dev/null +++ b/stable/home-assistant/6.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: home-assistant App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/charts/stable/home-assistant +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Home_Assistant_Logo.svg/519px-Home_Assistant_Logo.svg.png +keywords: +- home-assistant +- hass +- homeassistant +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: home-assistant +sources: +- https://github.com/home-assistant/home-assistant +- https://github.com/cdr/code-server +type: application +version: 6.1.3 diff --git a/stable/home-assistant/6.1.3/README.md b/stable/home-assistant/6.1.3/README.md new file mode 100644 index 00000000000..84a492043b3 --- /dev/null +++ b/stable/home-assistant/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +home-assistant App for TrueNAS SCALE + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `home-assistant` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `home-assistant` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/home-assistant/6.1.3/app-readme.md b/stable/home-assistant/6.1.3/app-readme.md new file mode 100644 index 00000000000..822d932e2e4 --- /dev/null +++ b/stable/home-assistant/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +home-assistant App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +home-assistant App for TrueNAS SCALE diff --git a/stable/home-assistant/6.1.3/charts/common-6.3.4.tgz b/stable/home-assistant/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/home-assistant/6.1.3/ix_values.yaml b/stable/home-assistant/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..e3bf2093286 --- /dev/null +++ b/stable/home-assistant/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/home-assistant/6.1.3/questions.yaml b/stable/home-assistant/6.1.3/questions.yaml new file mode 100644 index 00000000000..81d51d3a978 --- /dev/null +++ b/stable/home-assistant/6.1.3/questions.yaml @@ -0,0 +1,662 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: git + group: "Container Configuration" + label: "Home-Assistant Git Settings" + schema: + type: dict + attrs: + - variable: deployKey + label: "Git deploy key" + schema: + type: string + default: "" + - variable: deployKeyBase64 + label: "Git KeyBase64 deploy key" + schema: + type: string + default: "" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8123 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8123 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36008 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/home-assistant/6.1.3/templates/common.yaml b/stable/home-assistant/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/6.1.3/templates/secret.yaml b/stable/home-assistant/6.1.3/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/6.1.3/templates/secret.yaml @@ -0,0 +1,15 @@ +{{- if or .Values.git.deployKey .Values.git.deployKeyBase64 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "common.names.fullname" . }}-deploykey + labels: + {{- include "common.labels" . | nindent 4 }} +type: Opaque +data: + {{- if .Values.git.deployKey }} + id_rsa: {{ .Values.git.deployKey | b64enc | quote }} + {{- else }} + id_rsa: {{ .Values.git.deployKeyBase64 | quote }} + {{- end }} +{{- end }} diff --git a/stable/home-assistant/6.1.3/test_values.yaml b/stable/home-assistant/6.1.3/test_values.yaml new file mode 100644 index 00000000000..faaf2abce15 --- /dev/null +++ b/stable/home-assistant/6.1.3/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.6.3 + +strategy: + type: Recreate + +env: {} + # TZ: + +service: + main: + ports: + main: + port: 8123 + +# # Enable devices to be discoverable +# hostNetwork: true + +# # When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet +# dnsPolicy: ClusterFirstWithHostNet + +# # Enable passing thru a USB device to Home Assistant +# securityContext: +# privileged: true + +# Allow access a Git repository by passing in a private SSH key +git: + # Raw SSH private key + deployKey: "" + # Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence. + deployKeyBase64: "" + +# Enable a prometheus-operator servicemonitor +prometheus: + serviceMonitor: + enabled: false + # interval: 1m + # additionalLabels: {} + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# # Path to your Z-Wave / Zigbee device in the container +# additionalVolumeMounts: +# - name: zwave-usb +# mountPath: /dev/serial/by-id/usb-0658_0200-if00 + +# # Path to your Z-Wave / Zigbee device on the host +# additionalVolumes: +# - name: zwave-usb +# hostPath: +# path: /dev/serial/by-id/usb-0658_0200-if00 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: false + postgresqlUsername: home-assistant + postgresqlPassword: home-assistant-pass + postgresqlDatabase: home-assistant + persistence: + enabled: false + # storageClass: "" + +# Enable influxdb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/influxdb +influxdb: + enabled: false + architecture: standalone + database: home_assistant + authEnabled: false + persistence: + enabled: false + # storageClass: "" + # size: 8Gi diff --git a/stable/home-assistant/6.1.3/values.yaml b/stable/home-assistant/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/6.1.3/CONFIG.md b/stable/jackett/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jackett/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jackett/6.1.3/Chart.lock b/stable/jackett/6.1.3/Chart.lock new file mode 100644 index 00000000000..6df3047622c --- /dev/null +++ b/stable/jackett/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:54.829468051Z" diff --git a/stable/jackett/6.1.3/Chart.yaml b/stable/jackett/6.1.3/Chart.yaml new file mode 100644 index 00000000000..638a9d0f999 --- /dev/null +++ b/stable/jackett/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/charts/stable/jackett +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: +- jackett +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: jackett +sources: +- https://github.com/Jackett/Jackett +type: application +version: 6.1.3 diff --git a/stable/jackett/6.1.3/README.md b/stable/jackett/6.1.3/README.md new file mode 100644 index 00000000000..544627c0ffd --- /dev/null +++ b/stable/jackett/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `jackett` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jackett` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jackett/6.1.3/app-readme.md b/stable/jackett/6.1.3/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/jackett/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/jackett/6.1.3/charts/common-6.3.4.tgz b/stable/jackett/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/jackett/6.1.3/ix_values.yaml b/stable/jackett/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..aec20284eb4 --- /dev/null +++ b/stable/jackett/6.1.3/ix_values.yaml @@ -0,0 +1,25 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.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/stable/jackett/6.1.3/questions.yaml b/stable/jackett/6.1.3/questions.yaml new file mode 100644 index 00000000000..c987a31f514 --- /dev/null +++ b/stable/jackett/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9117 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jackett/6.1.3/templates/common.yaml b/stable/jackett/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/6.1.3/test_values.yaml b/stable/jackett/6.1.3/test_values.yaml new file mode 100644 index 00000000000..90d1059965f --- /dev/null +++ b/stable/jackett/6.1.3/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/k8s-at-home/jackett + pullPolicy: IfNotPresent + tag: v0.18.263 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +probes: + liveness: + path: "/UI/Login" + + readiness: + path: "/UI/Login" + + startup: + path: "/UI/Login" + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/jackett/6.1.3/values.yaml b/stable/jackett/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/6.1.3/CONFIG.md b/stable/jellyfin/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jellyfin/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jellyfin/6.1.3/Chart.lock b/stable/jellyfin/6.1.3/Chart.lock new file mode 100644 index 00000000000..eb996d626ac --- /dev/null +++ b/stable/jellyfin/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:56.937365295Z" diff --git a/stable/jellyfin/6.1.3/Chart.yaml b/stable/jellyfin/6.1.3/Chart.yaml new file mode 100644 index 00000000000..90adf163fe2 --- /dev/null +++ b/stable/jellyfin/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Jellyfin is a Free Software Media System +home: https://github.com/truecharts/apps/tree/master/charts/stable/jellyfin +icon: https://truecharts.org/_static/img/jellyfin-icon.png +keywords: +- jellyfin +- plex +- emby +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: jellyfin +sources: +- https://github.com/jellyfin/jellyfin +type: application +version: 6.1.3 diff --git a/stable/jellyfin/6.1.3/README.md b/stable/jellyfin/6.1.3/README.md new file mode 100644 index 00000000000..95e0dc4e096 --- /dev/null +++ b/stable/jellyfin/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Jellyfin is a Free Software Media System + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `jellyfin` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jellyfin` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jellyfin/6.1.3/app-readme.md b/stable/jellyfin/6.1.3/app-readme.md new file mode 100644 index 00000000000..64d3430474f --- /dev/null +++ b/stable/jellyfin/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Jellyfin is a Free Software Media System +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Jellyfin is a Free Software Media System diff --git a/stable/jellyfin/6.1.3/charts/common-6.3.4.tgz b/stable/jellyfin/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/jellyfin/6.1.3/ix_values.yaml b/stable/jellyfin/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..13fabd7f7fe --- /dev/null +++ b/stable/jellyfin/6.1.3/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.5 + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jellyfin/6.1.3/questions.yaml b/stable/jellyfin/6.1.3/questions.yaml new file mode 100644 index 00000000000..a2546f0f513 --- /dev/null +++ b/stable/jellyfin/6.1.3/questions.yaml @@ -0,0 +1,655 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8096 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8096 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36010 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/jellyfin/6.1.3/templates/common.yaml b/stable/jellyfin/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/6.1.3/test_values.yaml b/stable/jellyfin/6.1.3/test_values.yaml new file mode 100644 index 00000000000..0e62afd1831 --- /dev/null +++ b/stable/jellyfin/6.1.3/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for jellyfin. + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.5 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/jellyfin/6.1.3/values.yaml b/stable/jellyfin/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/6.1.4/CONFIG.md b/stable/kms/6.1.4/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/kms/6.1.4/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/kms/6.1.4/Chart.lock b/stable/kms/6.1.4/Chart.lock new file mode 100644 index 00000000000..baf6cb152e9 --- /dev/null +++ b/stable/kms/6.1.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:31:58.933034089Z" diff --git a/stable/kms/6.1.4/Chart.yaml b/stable/kms/6.1.4/Chart.yaml new file mode 100644 index 00000000000..2587c521116 --- /dev/null +++ b/stable/kms/6.1.4/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Private Windows Activation Server for development and testing +home: https://github.com/truecharts/apps/tree/master/charts/stable/kms +icon: https://truecharts.org/_static/img/kms-icon.jpg +keywords: +- kms +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: kms +sources: +- https://github.com/SystemRage/py-kms +type: application +version: 6.1.4 diff --git a/stable/kms/6.1.4/README.md b/stable/kms/6.1.4/README.md new file mode 100644 index 00000000000..f827ffa2615 --- /dev/null +++ b/stable/kms/6.1.4/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.3](https://img.shields.io/badge/Version-6.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: minimal](https://img.shields.io/badge/AppVersion-minimal-informational?style=flat-square) + +Private Windows Activation Server for development and testing + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `kms` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `kms` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/kms/6.1.4/app-readme.md b/stable/kms/6.1.4/app-readme.md new file mode 100644 index 00000000000..79791f43227 --- /dev/null +++ b/stable/kms/6.1.4/app-readme.md @@ -0,0 +1,3 @@ +Private Windows Activation Server for development and testing +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Private Windows Activation Server for development and testing diff --git a/stable/kms/6.1.4/charts/common-6.3.4.tgz b/stable/kms/6.1.4/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/kms/6.1.4/ix_values.yaml b/stable/kms/6.1.4/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/6.1.4/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/kms/6.1.4/questions.yaml b/stable/kms/6.1.4/questions.yaml new file mode 100644 index 00000000000..d366e84898b --- /dev/null +++ b/stable/kms/6.1.4/questions.yaml @@ -0,0 +1,394 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: false + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1688 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1688 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36011 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/kms/6.1.4/templates/common.yaml b/stable/kms/6.1.4/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/6.1.4/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/6.1.4/test_values.yaml b/stable/kms/6.1.4/test_values.yaml new file mode 100644 index 00000000000..8aabb450d99 --- /dev/null +++ b/stable/kms/6.1.4/test_values.yaml @@ -0,0 +1,16 @@ +# Default values for KMS. + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + +strategy: + type: Recreate + +service: + main: + ports: + main: + protocol: TCP + port: 1688 diff --git a/stable/kms/6.1.4/values.yaml b/stable/kms/6.1.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/6.1.3/CONFIG.md b/stable/lidarr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/lidarr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/lidarr/6.1.3/Chart.lock b/stable/lidarr/6.1.3/Chart.lock new file mode 100644 index 00000000000..c0367cf20ab --- /dev/null +++ b/stable/lidarr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:00.890688487Z" diff --git a/stable/lidarr/6.1.3/Chart.yaml b/stable/lidarr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..17c8a596ff0 --- /dev/null +++ b/stable/lidarr/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Looks and smells like Sonarr but made for music +home: https://github.com/truecharts/apps/tree/master/charts/stable/lidarr +icon: https://avatars3.githubusercontent.com/u/28475832?s=400&v=4 +keywords: +- lidarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: lidarr +sources: +- https://github.com/Lidarr/Lidarr +type: application +version: 6.1.3 diff --git a/stable/lidarr/6.1.3/README.md b/stable/lidarr/6.1.3/README.md new file mode 100644 index 00000000000..07bf87425d2 --- /dev/null +++ b/stable/lidarr/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Looks and smells like Sonarr but made for music + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `lidarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lidarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/lidarr/6.1.3/app-readme.md b/stable/lidarr/6.1.3/app-readme.md new file mode 100644 index 00000000000..399c4eb028a --- /dev/null +++ b/stable/lidarr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Looks and smells like Sonarr but made for music +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Looks and smells like Sonarr but made for music diff --git a/stable/lidarr/6.1.3/charts/common-6.3.4.tgz b/stable/lidarr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/lidarr/6.1.3/ix_values.yaml b/stable/lidarr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..8e1f0287c69 --- /dev/null +++ b/stable/lidarr/6.1.3/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/lidarr + pullPolicy: IfNotPresent + tag: v1.0.0.2226 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/lidarr/6.1.3/questions.yaml b/stable/lidarr/6.1.3/questions.yaml new file mode 100644 index 00000000000..8562768ab26 --- /dev/null +++ b/stable/lidarr/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8686 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8686 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36012 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/lidarr/6.1.3/templates/common.yaml b/stable/lidarr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/6.1.3/test_values.yaml b/stable/lidarr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..109af474bbe --- /dev/null +++ b/stable/lidarr/6.1.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Lidarr. + +image: + repository: ghcr.io/k8s-at-home/lidarr + pullPolicy: IfNotPresent + tag: v1.0.0.2226 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8686 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8686/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/lidarr/6.1.3/values.yaml b/stable/lidarr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.1.3/CONFIG.md b/stable/ombi/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/ombi/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/ombi/6.1.3/Chart.lock b/stable/ombi/6.1.3/Chart.lock new file mode 100644 index 00000000000..a9d44c1d38d --- /dev/null +++ b/stable/ombi/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:02.85784406Z" diff --git a/stable/ombi/6.1.3/Chart.yaml b/stable/ombi/6.1.3/Chart.yaml new file mode 100644 index 00000000000..397d10ea6d3 --- /dev/null +++ b/stable/ombi/6.1.3/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Want a Movie or TV Show on Plex or Emby? Use Ombi! +home: https://github.com/truecharts/apps/tree/master/charts/stable/ombi +icon: https://img3.androidappsapk.co/wiLDnuwrCWctiiW62ALcj4eIpNbzeRH_UNPo7eqlpYvGkCQYSTybaI4xVRLKGjnlamlV=s300 +keywords: +- ombi +- plex +- emby +- sonarr +- radarr +- couchpotato +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: ombi +sources: +- https://github.com/tidusjar/Ombi +type: application +version: 6.1.3 diff --git a/stable/ombi/6.1.3/README.md b/stable/ombi/6.1.3/README.md new file mode 100644 index 00000000000..ffc0ea8af03 --- /dev/null +++ b/stable/ombi/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Want a Movie or TV Show on Plex or Emby? Use Ombi! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `ombi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `ombi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/ombi/6.1.3/app-readme.md b/stable/ombi/6.1.3/app-readme.md new file mode 100644 index 00000000000..b573c95c432 --- /dev/null +++ b/stable/ombi/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Want a Movie or TV Show on Plex or Emby? Use Ombi! +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Want a Movie or TV Show on Plex or Emby? Use Ombi! diff --git a/stable/ombi/6.1.3/charts/common-6.3.4.tgz b/stable/ombi/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/ombi/6.1.3/ix_values.yaml b/stable/ombi/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..5851f32f066 --- /dev/null +++ b/stable/ombi/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1403 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/ombi/6.1.3/questions.yaml b/stable/ombi/6.1.3/questions.yaml new file mode 100644 index 00000000000..8fa61a5554e --- /dev/null +++ b/stable/ombi/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3579 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3579 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36013 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/ombi/6.1.3/templates/common.yaml b/stable/ombi/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/6.1.3/test_values.yaml b/stable/ombi/6.1.3/test_values.yaml new file mode 100644 index 00000000000..2112225d5de --- /dev/null +++ b/stable/ombi/6.1.3/test_values.yaml @@ -0,0 +1,40 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1403 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 3579 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# Enabled mariadb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb +mariadb: + enabled: false + architecture: standalone + auth: + database: ombi + username: ombi + password: ombi + primary: + persistence: + enabled: false diff --git a/stable/ombi/6.1.3/values.yaml b/stable/ombi/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/5.1.4/CONFIG.md b/stable/plex/5.1.4/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/plex/5.1.4/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/plex/5.1.4/Chart.lock b/stable/plex/5.1.4/Chart.lock new file mode 100644 index 00000000000..37d0b8e9e70 --- /dev/null +++ b/stable/plex/5.1.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:04.787201789Z" diff --git a/stable/plex/5.1.4/Chart.yaml b/stable/plex/5.1.4/Chart.yaml new file mode 100644 index 00000000000..0e33eb4618f --- /dev/null +++ b/stable/plex/5.1.4/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Plex Media Server +home: https://github.com/truecharts/apps/tree/master/charts/stable/plex +icon: https://www.plex.tv/wp-content/uploads/2018/01/pmp-icon-1.png +keywords: +- plex +- plex-media-server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: plex +sources: null +type: application +version: 5.1.4 diff --git a/stable/plex/5.1.4/README.md b/stable/plex/5.1.4/README.md new file mode 100644 index 00000000000..0caea193425 --- /dev/null +++ b/stable/plex/5.1.4/README.md @@ -0,0 +1,49 @@ +# Introduction + +![Version: 5.1.2](https://img.shields.io/badge/Version-5.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Plex Media Server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `plex` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `plex` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/plex/5.1.4/app-readme.md b/stable/plex/5.1.4/app-readme.md new file mode 100644 index 00000000000..4d5dfd7c1f2 --- /dev/null +++ b/stable/plex/5.1.4/app-readme.md @@ -0,0 +1,3 @@ +Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Plex Media Server diff --git a/stable/plex/5.1.4/charts/common-6.3.4.tgz b/stable/plex/5.1.4/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/plex/5.1.4/ix_values.yaml b/stable/plex/5.1.4/ix_values.yaml new file mode 100644 index 00000000000..9d1a18c2fb7 --- /dev/null +++ b/stable/plex/5.1.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: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +# 44=video 107=render +podSecurityContext: + supplementalGroups: [44, 107] + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/plex/5.1.4/questions.yaml b/stable/plex/5.1.4/questions.yaml new file mode 100644 index 00000000000..3f078133df4 --- /dev/null +++ b/stable/plex/5.1.4/questions.yaml @@ -0,0 +1,673 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: ADVERTISE_IP + label: "Advertise IP" + description: "IP to advertise to Plex" + schema: + type: string + default: "" + - variable: ALLOWED_NETWORKS + label: "Allowed Networks" + description: "Networks allowed to connect to plex" + schema: + type: string + default: "" + - variable: PLEX_CLAIM + label: "Plex Claim Token" + description: "Claim token to use to register the plex server (Max. 4 minutes old!)" + schema: + type: string + default: "" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 32400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 32400 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 32400 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/plex/5.1.4/templates/common.yaml b/stable/plex/5.1.4/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/5.1.4/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/5.1.4/test_values.yaml b/stable/plex/5.1.4/test_values.yaml new file mode 100644 index 00000000000..7682d88cd14 --- /dev/null +++ b/stable/plex/5.1.4/test_values.yaml @@ -0,0 +1,29 @@ +# Default values for Plex. + +image: + repository: ghcr.io/k8s-at-home/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 32400 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/plex/5.1.4/values.yaml b/stable/plex/5.1.4/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/6.1.3/CONFIG.md b/stable/radarr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/radarr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/radarr/6.1.3/Chart.lock b/stable/radarr/6.1.3/Chart.lock new file mode 100644 index 00000000000..35182eb7a56 --- /dev/null +++ b/stable/radarr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:06.69328663Z" diff --git a/stable/radarr/6.1.3/Chart.yaml b/stable/radarr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..48c4d0febc2 --- /dev/null +++ b/stable/radarr/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: "A fork of Sonarr to work with movies \xE0 la Couchpotato" +home: https://github.com/truecharts/apps/tree/master/charts/stable/radarr +icon: https://nzbusenet.com/wp-content/uploads/2017/10/radarr-logo.png +keywords: +- radarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: radarr +sources: +- https://github.com/Radarr/Radarr +type: application +version: 6.1.3 diff --git a/stable/radarr/6.1.3/README.md b/stable/radarr/6.1.3/README.md new file mode 100644 index 00000000000..28512e3dcaf --- /dev/null +++ b/stable/radarr/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A fork of Sonarr to work with movies à la Couchpotato + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `radarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `radarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/radarr/6.1.3/app-readme.md b/stable/radarr/6.1.3/app-readme.md new file mode 100644 index 00000000000..a48f3396005 --- /dev/null +++ b/stable/radarr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +A fork of Sonarr to work with movies à la Couchpotato +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"A fork of Sonarr to work with movies \xE0 la Couchpotato" diff --git a/stable/radarr/6.1.3/charts/common-6.3.4.tgz b/stable/radarr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/radarr/6.1.3/ix_values.yaml b/stable/radarr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..095e494f526 --- /dev/null +++ b/stable/radarr/6.1.3/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/radarr + pullPolicy: IfNotPresent + tag: v3.2.2.5080 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:7878/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/radarr/6.1.3/questions.yaml b/stable/radarr/6.1.3/questions.yaml new file mode 100644 index 00000000000..50cc928ec78 --- /dev/null +++ b/stable/radarr/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 7878 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7878 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36016 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/radarr/6.1.3/templates/common.yaml b/stable/radarr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/6.1.3/test_values.yaml b/stable/radarr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..64bfadaa7d0 --- /dev/null +++ b/stable/radarr/6.1.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/k8s-at-home/radarr + pullPolicy: IfNotPresent + tag: v3.2.2.5080 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 7878 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:7878/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/radarr/6.1.3/values.yaml b/stable/radarr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/6.1.3/CONFIG.md b/stable/sonarr/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/sonarr/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/sonarr/6.1.3/Chart.lock b/stable/sonarr/6.1.3/Chart.lock new file mode 100644 index 00000000000..8bc980f4aee --- /dev/null +++ b/stable/sonarr/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:08.648489895Z" diff --git a/stable/sonarr/6.1.3/Chart.yaml b/stable/sonarr/6.1.3/Chart.yaml new file mode 100644 index 00000000000..606e02beaa2 --- /dev/null +++ b/stable/sonarr/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Smart PVR for newsgroup and bittorrent users +home: https://github.com/truecharts/apps/tree/master/charts/stable/sonarr +icon: https://github.com/Sonarr/Sonarr/blob/phantom-develop/Logo/512.png?raw=true +keywords: +- sonarr +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: sonarr +sources: +- https://github.com/Sonarr/Sonarr +type: application +version: 6.1.3 diff --git a/stable/sonarr/6.1.3/README.md b/stable/sonarr/6.1.3/README.md new file mode 100644 index 00000000000..79169b50882 --- /dev/null +++ b/stable/sonarr/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Smart PVR for newsgroup and bittorrent users + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `sonarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sonarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/sonarr/6.1.3/app-readme.md b/stable/sonarr/6.1.3/app-readme.md new file mode 100644 index 00000000000..07c189ecff0 --- /dev/null +++ b/stable/sonarr/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Smart PVR for newsgroup and bittorrent users diff --git a/stable/sonarr/6.1.3/charts/common-6.3.4.tgz b/stable/sonarr/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/sonarr/6.1.3/ix_values.yaml b/stable/sonarr/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..0f7deb891f1 --- /dev/null +++ b/stable/sonarr/6.1.3/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/sonarr + pullPolicy: IfNotPresent + tag: v3.0.6.1196 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/sonarr/6.1.3/questions.yaml b/stable/sonarr/6.1.3/questions.yaml new file mode 100644 index 00000000000..6f481889d30 --- /dev/null +++ b/stable/sonarr/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8989 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8989 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36017 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/sonarr/6.1.3/templates/common.yaml b/stable/sonarr/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/6.1.3/test_values.yaml b/stable/sonarr/6.1.3/test_values.yaml new file mode 100644 index 00000000000..504a54c0bd2 --- /dev/null +++ b/stable/sonarr/6.1.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for Sonarr. + +image: + repository: ghcr.io/k8s-at-home/sonarr + pullPolicy: IfNotPresent + tag: v3.0.6.1196 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8989 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8989/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/sonarr/6.1.3/values.yaml b/stable/sonarr/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/6.1.3/CONFIG.md b/stable/syncthing/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/syncthing/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/syncthing/6.1.3/Chart.lock b/stable/syncthing/6.1.3/Chart.lock new file mode 100644 index 00000000000..eae27c5398a --- /dev/null +++ b/stable/syncthing/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:10.549399634Z" diff --git a/stable/syncthing/6.1.3/Chart.yaml b/stable/syncthing/6.1.3/Chart.yaml new file mode 100644 index 00000000000..1a0021cd0a2 --- /dev/null +++ b/stable/syncthing/6.1.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: P2P file synchronization application +home: https://github.com/truecharts/apps/tree/master/charts/stable/syncthing +icon: https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png +keywords: +- syncthing +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: luuk@nieuwdorp.me + name: luuknieuwdorp + url: nieuwdorp.me +name: syncthing +sources: +- https://syncthing.net/ +- https://github.com/syncthing/syncthing +- https://hub.docker.com/r/syncthing/syncthing +type: application +version: 6.1.3 diff --git a/stable/syncthing/6.1.3/README.md b/stable/syncthing/6.1.3/README.md new file mode 100644 index 00000000000..b317c141e85 --- /dev/null +++ b/stable/syncthing/6.1.3/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +P2P file synchronization application + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `syncthing` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `syncthing` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/syncthing/6.1.3/app-readme.md b/stable/syncthing/6.1.3/app-readme.md new file mode 100644 index 00000000000..7eaa0780e0e --- /dev/null +++ b/stable/syncthing/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +P2P file synchronization application +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +P2P file synchronization application diff --git a/stable/syncthing/6.1.3/charts/common-6.3.4.tgz b/stable/syncthing/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/syncthing/6.1.3/ix_values.yaml b/stable/syncthing/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..f193ef8abcf --- /dev/null +++ b/stable/syncthing/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/syncthing/6.1.3/questions.yaml b/stable/syncthing/6.1.3/questions.yaml new file mode 100644 index 00000000000..f33faf75cd6 --- /dev/null +++ b/stable/syncthing/6.1.3/questions.yaml @@ -0,0 +1,908 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8384 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8384 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36024 + required: true + - variable: listeners + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 22000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 22000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 22000 + required: true + - variable: discovery + label: "Syncthing Listening Service" + description: "This service is used to process incoming connections directly to this Syncthing instance" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + required: true + - variable: exetrnalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + required: true + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: discovery + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 21027 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 21027 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 21027 + required: true + + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/syncthing/6.1.3/templates/common.yaml b/stable/syncthing/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/6.1.3/test_values.yaml b/stable/syncthing/6.1.3/test_values.yaml new file mode 100644 index 00000000000..7510fdadbc0 --- /dev/null +++ b/stable/syncthing/6.1.3/test_values.yaml @@ -0,0 +1,38 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.17" + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8384 + listeners: + ports: + tcp: + enabled: true + port: 22000 + protocol: TCP + udp: + enabled: true + port: 22000 + protocol: UDP + discovery: + ports: + discovery: + enabled: true + port: 21027 + protocol: UDP + +persistence: + config: + enabled: true + type: emptyDir + + mountPath: "/var/syncthing/" diff --git a/stable/syncthing/6.1.3/values.yaml b/stable/syncthing/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/6.1.3/CONFIG.md b/stable/tautulli/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/tautulli/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/tautulli/6.1.3/Chart.lock b/stable/tautulli/6.1.3/Chart.lock new file mode 100644 index 00000000000..c4f33b0a397 --- /dev/null +++ b/stable/tautulli/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:12.461055634Z" diff --git a/stable/tautulli/6.1.3/Chart.yaml b/stable/tautulli/6.1.3/Chart.yaml new file mode 100644 index 00000000000..18748c88e37 --- /dev/null +++ b/stable/tautulli/6.1.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: A Python based monitoring and tracking tool for Plex Media Server +home: https://github.com/truecharts/apps/tree/master/charts/stable/tautulli +icon: https://github.com/Tautulli/Tautulli/blob/master/data/interfaces/default/images/logo.png?raw=true +keywords: +- tautulli +- plex +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: tautulli +sources: +- https://github.com/Tautulli/Tautulli +type: application +version: 6.1.3 diff --git a/stable/tautulli/6.1.3/README.md b/stable/tautulli/6.1.3/README.md new file mode 100644 index 00000000000..7940748258b --- /dev/null +++ b/stable/tautulli/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A Python based monitoring and tracking tool for Plex Media Server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `tautulli` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tautulli` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/tautulli/6.1.3/app-readme.md b/stable/tautulli/6.1.3/app-readme.md new file mode 100644 index 00000000000..4286929041b --- /dev/null +++ b/stable/tautulli/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +A Python based monitoring and tracking tool for Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Python based monitoring and tracking tool for Plex Media Server diff --git a/stable/tautulli/6.1.3/charts/common-6.3.4.tgz b/stable/tautulli/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/tautulli/6.1.3/ix_values.yaml b/stable/tautulli/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..889a1bfac56 --- /dev/null +++ b/stable/tautulli/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/tautulli/6.1.3/questions.yaml b/stable/tautulli/6.1.3/questions.yaml new file mode 100644 index 00000000000..b504c5e9db9 --- /dev/null +++ b/stable/tautulli/6.1.3/questions.yaml @@ -0,0 +1,646 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8181 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8181 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36018 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/tautulli/6.1.3/templates/common.yaml b/stable/tautulli/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/6.1.3/test_values.yaml b/stable/tautulli/6.1.3/test_values.yaml new file mode 100644 index 00000000000..79093a724e6 --- /dev/null +++ b/stable/tautulli/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Tautulli. + +image: + repository: ghcr.io/k8s-at-home/tautulli + pullPolicy: IfNotPresent + tag: v2.7.3 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8181 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/tautulli/6.1.3/values.yaml b/stable/tautulli/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.1.3/CONFIG.md b/stable/traefik/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/traefik/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/traefik/6.1.3/Chart.lock b/stable/traefik/6.1.3/Chart.lock new file mode 100644 index 00000000000..d19deaf5a35 --- /dev/null +++ b/stable/traefik/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:14.398020386Z" diff --git a/stable/traefik/6.1.3/Chart.yaml b/stable/traefik/6.1.3/Chart.yaml new file mode 100644 index 00000000000..04f066b09f2 --- /dev/null +++ b/stable/traefik/6.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: A Traefik based Reverse Proxy and Certificate Manager +home: https://github.com/truecharts/apps/tree/master/charts/stable/traefik +icon: https://raw.githubusercontent.com/traefik/traefik/v2.3/docs/content/assets/img/traefik.logo.png +keywords: +- traefik +- ingress +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: traefik +sources: +- https://github.com/traefik/traefik +- https://github.com/traefik/traefik-helm-chart +- https://traefik.io/ +type: application +version: 6.1.3 diff --git a/stable/traefik/6.1.3/LICENSE b/stable/traefik/6.1.3/LICENSE new file mode 100644 index 00000000000..907ff83212c --- /dev/null +++ b/stable/traefik/6.1.3/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 Containous + Copyright 2020 Traefik Labs + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/stable/traefik/6.1.3/README.md b/stable/traefik/6.1.3/README.md new file mode 100644 index 00000000000..d00a60858d3 --- /dev/null +++ b/stable/traefik/6.1.3/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.4](https://img.shields.io/badge/AppVersion-2.4-informational?style=flat-square) + +A Traefik based Reverse Proxy and Certificate Manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `traefik` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `traefik` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/traefik/6.1.3/app-readme.md b/stable/traefik/6.1.3/app-readme.md new file mode 100644 index 00000000000..753f84f7068 --- /dev/null +++ b/stable/traefik/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +A Traefik based Reverse Proxy and Certificate Manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Traefik based Reverse Proxy and Certificate Manager diff --git a/stable/traefik/6.1.3/charts/common-6.3.4.tgz b/stable/traefik/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 zcmV)-K!?8{iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHcic9TI1JCfzy1^$+Sy3{soAZooqkvIu10ba@7RitB`42r zCdYzEv>FkcWJs`OMfUUApMxs_5FpvQ*-6Bc|4ryuPuuGyWSG-vcd;rz#07 z{x-ffF1vAmkO$`YM^uzJODABlF@Sllex_N91~Dq50_TLi`L;?U`WHy>SpkbHFwF{Z zQdEcypK>tE=4b+DgyiL9G&;v*R-J`WHXo6qLJ=!7f_Yw!NP*C34oiZHk$BGs;s8e! zkpux3kieo0IjE{cMUqb(s}$IT;K=jchQKln&X8!4L>E z7u6Y34gLBbyX)clPBtaXtVbg|xjI0|2Os zWCE;$3d+T=D2e~8jAmIyP&!P|*%?mH!!%K_ekf85%k^)*+4R8T#Y8K}RgNaIiGzh~ z&rY}*ZVmeNznK3Em{h2|Cjrnt|2KD@?`+!h|M}+TIU@{p1@B|Ep;204A zQ;;oCQQ#P{2~K7ROpcWR7L=Ym$*$%o zC2JstXr84dA|NY3NgzSfDk%{e0KlhMUD#w)ni0rBW+_8n7aVDDMhd|I=(Q%``jZYY zfoCXL1{SZNgE_3`XQ-eZ6{8XtCsYkr7&(Fc zkRG4}5!3`xgXh2w7%M0kfX~ycpkoD>^qZugj-^5eL0@RiuX$`?n!^vEO5pvjI& zd;b14eLVr2g8`ny^LoOvUv!9MC8p*0co9FWQUubakHB;5eO@IA$g>1Tv^xED#C}W$ z16E4Tbur}TbC|{}<*E`fqHEb`Wb5xh6q>5^PhLl!&ppI7ehc8C{PtA$sRHeXAxlc*5rO9DXq0jmHYg{?WU41Sj}+*3ctV zL?|V66wrb%>T++;JS(nRiw;UuEO3POqA06UQVaeZMR@+AgUiPLjqO#}qZ^8^y4bh;oAqvT!51r$Y^XL&_S zF$P5iBH$8}8G|H5;Z;_FlJWB@96SO4L;zkwCgLCy+a=P4CM6uDQE`=1vd*sLj9BAM zVJxQ|f~HhVQlUVl+7rgt^y(~&uQ&lPicncfK5J?rnBoM515T`3agO$mkAM2%?ZE`h zuZB4+OR9y7=DvYA1t?wMB1@TQT)+a;@m+@CL@-H?c-q3_tCYYGa*>`4o`AhoaPq$s z@a|-vGGLWsJD7m4udhM)79|LlC_JQ0|McnW!4t5riVU6r_Mmj}ZIR8@ZvetD9H4Z; zTJVG_27)Hue8EvV1g1qcSDjg|0rUaRbIP+P;3vi@P;d(5_@ZjUJX_*T_xjz-2?!j`;{5OIXBU@8}h+e2kDXv#2#xq==w0#Mvm$qH;uFc~OpV`YVdaFopyUVb0_V?VOR; zt3%nVL-ZlfN;J%~cu38qV$RFbR{lsyV;v#edicY^%lC(SZ(efQ0l*ZaBz}vg^0#<% z1j%f|=0TWdF``@;3}mm0g@H=_DL#J#b5@_%mWC4jGMvMF$fPDM&4+NKD1WVr4Z(g@ zl57t00%rv#S0GAY$yb~hPp7D$Lz++-!3Ou)6_+p348;|d`LfJ-U1IMS1l^b!+|1{aZj%< zwG}3XU;+*fk0oEqH8Gy5LQ4HK&PXXl7MQ~;P@pnP76_zel4TcF4sco0S(&Av%;pIE zOHDNjwaQCI%RU3kWfB0o2&B(Yj8KM5NisIwCm>jt%gak9N=HJuVC0E~iV~Mi-LjYs zXt64mR1E+8bAhJ6{Ib#_9HK0ZP)^E`tT#+KgK>IJKc-Y@X!4>Qih`pje0{;``H;+z ze7!p0%fK=J`5LDer7-TqR1|FItvW_g#b)GwmJ;-VC@t`at7r1N_^jz^J>ksh%2lh9 zWlwkso}%a~N{|nbDxfQwd_vMy7*GRwUzRQbU9Lm$KXmaGs|TPmcs(U z7_+}h0t-^*!#$rErw37aFBmVlZaumljy;Rigg=9H-IXPe{Q_3be=#b{mD$&^S?<=~8aE-+zZ zwsep8ZSSz&89P-r*|m!AY^#myLxU$^uhy1S$q1%YKZ0@09W7KDVzye0+2$xLuD}Jl z0wtc~1Qt?#`kLy3UrR8dS2+;{Cd`?K)5a_+0W&~L{f2(kTV%{!?Q_>Gpc$!{Ml`Rb zjcQu%=0lq5@!F8?5+Mwklp*!t?i}E>o+{}W;T@x#@uFjhYjAEj$~niqL)m*_>?YTr)&KG$Mlbr{i9RnH938EaCE9y z=c^t4B-XtgUZwzoll`OGZ=S~B9FcnF;gq0)4yAW*U$d`lp4N^Bt@WJX34?AmNtvki z#AJIBtf|(z&%JNPEM~3d4%-<5n&*Li3C-R;twEpC9xKJBMJ!fMts9h#!KvCQWtOPE zoZ_@32*x0rYItbr)10ATy%EwL7T$Ntp;$~k>ANp^*XiPnt>887HP!Zbkj!IJGKZaDEX|^ZxiqUyu2!ifs@`^O7GQi*OJceAwOKK@ZE?Q4l~xX7bI?j6 zm?wV%(sP`C@DwFUIfN10zM~Bf?q%(k%7~zg?G*Ik-xKhb121)dGK*sSh855Osy%{$ zwO6*}i8bM7SxM^2rVm{9MK0AtLHhSuNhk*xQQ&)&)O%%e8gdU}EmA0)37^J8u{9MY zSp<_>=-5P28>%LX0;rc0`l(hRYRZlvnT4PqNkG|YBjX)66In<}OqU-jp|y}f@Q+=v z9`OS;tXkwtqTFEX~f49(u*{Xr7$L*}T|J{=#v#;6$*VgGT8 z_%^-TM`vmP1mC@TRa?j>MTHLcj=}N%-s_hjLIuH7sv$_H0PUX$CTJfO#BfBI!~cmK zX|6$RuVOhJDEevM1wS;yYdSxzz;YyeYTtk5=~1hEYpoC@kGoOxEIgf4CGj{gZ_ z#MWMGQ6y;IvLN!$+B&FFYps7j|1#hhXe%@?|FSK;FXAlhT@>D$x(;1}`^mnh-~5_{ zMvvNt5PP2uS`Eh=i^3?wR{tBX&_g@XG0{f1t0^qZ&aS4+XIF@2zKGTUn&;%|02ga) zB2nQ?>EIqK&G60_k%nuU6_E-Q%ULks(U1E;1U}J1Kj9={Vj0FU+t`v3s)f))SUCpg zP(|S=_&+gKiDY~tasOMERC6R1eRJbZuDbg6^y%n7DLL=6>3cFm?|JoqoUVzYV#}D8 z{CfDcnBJw1>8v7VckuUbC`BA0BaR0^fG0p~erX*d)P6kG!PenbtU8LBvw2AMJr0%r z{2@)Q8g9`gH9C&3U70%; zl$p4c9E%;*n0Ori@3+UNYlaI|fk1^iuuv}sqFqgRWj04-#sVdh5^<2{c!5$-@>cOi zHS1R?GY(Mm~CJGglT_1JNwYRD7AEH5{i7gX?)ieW(j( z@g?NJZUw4X&;&pqaLGn!lt4URt2a6q(1^g%t+LT_;$Td!BN4{-utxFFh+}x{+G1r zstAr|d{0pXnbR`OWjs{2xEL`pTC^%OLUi_2XVexX<>9GBbL!GV=2r(g>SH}#QC6g8 zFjdW{9FJxwx{&*Kq_`4lkx8kfiSktQX~bDnQS(PAzgZy_Op_hl>J9?0a>SUiglZ(6 zUCq%YA~Nf-L0XMDlk+8Aq}c(c-prARyM#>aJ0}rZEwiMkpNcMlkhC#@v@GZkm%8LjqY;slFbmm%1hq7^+0TzSqlt z4Ur1(DsRBlUMua4%+N9adkJhC44bX`Ml%HSp?EiBK3>7b)5T|6> za918vjnnfXT5vbO2$m&2Pg$HIT{}ll=)W9SR;&)_uVe8`i~8ilxCC&@wvnzhnm|z{ zH;BaTLz=`kglRm4DZxYeW_2L{a)hQ5Mi$8uv87ku0c{K>qoam9S{-OeG)K<6lCO$; z35F$7hk=9uKq)COe>*}X8gYN)5X@noQyKT_NII%{AsO9%C(+I@j)#JPA;}o85s8M3 zh9RBK?9U)&jI>pL&P^>BSW=A&Iv$|J#tAdoJ{D4PfJ-R0$F zXuKa73S@!GtSTZTHTn{a`0>Ef6Q&#vWEFL?^a=P0fvT)vl3alTMcI6g(wO;Qv_Pyn zbWT)f?q8CD1i^*a;$ksBbg)M_t4a<#nq^pX%vB{SLLMswlQIK1rSgvL@6D)CE4k~g z1Vxonok>lqUcABVo$T3uHH`D$;{3ll=QMf`lO!bhU8Vu($p5ji zy=~|J*jnFtJpcb7&-L}_*+87sBgIvoQBhwz>geE5**@5`3&AVG4+#_~jZwjj?TY@D zaLrzhBya|)h9ghTa@U7E=p7E8jXr%ETwf1)Bn1KiM;5{)3Bd3Z6+86n=oxr}igOWC zpG7bcj(Zv7lEylz{97y);b$Wa6i%b0ifc@Q5_SwH03rCqwq^y=e^!{EnA9573N2qm zCJ;OY;g1r9ep)sZ>KljUhGy0ffO%0Wc!y3jn%*c(4WOf#0`!}!EY&eVP#-T2WGy#o zdchEU1Sw8qDjdf(GUhSuL@4tZbm6PZ-3FbeLkFN8qfxXKrvYXPaROHI0;gmOg2Rje zD3Tl4#H@T(t_D6*SM^Slo!#vD2GvaAMP)e4p@V979Wl&$mlylIw7j!|HR{=ZY(2~! z=xGTTG^_RA_J(;@5SVxg^3>v12`c8eEUB*PBf-mL^npjcy-EoxrgSlPlAt%@b4z;n z(_H`6e7iF(plki#*cn^v|Muq2&g1(35D#1bnXav3WvEaVVm0nm>O0b`LB%4Ro(29iA z4oxx`JIQP#QV*=t=20ieNdA37JyL&^pda>fi%@NpzJii?1o~! zFuDDxj6N!(e<5YGssG8d9Cx<|)TRGztUtH)zwyr2qyG0057qy`Teg$K^}Sc(M4(jd z?&1AU1Yzz7zQ}#mU$Dz$Vn-8@nq7OwSQ`O3SZ-r}C8IWLJp;`O4hj zkR{dr$Iy^k@-v4)!70$fug*)3p7CsU^)`}o$xJh1feiIPc%eS9pz0NmCp{F$D+BO! zbycHQ(EFa!NJ+6M4|F_%z%gt{XroaEI1v26`j^8Cz)FlG0s_^2Ccae*w$CeGR|h6$ zvpY$m^?=Pm(v#E>Df>zZ2ddap&fGvM43`rNb>B3I;G-fmAnMyvjs4iC1uCg6GT8+|(1-RW zPK$abYi6+g7rLq|29kxVb?anjSgjKT?OI}@vnAr(tE{irt6^TCtJ2Ygk6?<6k~n~y z0EXIF`*JtQ{=`pH|H~KA1IPbtKDY1x*xDFB>VFUNF#n&f{~gt*d_-h53m$IQ2mM|> z78aw;`y3SqRH#egZp%k%X?>sqlAyUR+3hpNhBRVw%~<#oT$15eba53R!AC%{W5N>m zu7cHu-bm1#DFx z*EPDXiMOx4!8vP0-Pqbqi(>n^Mei5!G}nJ_NZh3g(6RoHx5qp7`oHsh`*Hn$h)3-I zv1I6l3h4nP(=KT7ukO<5bnMrutvU|)^K8@c-I5=2_*;br4VSVAQ2g|1P_jkxK#=G0 zDsNcw<4++2)=dcyPvQA)Xt=|7zDa-)R7_aqO})0$8KsPZ$E+2KWvI(ia-VYXqO(CX`oRC4O(A zy!u?|5zAXKbjM3X^!5wS?F#t~)$QS}0lW1b*mU%MScPb7R`zL@!n@NnT{7jC{o&Vcd-+BJ%|9_CDRsV;U z_CHfY0_0f?pc)i@JD^ettoxb)Mjn%)uHeaqK;p&edBdN|w8~iy4@H1Xw_0G-OykqaF|b;4RFF4+gbWn9tsoLa9=RWI`=S9z^j zX|%gKigOlxRBFD?YX)GB)3+`QLWiQ2(Lk*W0PsUMfVzwZU{e45+jjP#%ekxc=)_%=8Ad4%qcoa^I2$e2 z1F>8m@+_}=gurMvM=3c_cRo6nZ2VzJSMBgEN)RkjDAqOhl7~%dtFgGE2Yk)GvX*@M z^tCIv=)T32fBxUyIna*zzrDV`W$*uOuRnjB{}1sjHUD9fG|q?Kh3CIuqolP)lI9RY|hQ({7T ztVq4f?`)@Bj-7khiPDc$C`LxN-4+f;55-lq5<9za$HDFy zA$i?_jSFXMEFr(AR_iA--jqezS@D;uOfICKE)AJHbDjKVJT)T>oe1mQR1rTY1*L-u zoer&DgB(NHI*7B}^_0*2Ze7V|b_tJjSnDHM&3fy5eY@`Ub-h>2Z`utwaCYmE18jpb z!0(qzWBbzFE+V}5`06s(icK~e!LHM_-vV*nJg?5!+o-E;owzAF?8YxXuv^!=P}wZ& z5vKdOb=k*f`Nwbn**UUrZU}bSf7?6jw*P1AG5+geo*Tq}*#iUonw{0xMpo%ST=m8? z1&P}nnNrwc0XovMJNJL|lemWU^J{i?!+oEsoR3`@XCJ0;ok`%g-Fc2&Hx4^96MC^gFCaCvCF`(;)kJahowvh(O4_{*V*?vHOvN)uqFEgS`QO=@+w4>NeK~{` z$%eT;r_?mLtv%SV_JSEo=3zM-&9dwwn1H-MLoxr?=-*X-UceYN%MLFQKA(|b0)pZC zIB*n*SsdRm&k`J61rxwtmQ@rX6r*^J{hUIapm>dopCNn2oKiSTm3`S3|D^{76^O12 ztQ!gCh91Ct!5XtEh@YTqcsp{)A>V)RY!REa`8*W2 z89EehdCj2&=q>3nQyQ(TyukjHC_ z$&0my@*XSQ0At^z_owkezkTi=Hjlo5ts}M9#!bx_eQ4}3uCSBI_FHiZTdg|RYVCCH~tZy#yua!1g>RCo4@eLP#&9_~! z!jF^lLaW@7?S|96%LxI_Qn+}N=5 z|8DPWKIZ>@kZ0-mzdAqgkM()Xdx-{Ase`ZGv3&OKz;&NszH4_VpLa{C5zJ@W^@fT6 zG+#u^?LS@LN$lTsoh*r+6L*yihQX@YGD&PROi+GlMQJmkZjG!q%?cisVB~*RSlz{H zXmpw9%er&O*&2X5{7s_M`IHq3cX@&HDivE4ONO;+Ej7UiCae7mc^0PLytqIp_w59= z2iSE*)U}02)jK^)?eoZ8k;WnE<&Q_JlgOf5>QSv#G87=|WVC%I`ZlMb8#FY}L)+cl zI1Jr=47yp+v$wX#iPHivKZnX^;BRVi`d2R`TZ1hZ5euT7)cP6o{MARL z1Fd&lPWVObzq!5ho&T}A3VI|I^k{%O8*Ur$Vl97WhOg^ush3&b+m1cBFZ*R4*cFct z)98v-&i83Rb}i+W}S|SB005pEFklo81w~PrSVPY3L$Wq3dgu#x=D%=!de9*i@X=rv;S7-Q|Q6d(YwKrwwc}2Uemj=6>721JvU$hf6 z|K#I}8%`gVcxSFUR(({O1LW1wvgfoK&CaW{1edeJjJ!oKzS@gpaRnTAZhO8O+-(P8 zAZP2v#F^1roue^UAcJK3%G}!=TCVv}KM}!`O_--8!uqA2%f!AWNnvwsJsJC8ts7vT zoiFFtll>!YSFGNtIN3iMxHe0zy^PL%vNi|?j=Dm<3Oo3-Qs*_4qE>A$irbOoN|5V2 zimR)tk@A(+gyz0uiz(~LRp{3WT9fc?fj{7Jm`?leJy+3gV+D5Df9spu_WjS#pFhU` zJj~PQW(6h_nf(XO@dBlm4cObRv$g%^%?n3NW_Mk?ASHchNP7Fm1w+_(UAMpyFMZbn z*A>TLB|)hPt2Lu6U&ff#ED5CSl_u%GgRjbe2Y(OLiA(OMw8hp^_dTf9(P(hnO%JSw ze$9heB0lpS51jDF3m)$1X~_QspN%3^kkNbkFTcDiyn^#vH~~B4|HgQ8!+mH9Z zJ;>vd+WK|ky0=T6(eLf-Qt_dN>#e@&+}yyFemq}c<{vw*rtHACAu2T5T-U!#hnOnl zLlM>(>Wl~8!g~G#mu1?IIFquQVKsb|3jg)e_s)mrWllHZZNLcRji_7WNEzYssS4MZ z^M-r4fH>iKRGxxW5Rjr0uHqZrJ^0j4PH~gKFz$RXoopm2RlpcY$}kcJin~?J_>KOB zu6V1oQ-~kI+0GV9BXiS?LcBm%Z4e8*fCTjgdHu&YsPOpQ%hR#`-$nYj&iJqOZTtSm zosG@M{BIBPNc*qAXo1*~xDh{(ho^uJ06fJJBrJ>~63G-%>^JxEI29Du4>{q7owY^oU+9Y886`c0ofOr`)aIz(()W3RN|X`> zv6i9oL?gHU^j|JfTVHU)b63CxYiBrjMtWuFOHQU(5R!sOs)T}HLT`n7pM4I zw>+z~HS&w&)eTv*#8g&O6yOx#5Bv4kvXyW3hmYmJLP-B~> zy{vZ58@-j&BAbH+EHG;()%sdn*3qJ;f+RLLZccb@H?d+a^y>RY4@iq))? zV~$l1bxt;AnkXbD5uJN2!tGI~{E{EH{x^eE0n|49@6-Q3-r3l;{XaYFkNLkJ`x2StQZow4Up!@QfPP5z6Rms@)PyX614>Hpi_ zc#QvlkVn`5M7;8Hs-N5%p_5OZcw^(I?FKRWT_myh?zT8$t#mOH?o%M)UY<+&{^`>I z=D8K|ywI}jH>>!LBQ@d7VG7StJUrt&FY1KVah+?qDQ1sF3vR>N1{;P>`Z}(?*6yoo z)@275(+HU@lN)1?()G{$w8?)ybngB9*VfjC9sjqp`F#8+{~zLEa_Z%W9Hwz2{*Nbc z_K7E5uxQ}|=Sg-3lSBQWksX<)g?flfGy-1Bit2EH+65~r=GyUDnhpGuaolOu8!J{@ zC2Vl4%BR$y{OU%>};|>@m$7{34!-!Bb2Z ziaci>5)OVs96BpcC=S{=B{)M7tV#sRY>t=#$E7;&#wkWg%)<;5JjVpZ)UG2lT!NLe zE7rvahsU%mPS08P+tqOJY6=Rz0&pNA+ifXE1AB)FxWq|9O~k6Cbd~@z;sv$sL#7TA z(uU2_xA5>T__j*!a;!DLHOE_{h&AS9>$=AsKL#MH+x5Ko46?0M);9!Zxc9YqP}TP$ zFxF5FtO!s+iMvb#fmumQSN&Dv_s}PGJmn;#t?Ot> zY1BEiX0PV9H4BFPP_WT^D(!k_2;r&^YHB7GX$)O;KvMh>^abQ~m}uUmyvTA?Bv&AU zbWq4aBG*iHIWjw#)-^z^tCVd=iX^)(Clc|+C{MDhx!Q`gTtNqo&)4ShMn7PP=2==I z4_x;37%dI9B#@wKl`z0A$j7393-+)jl%4HqQo z_&xi7#yd^@e|zWA|MMUZlWuQNan9F?B#U4oRyYv{AuR)u%z=Lsg4OT5P={Gbm3x*7 z0npHA1l;;=y;ua`wAQLhR5+@vWOGbvy^q(l(_qbM+vB?SyebLf2i1`-3rvtrm5$B; zr6Pku5Y$1|k{Sck7bAb%^Ir+e(R+2<#r@s?^t^fh)8^*m{@;T<*Zf9@lNkbYh|~IV z6KRRXKqYfgn$5G38nE_8QN7GkaQhOPh|>ohZc6?92%8_`z7*q1n+a2$-d?i~f#<8H1DL%(s**%Ym|)h))ko{3y)K=gJXLI5=puyQ1y18vB~^$D zoSv(8ifn43@2GW0s*Sd@%?%o1aW3=P73bw$PhP9KcEQsN>x1g>rwj9oHl;C(Q@5}5(Y-MBy(q5ciG*MY?Y3+R<}g=@6#>-zjWRyj z>Jf9u>Rre?D~`ZF+nNyV+YDUS8?bB|4sNd6&>V}vQ)BWum}y9=HtOnWDLUPP zeBJLN1(*92r3)tAw1uQVLcoY`6EnxEUDKeV_j2ZNfYpfUIOo6LqG>HomsNr~IblcJ z)JhmjG{Da-k^;}Q=4@DNV>4!_hN558Rs$1br+JIp^|i*d@CHN|*%|7fdh~1nxZTRH zDLpAFbhvj6SQ=Guj#5-Wf@1L9(K~?CX~r8#OUjN?sb$&h8vuDv*|kU?AU?`u6am{p zp%$Han3W=^69KWJ`n3i%pk2TWK>byd6jsqldaF9oT8={KcUTrwEeDC z8{cRQ^5zyri;Q*cXM`SW!Ew(mL)YIZX%g!~Q{apNl*y!NxyH+hW{7o|Qqc^>Re}l$ z%XrZr&MYg*ArH-@CA6Q*!H^1`{JXWbwxGsoS)1JIhhdx>MNA#e(+Ula$SC~Mw-P)1sZ<(G|+$F9y-)gUdq3350zvID(Y0S+Rr6n|0VbA?(*rO|J^zZL|6Rx z^Q}hyzwM33_`e5vm?gz?swss}#<>^@Uk`PUnVMRNRxY#oF{jbc@(a2Wy6g6|J9VEY z6QG#_5H$1r@oaY7tbXdg)}O=RJAiw6PQ{9N$7>Il^;7WB5%hu99u+8!QNcG^g%6Db zSFDvu3wb+4rdzGetT9hjT3ee>=KhN2e$%|GdiL6thO@u^s9CUPz{L+$!FPa55NG__ z>W?I{8 zGXt+L`K~wbt|#TLoebA>_8G}`9R!)f$5BlKYOH*>J$TV|k@tgFsWZ$NKVCV*#H& zvEgD~gvMb;RY|hB9puZul{t!B`xzU)y*P7Q(CTEPYaKg60x1gw95#0@YQFAzi(WTl zmQ4hXyE%rgJtqrUXSK$*iM{D;k)qwHED<$Q#hYIOu-YJ1jDQ&-`FDs+0#_H=rKMKD zudtOD(w?DE++^F>I`ILJ7m?H;PWY`e9tfVk5p5t*ew;-Y?X7ULw9zuAYzVTno}_sfD(9hjG`=!OM_K(UWAT9pq+FHo~mb6flg)xDrZ>|H(}c)dIBbRjq6^7nw>CgWOlB}xtG3Gk z{RVZ^lKq_A@`a}kly%TW5!8L7m+cp2LKx(rwD)5+aa{@-W* zr{@0u#(2E>xc~nk53~Qf<$o_fSmM*hx?__10ha`)=louLW3IDITbJ;v1bKm`r~ohpW^p{__o?ENd96i6 zQiIIhHk2J_Zb#3+4`halOI#wr$zX@V5xW_i$uU z**?AE#kbnD>r;DQpE!+y%L6RWun zAJkS~PS)Bbs~~^!PRiwKUk6evJ(BH|P<_P!sy?^!MV6}Xw$v`YYzYx8^y1(5c^uKV1k~uz4vjW{cjt>2AyuE4f z|7`5+Jm&v>kmm_Ff`p(VEvXv7M*z5-p%k1|IEit34ssY>z;jfFgC~I96fd@XOHj^G zl7RChI|Fk_q8U!l*Fb?1NbmwNd8oaIX*_rWQgqG&eW;K?Q~UwNT;lzGH3ZC#%u-g9 zl0;<&NN|e6L3nWd{+MJ18a$EN>VDim1~D$mL3obIi2cjSAB1PW7bEtsd@(y8(SPL6 za*>W|KxZ(zsB$pH2`UHA!tyd7JPXg@#o$>;=JfBZz~_T!|L@=l_z@O3t4i?d;AJ@o z^CJ5dMPv}-7{L)QUSz)x!bKTnF&h05B$Al_Z(r^mym=YUFu-!{hU zkN3Yl$n!*;>mLmM{GA$A0~91Na4`#zha9G;`evuEHxCGK-fX4P33W%Cg!D#Qa@MljFI5h)NF&0$GU zG2$Hh$6)Z}33vms3`HFbJ_2#m!^=6VKgt@DYf8vIAlB(!a{6!0dJhijq;l z|CRqU{$jrdAHmUguMWURfKv+NbbIH;DJSnEIC|&%^6t&v@xQ=FP|C~2PJ{7yBT(O+ z@w*>+_|r#l`tvW2l0Rxr?)Sl8Vm4IbWLFx|^{^;g_#I)Cd9WiyP4@8lSc4;1KcVjl#)MI!EC?x4UVXY%JVNs=f z<+~CUwKy8LR_6gYHyT*7a&ur&8Q!DfvRu|fjY5&TZfPbPKyn@!DLA#hvAMC{yQ+*# zF=#m1KkAL#h|RolJ4j=gi^DgsS}9rdSwyTlBK17?5NQY-coumYF1cRGYWxPhZ*gKa zD#eMbbWfSai*_v@v{Zr@C`Dz-;x05?5!+O=|QBI z=Z6NDsdbA*vkD%aiwe2X9^-x{2)qXX{$W|8xBQ%?}6fUcYq0Ysv`0NN4FwT%hv`7V&Mn z-v;Cx02ePxNM_j_jZ}?Z@EZNU9*)C}@y2-kV&l06L7va@P3Pj=BbQ{VBF{&;tGCy^ zde((sw=Q~Swo7ZC)EO&P`TAI=YYAZIFYCgNLy(>|yG2;aTo6v4hzvgds&$SXPnjwH zz*dSQRLpT%3Z6QNY-I5DEK2&xLMPSw!B?LMRw}q!*2L8?KA=nJ?0q%#KKgi@Dt<%7 z`?hL!Kc%`;`L#~wI?MDK4#r_n4>9^y3)e_O7)7Wo-()u6w+O~R6_}tO(nzy+9T2*@ z*HNVovN1b{e{RKA;@>Sw*T2K5!63w-(=z-j})-8E_#azhl)}Y_`zZ4YSk<(bhEDV-QumM zZ>FCorrqzNn?x?>N}rP5zLY+m6Bqnm?hz~HeSiL1IsAPS(Unr)qn(tbfCQaiIS7B7 zB?(T?-{mnRnx>&Aif|4aXIQVJ>0s`N-)vQmzCwbjqGS*+rJOHz*18SD4-cX*!N4UYEx z-_4E9vAzGhy|ML}|M@{45!|76f$^M4wiOo970_XT)AL|3_&-70W+@vzbZl2CCIPRj zl`lzwNHi;0K|H-0l@%r^7_1HkOcE%|=LD7Hn0}+8p^6B&X0TZCkbPjk*|si__`>f| zGH0&_p9X_zl}2EN)d0_$fLFmWB2~`*URed#ga5;UbCA0=&_i^&B4Rs-%<;Acf-oF~ z;YfeEs?o>uO>+r$fO3?^D2*^GS5_%qqY?NCffS*b-@r7Ld)6ca7dW~A*_7WPLg8|V zYao-6y0m(5p0SSsxXjY83AjkJO90QZih!&t*r$>=pSD&teT9H$q94PPRfD5%t8|5| zffQY?I5@T1i=7-7b0w`v=!_JWOdsYyb0PnW(V;*l11;+a;GcitB~=0RAx9BGv4CzC z_*4T5#O8M}5iz42@&u$fS+k+Ax1ZMP%Evf8PtY;XfibBoOKjJHaFp$i&Tu*^XTc{2 z(7LoLWguZ6U*nP!*@EO+)L$D$pL$|i1Hmv-_;@VlG%EnlkwPNc5j+x~_e;$=ZCMtnAYi&@5}HzL{{`Wan?Z4oWv$Mdu53Vewq7WMqbWy za<$S#Y1XXsp{;@U{3Z&!LP%}=m4IvYLSNxJeqA|O4fkg_i3^mjco4`bG1=9S{yhFg zfER-)SRL3ML88!}R=e%}qA`MV!6w4$B_0w14jJ+0+=RA(1%MH$U~&KnWZAzPGhRM* zIl)L9r;kBE4E^_O-~wIM1HT67pv=U`DBA^)B>-A6-!rHo{k5_hu5jX4n-nz9x;I(* zTLlvy%d^t#lQoMTdm^a6R>hR>E2#I1^YRu_+AE?d+*`_L3gQOB85ZZ|ZkZsI1Dx`$ z5M69?sC99>E}&WM8%t+e`$0uB zMfhix%d~CxCX`>Mi<`@2uSkBGE-WBDM6>z01@+5x(U8;sLRXAwN>V$))N&D}i;(}l z%Rau(rteX@&_yXj(`dl8%vLuMxs+5*7dhW18Emx8L(Y_z-Q5Z|`VcV{fCEGVy&8>E-egaU|L@BWd4eNM)Hb+# z#imG)Pxek;?Z1C{_@mkXYry*a{@b@dyb0CC7$Li2}fh zjZw4)0t+`SVqwr5|7zZBa~H=Ce>iyg{&4Tj%R6a}g4RK)^p3`^x!$Dolu~-|KZmT3 z{(b%LYwK3te}DS-ry-2zI6dt_qyR)o)K+v}-z4)5{=i5ymxBg*4N1NPy=#ri?PIdN z`2TbC`qloclN$}zcF?ch*r1mL_{sd)(Me5O>RxL+j&5``#+Yf=w=N$0_}d)j{>lvw zc2(9m_Nb@-b@X(qD|ys(IyzgmbXxbuO8U!m(NjmSbN~f7`Tx;R?nbGG@e8kbv-kjM6ZgStFZ#Wm-UoGG93AG>8<_trdf^wat1#Z7 z4fQfzteFV!(t@HraJ&5nzcD33%lSjq?}o9(ORyo_$Ix;aRvg3xFtvWo0eJ#~K-ZLL zi}_c#p3N^Flgh;L%l)@6PioDEf2|cviJlad54$eo|6;2n=T^^^QFO|hzDm@LY>=x; ziDA}b6;Vs5NmtLM#Iq>1!uleWh0mug(79(Xr>4@tmJ|b)-S2S-leNV zdrA6Z_r>_dSodLQO%-PV?Z(m?z1k~3v2@mxrP?b4@^)EWH+i?{37xWI-_rb9DSLNt zR?RHDMgcUrK}cLY7Ru=EJR+OoX?rm;CA=FC2dpO$9I(Myd;H2Zqo^vU$H+NgHR+} z4(3+^Q(zRDWhKcWnGIt|;LUnM=3#8*A_d;utG( zdK(YQGfR!;(fKDCoq__ZThCS_*jGT1XhP7HZ3cl3w5%cunxzZ>hg|e^x|nB!oj6=; zk~0D7Jff~iy_6YMn_DB@$fzvv;$k0-4Kdj+YpUy-r5BY)On9;Lq@Ygpa#l^2XsI># zy=eXAjvez_C+~YP#u+@bH#*5PM1qet_RWjYWXuv6(ZY++_|($=&!ah;>hq)Ke9xM* zuB@~u(8kppx6z|@e3tep_k-#Z^>}mEcSV}jpXGj!_R6Je`*$_)v;l5+mkmvQ(Q$98 z^wn9_%v^KOsg`}8zOGTKyVt}@w#zQE^KbfiboeG6Vj=e^&GPBoWa{l63eDpp1$Y*fOVwr zK8^s2+(7qm2GD}sI0OjHLwtX>bAY`0{SN}#>~fz3Y%rDnd2*Gb+wRt|$Gc_2wb5^R z@&@;Id`%tj8;s`ejC*g!z}48BuhC3^p1?{s7Y-nrXX!C&IrwK>Z?zk<3Z=d`zZ@M} zeZ8@YI`?KtgABbncgT-pae3FVFKodkM8ECpW|Wu^>@Bm#sU$xs$~^W_VFphaM10Zv z9h!D$&aOV*US`6fqG&361tL|EdNeq2ZwBMMmzijsx|1DsLwj-V4oRSc#+H6KC8(If z2wi`=*5`;2JjP&^@9HVd4_;X2ae@e1VYt?SvsJ4NJMKaobd1RUQ6gT3Uf9g*;k^Ic z+Rx)-=>M~8T&4G^lAI2Nc*X{fNwl|+Y>i-Y%d@1_>_iE@J zW$~UGcz10KbfNhxSq2_n^fMDW8QHWMx_M9k6b>he_zaflN3}Vt9mN*)DV0W4(x=-R z9`)ljK|C#S8zUzypH~yQZzl|=Z)Gkw{c#1Ly@4NE%eu`S_t7fvLv;{S*KFs4RL1M| zUf($5U9~(F^*C6P7*i+bonZwtueq2%0qbinMo++|yJ_5v%Q|_;^`U?bf%)7(u*1Bb@l=7_|ZDMyt)0yFgcuYY)1*!0jWfT6(2N zkW{~g_zfZjjy~5)+~WR|$xKbFy0PGKdAWb|?j6Ai{+%U}JVHf;QUcFWANkx*BKt7x z?u>mxR<&VbHR3vm@+z2sopJLds@AACXr2{U_uQ@)B)iXV(zH1P7)-!(U+ea>`58|8 zsRy_3oQG+(?9esP&Va|2@AfO-(jGebTF5#PVc`_tyhO{99#O(`JQt^=>4tm1W>HXg zxkZ_S{WZRy&BB6gnf2LoKIa#(OYMY}_PTsh>@83M&yhAOGcsG3M? zTKiTXU5EGf82&$TO~u`2|LyeuJzsxr=l|V${+R#wVV*C=|0gb-xodx)4fe0(-xF=` z=g(^}s_DOL^3vh2yW{hj0;lKL{r6efetMHfjQ0ou=ukJkJ}^OFtIz8Impz?cKWn+R z_=Q1^1Dc+!K7A3V%TAK~iI&`?@dKe9g^jD7cKK~iY^mW_IrXk?T+y^U z;&ao~K00{By;&XySg8^ov{R^$GTw=SO^XppUnK1S+{|*JUdF9#5#@-U7bV_S36jRSRY|we z3tG&7{Gmy-(jWfb5{uv0bd|u?465rh8gvl0IGR5>T5q2BrOHejp=?%}T(U_ZB_*Jh$D^Rp)t)d7!-+k+y z+zyqJJL=uSR3p{iFm2H;MXj4GRF32mY{b?#V(q>dcWMW>P$lj_8Rbfsy`=T2FI!KS zmEF7^jkf^BlCZ3AY;N^iVa*Qrli(Pr6F|{CF0XgDyxw%#ywfG~ZkCk1z;jq!u?1|h ztJaFPId9Gwi;yTxf)^f!mSNgFiRO0n$wqzX`FLpP}NO zxx`a~+zCZDUG`62AKzEnNEDyEK9;ZA{a4;-uw@cUwrB%h|JBLs<5rK+QIRche4~uq zw^)@)qSj>k$F9SEYpqx+uI=(ahmP8wMUZhsJbesJz>oDi5IB=)y6Mqbewfu+J-;}X ze;%fJIK|6+9v{>aL-e#`i2AbC^CJEHPWRjadbW3wIrdT4yPdArvbfV_;}(7tBlSem z7TiXX@;FCPx0=Yow0I0iQqsYtgA>3_2S^8)<$WzWVv5R}h{4vM)VkW1hry#mHJVn> z<~FZKTLy-kBxk)L8F%S?={MFM&whQej}iZoqhgNBl6Lp|U$e8jiUaA0|Jd2t*tX(7 zcDBdk$M}zjc)pbQkE43%{dabD*I^(Y=zpbX5R(P{fTEG>b|^VqXamzm?J zqB33Wj+P*)_q<&;g+#YG^%cQ+Qkp3+x6Efop{Q+axaaooWOT`i@iYOza?452U+vs&n;PQ zE+cLxliDPUv(CC;olFtitH#pITVI}e>o;cJy1~4q8g>K0EXKW_S4XBnWmJ?ym3`O# zVCPmt^`|=J86wMIH9SVJi0a&)U1?93!qO+9s-l0{RI2?5 zH`hoh>b>KE--0HK>8B~1xiR&!BCo1hp;1F7YOQBQ-FqJIlSzr&+Yb>W@ETdcW*D03KC6>@3me(DY)fxKg3b!~C?p3VC$n-1L!WE!3_uH(H+O`n% zJ|(*=?TA3$s*R7%a5^eybd?@PY^|PUmnj&&1=~9>CfhqNfMDpq)8-dC?*46GuIxEJ z?QEz#eUfMKF^Z}JldJtKCFq0SvS=Qyb|{Apa3M^R?DD9<3!I>H^s{#on$Qn#Lf@Zp8}U)qV$_NfeGOQtQgs-xve?r0s351+@{_-y%l9?;+?HKCd3f zO#qsEBjn1LeS*$FW<|_8E)WzK6&_d9DgNNSvAYZH8gLb%3fd0~R1`QyyTf+c8blpx zmE9LK+yPO|ixga3GcF_it7xqGBI+4gtfmyvW>jEY0YJIhS8>%4JM(SbU_Kv{tbphA zQ+XFx!uZeBYIv5s?d3*OT*o&7!O(H52>W)I^QY8sI_8f>lH(%J;|M0`f4@DxV_{>^ zb-cg#`sI)!@sox>3`Lz`L|+Yk(ufU9C717q;9(1)kCJCu$>Un|ZX|wMOjBd7@9xss zx5U}U8i|pBScBOTJb(LBj~bpea7$wD$Zj<4zbwA%+<$-TwEs3Yo^ROq|80%8w;%1l zhj_ji`!9>{+}P7V{-rFtEbeK>=?rq%YzF`6pE7~@ZIn5GfFvyjwEMAIbvXBZeGJ9~ ztQ(3?jv_q8{0wvJC2xhi9br>f3k1x~znD7k1zx+|JFbSlS?jozyYMID_gg)U8Nm)B zB667(7hk}nU{CAJNO9tv8z)p@cHay+tDD%cgalOj+6nesw)5|tcRE;^*wRn!7S; zC|c#iF@Xd}9h(f$LAMH6q9u(j*vrUgIX`kVuH_Mf}ihVAEPuIr%!>q7#5_imDZGYhvLGyb4 zE>z64|?G5}*p;Iagu513i* z%&j_MAlRQKDa^w^WI@?CYaxfw_{bwas0QBz%UYCOrkAjY_l{n<3(yDCKJ$O3&yeK- zoPZ#KXDBIy*1`ZxF-qdMXxa``E6dYt&k=!?fg#7jDxcnbA$WGv!=1K*=+O@4Svkv0 zlfmk2D(JHNKcpCIIc--TuVd38U>AxL$X;lJDERbQMY1WE|Ii|NQJ?EtMjorfa&6lm z>WEf5FFfiQW3s?=%PkJ2FD_iCjaU`7LTHEFBx2{%(Wow>2F-?RBeBVoo{5#zYGx2< zW9rPCbQ8@~Th*9Er&`oam$s#sB6C@}-I_GNa;!-7jS<(fED}9Ngzc+0O28;WW%(wf z-`^q_|5RXt-oW&#Ir{MLXad&1bCak?x!jJ*lC|`%2))J9)LfkSd^^eL$P>6cHjEsL z9l;Z-oYRm|YmttZ>HlK=X`t&4lTt<7;-$QZ8w0YN2tRgTU{oh|qhdD~_<%AaA@s=? zm)m>TVqDEZOMYtnJ9>@hnD~~C`oe$yxD6kUhh_S0g4SZOfDBXR6_$x*o3k3b;tt+V z4&35XPYTq>-cf!g1)k_M33YeM~>kAG=*#aU*T zJKe2mGKx9e`xb>moU9mfSjrhOfP=dZi{k`Z!oPv^26rSV*>neOR}=Hjo3F_9aX>@e z#e^jz7bqfO|K7|BbtG)M*;*!(MKnIk4-*iK$UI+f+Jq`E1ueonTWus>Vlo>tocBuS zMw3oi;)DST4sd}YLPdFZiv+a4nB&rw4Xl|YOm*m^1M|^=`RKsBUk9df)`$0f`^vF! zRL~{wkj>Ev_*#U$e{ImHd(pmDZnPiL$STKuXkV|7zr)rC<4A{zD;*)l6B_snRctakj9TJfz8RCYC=p ztCuk}om0UKi!ZaPh)@|8=(maq6e)Mx{jL4@WiL;E7~WZgck;34F}|96uD3V#VfR1( zWt{&L_buM_8NiPFUp9BP8t4C>Z*D%G|9gn1{rul_E|2m(+(|%jH|SlT2DHKcl}-eT zw)Z;~*kDxiWMGq*8kWzV#l`KS>e}mPp>QI&!C?;>cas~*Oz4}AR3@UxmtnR%P{gxf zSYLZZUNnBw^d%O$9tQ{9gZL;bh#8i33lD*JEc33REUgOUz8hHF3oIM%xnNk`jL$mq zE>0*Jq{&N=?7__j^qPYV`OQ1EEYzL}#xMUjZeocgx@!_vH|$V=%nj_6cA1EMJO&P4=<`SRHTTYGQ^qmYzqCqETb7>=14FjBrjFy z2)HL{>EYI+xcp4wQtOXap{cgsq(q z$txP@)j4;AidX3ZCO8(%HoE|PRd!Kxr~5gN&*Ss>JU)G&|1SUl|Nk**g6sfj0sse9 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/traefik/6.1.3/crds/ingressroute.yaml b/stable/traefik/6.1.3/crds/ingressroute.yaml new file mode 100644 index 00000000000..9422be3c878 --- /dev/null +++ b/stable/traefik/6.1.3/crds/ingressroute.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressroutes.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRoute + plural: ingressroutes + singular: ingressroute + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/ingressroutetcp.yaml b/stable/traefik/6.1.3/crds/ingressroutetcp.yaml new file mode 100644 index 00000000000..b50eb9dcc46 --- /dev/null +++ b/stable/traefik/6.1.3/crds/ingressroutetcp.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressroutetcps.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRouteTCP + plural: ingressroutetcps + singular: ingressroutetcp + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/ingressrouteudp.yaml b/stable/traefik/6.1.3/crds/ingressrouteudp.yaml new file mode 100644 index 00000000000..d7c2624b576 --- /dev/null +++ b/stable/traefik/6.1.3/crds/ingressrouteudp.yaml @@ -0,0 +1,13 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: ingressrouteudps.traefik.containo.us + +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: IngressRouteUDP + plural: ingressrouteudps + singular: ingressrouteudp + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/middlewares.yaml b/stable/traefik/6.1.3/crds/middlewares.yaml new file mode 100644 index 00000000000..513b36f5d8a --- /dev/null +++ b/stable/traefik/6.1.3/crds/middlewares.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: middlewares.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: Middleware + plural: middlewares + singular: middleware + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/serverstransports.yaml b/stable/traefik/6.1.3/crds/serverstransports.yaml new file mode 100644 index 00000000000..689a57f71bd --- /dev/null +++ b/stable/traefik/6.1.3/crds/serverstransports.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: serverstransports.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: ServersTransport + plural: serverstransports + singular: serverstransport + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/tlsoptions.yaml b/stable/traefik/6.1.3/crds/tlsoptions.yaml new file mode 100644 index 00000000000..a0c2573fb93 --- /dev/null +++ b/stable/traefik/6.1.3/crds/tlsoptions.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: tlsoptions.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TLSOption + plural: tlsoptions + singular: tlsoption + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/tlsstores.yaml b/stable/traefik/6.1.3/crds/tlsstores.yaml new file mode 100644 index 00000000000..f9a40052ba6 --- /dev/null +++ b/stable/traefik/6.1.3/crds/tlsstores.yaml @@ -0,0 +1,13 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: tlsstores.traefik.containo.us + +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TLSStore + plural: tlsstores + singular: tlsstore + scope: Namespaced diff --git a/stable/traefik/6.1.3/crds/traefikservices.yaml b/stable/traefik/6.1.3/crds/traefikservices.yaml new file mode 100644 index 00000000000..59fa4839477 --- /dev/null +++ b/stable/traefik/6.1.3/crds/traefikservices.yaml @@ -0,0 +1,12 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: traefikservices.traefik.containo.us +spec: + group: traefik.containo.us + version: v1alpha1 + names: + kind: TraefikService + plural: traefikservices + singular: traefikservice + scope: Namespaced diff --git a/stable/traefik/6.1.3/ix_values.yaml b/stable/traefik/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..7bae09f16bc --- /dev/null +++ b/stable/traefik/6.1.3/ix_values.yaml @@ -0,0 +1,316 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] diff --git a/stable/traefik/6.1.3/questions.yaml b/stable/traefik/6.1.3/questions.yaml new file mode 100644 index 00000000000..eac432f7a96 --- /dev/null +++ b/stable/traefik/6.1.3/questions.yaml @@ -0,0 +1,385 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: ports + label: "(Advanced) Traefik Entrypoints" + group: "Networking and Services" + schema: + type: dict + attrs: + - variable: traefik + label: "traefik internal" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9000 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port on the outside" + schema: + type: int + show_if: [["expose", "=", true]] + default: 9000 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + default: "TCP" + - variable: web + label: "web" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9080 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9080 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + - variable: redirectEnable + label: "Enable Redirect" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: redirectTo + label: "Target Entrypoint" + description: "Select the Target Entrypoint to redirect to" + schema: + type: string + required: true + default: "websecure" + - variable: websecure + label: "websecure" + schema: + type: dict + attrs: + - variable: port + label: "Internal Port" + description: "(advanced) Port inside the container network" + schema: + type: int + required: true + hidden: true + default: 9443 + - variable: expose + label: "Expose to Outside" + description: "Port to the outside of all(!) nodes" + schema: + type: boolean + default: true + - variable: exposedPort + label: "Outside Port" + description: "Port to the outside of all(!) nodes" + schema: + type: int + show_if: [["expose", "=", true]] + required: true + default: 9443 + - variable: protocol + label: "Protocol" + description: "TCP or UDP reverse proxying?" + schema: + type: string + required: true + default: "TCP" + hidden: true + + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 65532 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 65532 + + + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 65532 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/traefik/6.1.3/templates/_helpers.tpl b/stable/traefik/6.1.3/templates/_helpers.tpl new file mode 100644 index 00000000000..f7b055fa82e --- /dev/null +++ b/stable/traefik/6.1.3/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +Expand the name of the chart. +*/}} +{{- define "traefik.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "traefik.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "traefik.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +The name of the service account to use +*/}} +{{- define "traefik.serviceAccountName" -}} +{{- default (include "traefik.fullname" .) .Values.serviceAccount.name -}} +{{- end -}} + +{{/* +Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice. +By convention this will simply use the / to match the name of the +service generated. +Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride` +*/}} +{{- define "providers.kubernetesIngress.publishedServicePath" -}} +{{- $defServiceName := printf "%s/%s" .Release.Namespace (include "traefik.fullname" .) -}} +{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }} +{{- print $servicePath | trimSuffix "-" -}} +{{- end -}} + +{{/* +Construct a comma-separated list of whitelisted namespaces +*/}} +{{- define "providers.kubernetesIngress.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }} +{{- end -}} +{{- define "providers.kubernetesCRD.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/_podtemplate.tpl b/stable/traefik/6.1.3/templates/_podtemplate.tpl new file mode 100644 index 00000000000..9e8fe8aca34 --- /dev/null +++ b/stable/traefik/6.1.3/templates/_podtemplate.tpl @@ -0,0 +1,265 @@ +{{- define "traefik.podTemplate" }} + metadata: + annotations: + {{- with .Values.deployment.podAnnotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.deployment.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "traefik.serviceAccountName" . }} + terminationGracePeriodSeconds: 60 + hostNetwork: {{ .Values.hostNetwork }} + {{- with .Values.deployment.dnsPolicy }} + dnsPolicy: {{ . }} + {{- end }} + {{- with .Values.deployment.initContainers }} + initContainers: + {{- toYaml . | nindent 6 }} + {{- end }} + containers: + - image: "{{ .Values.image.name }}:{{ default .Chart.AppVersion .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + name: {{ template "traefik.fullname" . }} + resources: + {{- with .Values.resources }} + {{- toYaml . | nindent 10 }} + {{- end }} + readinessProbe: + httpGet: + path: /ping + port: {{ default .Values.ports.traefik.port .Values.ports.traefik.healthchecksPort }} + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + httpGet: + path: /ping + port: {{ default .Values.ports.traefik.port .Values.ports.traefik.healthchecksPort }} + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + ports: + {{- range $name, $config := .Values.ports }} + {{- if $config }} + - name: {{ $name | quote }} + containerPort: {{ $config.port }} + {{- if $config.hostPort }} + hostPort: {{ $config.hostPort }} + {{- end }} + {{- if $config.hostIP }} + hostIP: {{ $config.hostIP }} + {{- end }} + protocol: {{ default "TCP" $config.protocol | quote }} + {{- end }} + {{- end }} + {{- with .Values.securityContext }} + securityContext: + {{- toYaml . | nindent 10 }} + {{- end }} + volumeMounts: + - name: {{ .Values.persistence.name }} + mountPath: {{ .Values.persistence.path }} + {{- if .Values.persistence.subPath }} + subPath: {{ .Values.persistence.subPath }} + {{- end }} + - name: tmp + mountPath: /tmp + {{- $root := . }} + {{- range .Values.volumes }} + - name: {{ tpl (.name) $root }} + mountPath: {{ .mountPath }} + readOnly: true + {{- end }} + {{- if .Values.experimental.plugins.enabled }} + - name: plugins + mountPath: "/plugins-storage" + {{- end }} + {{- if .Values.additionalVolumeMounts }} + {{- toYaml .Values.additionalVolumeMounts | nindent 10 }} + {{- end }} + args: + {{- with .Values.globalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- range $name, $config := .Values.ports }} + {{- if $config }} + - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}" + {{- end }} + {{- end }} + - "--api.dashboard=true" + - "--ping=true" + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress" + {{- if and .Values.service.enabled .Values.providers.kubernetesIngress.publishedService.enabled }} + - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.labelSelector }} + - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}" + {{- end }} + {{- end }} + {{- if .Values.experimental.kubernetesGateway.enabled }} + - "--providers.kubernetesgateway" + - "--experimental.kubernetesgateway" + {{- end }} + {{- if and .Values.rbac.enabled .Values.rbac.namespaced }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}" + {{- end }} + {{- end }} + {{- range $entrypoint, $config := $.Values.ports }} + {{- if $config.redirectTo }} + {{- $toPort := index $.Values.ports $config.redirectTo }} + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.exposedPort }}" + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" + {{- end }} + {{- if $config.tls }} + {{- if $config.tls.enabled }} + - "--entrypoints.{{ $entrypoint }}.http.tls=true" + {{- if $config.tls.options }} + - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}" + {{- end }} + {{- if $config.tls.certResolver }} + - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}" + {{- end }} + {{- if $config.tls.domains }} + {{- range $index, $domain := $config.tls.domains }} + {{- if $domain.main }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}" + {{- end }} + {{- if $domain.sans }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}" + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- with .Values.logs }} + {{- if .general.format }} + - "--log.format={{ .general.format }}" + {{- end }} + {{- if ne .general.level "ERROR" }} + - "--log.level={{ .general.level | upper }}" + {{- end }} + {{- if .access.enabled }} + - "--accesslog=true" + {{- if .access.format }} + - "--accesslog.format={{ .access.format }}" + {{- end }} + {{- if .access.bufferingsize }} + - "--accesslog.bufferingsize={{ .access.bufferingsize }}" + {{- end }} + {{- if .access.filters }} + {{- if .access.filters.statuscodes }} + - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}" + {{- end }} + {{- if .access.filters.retryattempts }} + - "--accesslog.filters.retryattempts" + {{- end }} + {{- if .access.filters.minduration }} + - "--accesslog.filters.minduration={{ .access.filters.minduration }}" + {{- end }} + {{- end }} + - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.general.names }} + - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.headers.names }} + - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + {{- end }} + {{- end }} + {{- if .Values.pilot.enabled }} + - "--pilot.token={{ .Values.pilot.token }}" + {{- end }} + {{- if hasKey .Values.pilot "dashboard" }} + - "--pilot.dashboard={{ .Values.pilot.dashboard }}" + {{- end }} + {{- with .Values.additionalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- with .Values.env }} + env: + {{- toYaml . | nindent 10 }} + {{- end }} + {{- with .Values.envFrom }} + envFrom: + {{- toYaml . | nindent 10 }} + {{- end }} + {{- if .Values.deployment.additionalContainers }} + {{- toYaml .Values.deployment.additionalContainers | nindent 6 }} + {{- end }} + volumes: + - name: {{ .Values.persistence.name }} + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ default (include "traefik.fullname" .) .Values.persistence.existingClaim }} + {{- else }} + emptyDir: {} + {{- end }} + - name: tmp + emptyDir: {} + {{- $root := . }} + {{- range .Values.volumes }} + - name: {{ tpl (.name) $root }} + {{- if eq .type "secret" }} + secret: + secretName: {{ tpl (.name) $root }} + {{- else if eq .type "configMap" }} + configMap: + name: {{ tpl (.name) $root }} + {{- end }} + {{- end }} + {{- if .Values.deployment.additionalVolumes }} + {{- toYaml .Values.deployment.additionalVolumes | nindent 8 }} + {{- end }} + {{- if .Values.experimental.plugins.enabled }} + - name: plugins + emptyDir: {} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + {{- with .Values.podSecurityContext }} + securityContext: + {{- toYaml . | nindent 8 }} + {{- end }} +{{ end -}} diff --git a/stable/traefik/6.1.3/templates/custom/common.yaml b/stable/traefik/6.1.3/templates/custom/common.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/6.1.3/templates/custom/portal.yaml b/stable/traefik/6.1.3/templates/custom/portal.yaml new file mode 100644 index 00000000000..44b48e77d49 --- /dev/null +++ b/stable/traefik/6.1.3/templates/custom/portal.yaml @@ -0,0 +1,44 @@ +{{- if .Values.portal }} +{{- if .Values.portal.enabled }} +{{- $ingr := dict -}} +{{- $host := "$node_ip" }} +{{- $port := 443 }} +{{- $protocol := "https" }} +{{- $portProtocol := "" }} +{{- $path := "/" }} + +{{- if $ingr }} + {{- if $ingr.enabled }} + {{- range $ingr.hosts }} + {{- if .hostTpl }} + {{ $host = ( tpl .hostTpl $ ) }} + {{- else if .host }} + {{ $host = .host }} + {{- else }} + {{ $host = "$node_ip" }} + {{- end }} + {{- if .paths }} + {{- $path = (first .paths).path }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} + +{{- if eq $host "$node_ip" }} + {{- $port = .Values.ports.traefik.exposedPort }} +{{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + protocol: {{ $protocol }} + host: {{ $host | quote }} + port: {{ $port | quote }} + path: {{ $path | quote }} + url: {{ ( printf "%v://%v:%v%v" $protocol $host $port $path ) | quote }} +{{- end }} +{{- end }} diff --git a/stable/traefik/6.1.3/templates/daemonset.yaml b/stable/traefik/6.1.3/templates/daemonset.yaml new file mode 100644 index 00000000000..469e105c358 --- /dev/null +++ b/stable/traefik/6.1.3/templates/daemonset.yaml @@ -0,0 +1,40 @@ +{{- if and .Values.deployment.enabled (eq .Values.deployment.kind "DaemonSet") -}} + {{- with .Values.additionalArguments -}} + {{- range . -}} + {{- if contains ".acme." . -}} + {{- fail (printf "ACME functionality is not supported when running Traefik as a DaemonSet") -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if eq (default .Chart.AppVersion .Values.image.tag) "latest" }} + {{- fail "\n\n ERROR: latest tag should not be used" }} + {{- end }} + +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + annotations: + {{- with .Values.deployment.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: {{ .Values.rollingUpdate.maxUnavailable }} + template: {{ template "traefik.podTemplate" . }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/dashboard-hook-ingressroute.yaml b/stable/traefik/6.1.3/templates/dashboard-hook-ingressroute.yaml new file mode 100644 index 00000000000..ec278c26910 --- /dev/null +++ b/stable/traefik/6.1.3/templates/dashboard-hook-ingressroute.yaml @@ -0,0 +1,28 @@ +{{- if .Values.ingressRoute.dashboard.enabled -}} +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: {{ template "traefik.fullname" . }}-dashboard + annotations: + helm.sh/hook: "post-install,post-upgrade" + {{- with .Values.ingressRoute.dashboard.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.ingressRoute.dashboard.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + entryPoints: + - traefik + routes: + - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`) + kind: Rule + services: + - name: api@internal + kind: TraefikService +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/deployment.yaml b/stable/traefik/6.1.3/templates/deployment.yaml new file mode 100644 index 00000000000..494087cfd0a --- /dev/null +++ b/stable/traefik/6.1.3/templates/deployment.yaml @@ -0,0 +1,47 @@ +{{- if and .Values.deployment.enabled (eq .Values.deployment.kind "Deployment") -}} + {{- if gt (int .Values.deployment.replicas) 1 -}} + {{- with .Values.additionalArguments -}} + {{- range . -}} + {{- if contains ".acme." . -}} + {{- fail (printf "You can not enable acme if you set more than one traefik replica") -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- end -}} + {{- if eq (default .Chart.AppVersion .Values.image.tag) "latest" }} + {{- fail "\n\n ERROR: latest tag should not be used" }} + {{- end }} + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.deployment.labels }} + {{- toYaml . | nindent 4 }} + {{- end }} + annotations: + {{- with .Values.deployment.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ default 1 .Values.deployment.replicas }} + {{- end }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + strategy: + type: RollingUpdate + rollingUpdate: + {{- with .Values.rollingUpdate }} + {{- toYaml . | nindent 6 }} + {{- end }} + template: {{ template "traefik.podTemplate" . }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/gateway.yaml b/stable/traefik/6.1.3/templates/gateway.yaml new file mode 100644 index 00000000000..85194211fe5 --- /dev/null +++ b/stable/traefik/6.1.3/templates/gateway.yaml @@ -0,0 +1,33 @@ +{{- if .Values.experimental.kubernetesGateway.enabled }} +--- +apiVersion: networking.x-k8s.io/v1alpha1 +kind: Gateway +metadata: + name: traefik-gateway + namespace: default +spec: + gatewayClassName: traefik + listeners: + - port: {{ .Values.ports.web.port }} + protocol: HTTP + routes: + kind: HTTPRoute + selector: + matchLabels: + app: {{ .Values.experimental.kubernetesGateway.appLabelSelector }} + + {{- range $index, $cert:= .Values.experimental.kubernetesGateway.certificates }} + - port: {{ $.Values.ports.websecure.port }} + protocol: HTTPS + tls: + certificateRef: + name: {{ $cert.name }} + group: {{ $cert.group }} + kind: {{ $cert.kind }} + routes: + kind: HTTPRoute + selector: + matchLabels: + app: {{ $.Values.experimental.kubernetesGateway.appLabelSelector }} + {{- end }} +{{- end }} diff --git a/stable/traefik/6.1.3/templates/gatewayclass.yaml b/stable/traefik/6.1.3/templates/gatewayclass.yaml new file mode 100644 index 00000000000..61bf007db1e --- /dev/null +++ b/stable/traefik/6.1.3/templates/gatewayclass.yaml @@ -0,0 +1,9 @@ +{{- if .Values.experimental.kubernetesGateway.enabled }} +--- +kind: GatewayClass +apiVersion: networking.x-k8s.io/v1alpha1 +metadata: + name: traefik +spec: + controller: traefik.io/gateway-controller +{{- end }} diff --git a/stable/traefik/6.1.3/templates/hpa.yaml b/stable/traefik/6.1.3/templates/hpa.yaml new file mode 100644 index 00000000000..bf37117de6a --- /dev/null +++ b/stable/traefik/6.1.3/templates/hpa.yaml @@ -0,0 +1,20 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "traefik.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: +{{ toYaml .Values.autoscaling.metrics | indent 4 }} +{{- end }} diff --git a/stable/traefik/6.1.3/templates/ingressclass.yaml b/stable/traefik/6.1.3/templates/ingressclass.yaml new file mode 100644 index 00000000000..7c62458c82e --- /dev/null +++ b/stable/traefik/6.1.3/templates/ingressclass.yaml @@ -0,0 +1,23 @@ +{{- if and .Values.ingressClass.enabled (semverCompare ">=2.3.0" (default .Chart.AppVersion .Values.image.tag)) -}} + {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} +apiVersion: networking.k8s.io/v1 + {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} +apiVersion: networking.k8s.io/v1beta1 + {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} +apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} + {{- else }} + {{- fail "\n\n ERROR: You must have atleast networking.k8s.io/v1beta1 to use ingressClass" }} + {{- end }} +kind: IngressClass +metadata: + annotations: + ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: {{ template "traefik.fullname" . }} +spec: + controller: traefik.io/ingress-controller +{{- end }} diff --git a/stable/traefik/6.1.3/templates/poddisruptionbudget.yaml b/stable/traefik/6.1.3/templates/poddisruptionbudget.yaml new file mode 100644 index 00000000000..9893e521759 --- /dev/null +++ b/stable/traefik/6.1.3/templates/poddisruptionbudget.yaml @@ -0,0 +1,22 @@ +{{- if .Values.podDisruptionBudget.enabled -}} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- if .Values.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.podDisruptionBudget.minAvailable | int }} + {{- end }} + {{- if .Values.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable | int }} + {{- end }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/clusterrole.yaml b/stable/traefik/6.1.3/templates/rbac/clusterrole.yaml new file mode 100644 index 00000000000..2c63e006414 --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/clusterrole.yaml @@ -0,0 +1,112 @@ +{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + - ingressclasses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch +{{- if .Values.podSecurityPolicy.enabled }} + - apiGroups: + - policy + resourceNames: + - {{ template "traefik.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +{{- end -}} +{{- if .Values.experimental.kubernetesGateway.enabled }} + - apiGroups: + - networking.x-k8s.io + resources: + - gatewayclasses + - gatewayclasses/status + - gateways + verbs: + - get + - list + - watch + - apiGroups: + - networking.x-k8s.io + resources: + - gatewayclasses/status + verbs: + - get + - patch + - update + - apiGroups: + - networking.x-k8s.io + resources: + - gateways/status + verbs: + - get + - patch + - update + - apiGroups: + - networking.x-k8s.io + resources: + - httproutes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.x-k8s.io + resources: + - httproutes/status + verbs: + - get + - patch + - update +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/clusterrolebinding.yaml b/stable/traefik/6.1.3/templates/rbac/clusterrolebinding.yaml new file mode 100644 index 00000000000..509e92ff2b7 --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/clusterrolebinding.yaml @@ -0,0 +1,19 @@ +{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) }} +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "traefik.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "traefik.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/podsecuritypolicy.yaml b/stable/traefik/6.1.3/templates/rbac/podsecuritypolicy.yaml new file mode 100644 index 00000000000..66bc1458d55 --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/podsecuritypolicy.yaml @@ -0,0 +1,68 @@ +{{- if .Values.podSecurityPolicy.enabled }} +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + annotations: + seccomp.security.alpha.kubernetes.io/allowedProfileNames: runtime/default + seccomp.security.alpha.kubernetes.io/defaultProfileName: runtime/default + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +spec: + privileged: false + allowPrivilegeEscalation: false + requiredDropCapabilities: + - ALL +{{- if not .Values.securityContext.runAsNonRoot }} + allowedCapabilities: + - NET_BIND_SERVICE +{{- end }} + hostNetwork: {{ .Values.hostNetwork }} + hostIPC: false + hostPID: false + fsGroup: +{{- if .Values.securityContext.runAsNonRoot }} + ranges: + - max: 65535 + min: 1 + rule: MustRunAs +{{- else }} + rule: RunAsAny +{{- end }} +{{- if .Values.hostNetwork }} + hostPorts: + - max: 65535 + min: 1 +{{- end }} + readOnlyRootFilesystem: true + runAsUser: +{{- if .Values.securityContext.runAsNonRoot }} + rule: MustRunAsNonRoot +{{- else }} + rule: RunAsAny +{{- end }} + seLinux: + rule: RunAsAny + supplementalGroups: +{{- if .Values.securityContext.runAsNonRoot }} + ranges: + - max: 65535 + min: 1 + rule: MustRunAs +{{- else }} + rule: RunAsAny +{{- end }} + volumes: + - configMap + - downwardAPI + - secret + - emptyDir + - projected +{{- if .Values.persistence.enabled }} + - persistentVolumeClaim +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/role.yaml b/stable/traefik/6.1.3/templates/rbac/role.yaml new file mode 100644 index 00000000000..6c763065d6f --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/role.yaml @@ -0,0 +1,61 @@ +{{- if and .Values.rbac.enabled .Values.rbac.namespaced }} +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch +{{- if .Values.podSecurityPolicy.enabled }} + - apiGroups: + - extensions + resourceNames: + - {{ template "traefik.fullname" . }} + resources: + - podsecuritypolicies + verbs: + - use +{{- end -}} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/rolebinding.yaml b/stable/traefik/6.1.3/templates/rbac/rolebinding.yaml new file mode 100644 index 00000000000..10416401867 --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/rolebinding.yaml @@ -0,0 +1,19 @@ +{{- if and .Values.rbac.enabled .Values.rbac.namespaced }} +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ template "traefik.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "traefik.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/rbac/serviceaccount.yaml b/stable/traefik/6.1.3/templates/rbac/serviceaccount.yaml new file mode 100644 index 00000000000..bcc941eec95 --- /dev/null +++ b/stable/traefik/6.1.3/templates/rbac/serviceaccount.yaml @@ -0,0 +1,15 @@ +{{- if not .Values.serviceAccount.name -}} +kind: ServiceAccount +apiVersion: v1 +metadata: + name: {{ include "traefik.serviceAccountName" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + {{- with .Values.serviceAccountAnnotations }} + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/service.yaml b/stable/traefik/6.1.3/templates/service.yaml new file mode 100644 index 00000000000..aa9f418ae06 --- /dev/null +++ b/stable/traefik/6.1.3/templates/service.yaml @@ -0,0 +1,112 @@ +{{- if .Values.service.enabled -}} + +{{ $tcpPorts := dict }} +{{ $udpPorts := dict }} +{{- range $name, $config := .Values.ports }} + {{- if eq (toString $config.protocol) "UDP" }} + {{ $_ := set $udpPorts $name $config }} + {{- else }} + {{ $_ := set $tcpPorts $name $config }} + {{- end }} +{{- end }} + +apiVersion: v1 +kind: List +items: +{{- if $tcpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + {{- with .Values.service.labels }} + {{- toYaml . | nindent 8 }} + {{- end }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $tcpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "TCP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} + +{{- if $udpPorts }} + - apiVersion: v1 + kind: Service + metadata: + name: {{ template "traefik.fullname" . }}-udp + labels: + app.kubernetes.io/name: {{ template "traefik.name" . }} + helm.sh/chart: {{ template "traefik.chart" . }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + annotations: + {{- with .Values.service.annotations }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- $type := default "LoadBalancer" .Values.service.type }} + type: {{ $type }} + {{- with .Values.service.spec }} + {{- toYaml . | nindent 6 }} + {{- end }} + selector: + app.kubernetes.io/name: {{ template "traefik.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + ports: + {{- range $name, $config := $udpPorts }} + {{- if $config.expose }} + - port: {{ default $config.port $config.exposedPort }} + name: {{ $name }} + targetPort: {{ $name | quote }} + protocol: {{ default "UDP" $config.protocol | quote }} + {{- if $config.nodePort }} + nodePort: {{ $config.nodePort }} + {{- end }} + {{- end }} + {{- end }} + {{- if eq $type "LoadBalancer" }} + {{- with .Values.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{- toYaml . | nindent 6 }} + {{- end -}} + {{- end -}} + {{- with .Values.service.externalIPs }} + externalIPs: + {{- toYaml . | nindent 6 }} + {{- end -}} +{{- end }} +{{- end -}} diff --git a/stable/traefik/6.1.3/templates/tlsoption.yaml b/stable/traefik/6.1.3/templates/tlsoption.yaml new file mode 100644 index 00000000000..ec46e8bbc94 --- /dev/null +++ b/stable/traefik/6.1.3/templates/tlsoption.yaml @@ -0,0 +1,14 @@ +{{- range $name, $config := .Values.tlsOptions }} +apiVersion: traefik.containo.us/v1alpha1 +kind: TLSOption +metadata: + name: {{ $name }} + labels: + app.kubernetes.io/name: {{ template "traefik.name" $ }} + helm.sh/chart: {{ template "traefik.chart" $ }} + app.kubernetes.io/managed-by: {{ $.Release.Service }} + app.kubernetes.io/instance: {{ $.Release.Name }} +spec: + {{- toYaml $config | nindent 2 }} +--- +{{- end -}} diff --git a/stable/traefik/6.1.3/test_values.yaml b/stable/traefik/6.1.3/test_values.yaml new file mode 100644 index 00000000000..8d0ba5213e5 --- /dev/null +++ b/stable/traefik/6.1.3/test_values.yaml @@ -0,0 +1,406 @@ +# Default values for Traefik +image: + name: traefik + # defaults to appVersion + tag: v2.4 + pullPolicy: IfNotPresent + +# +# Configure the deployment +# +deployment: + enabled: true + # Can be either Deployment or DaemonSet + kind: Deployment + # Number of pods of the deployment (only applies when kind == Deployment) + replicas: 1 + # Additional deployment annotations (e.g. for jaeger-operator sidecar injection) + annotations: {} + # Additional deployment labels (e.g. for filtering deployment by custom labels) + labels: {} + # Additional pod annotations (e.g. for mesh injection or prometheus scraping) + podAnnotations: {} + # Additional Pod labels (e.g. for filtering Pod by custom labels) + podLabels: {} + # Additional containers (e.g. for metric offloading sidecars) + additionalContainers: [] + # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host + # - name: socat-proxy + # image: alpine/socat:1.0.5 + # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"] + # volumeMounts: + # - name: dsdsocket + # mountPath: /socket + # Additional volumes available for use with initContainers and additionalContainers + additionalVolumes: [] + # - name: dsdsocket + # hostPath: + # path: /var/run/statsd-exporter + # Additional initContainers (e.g. for setting file permission as shown below) + initContainers: [] + # The "volume-permissions" init container is required if you run into permission issues. + # Related issue: https://github.com/traefik/traefik/issues/6972 + # - name: volume-permissions + # image: busybox:1.31.1 + # command: ["sh", "-c", "chmod -Rv 600 /data/*"] + # volumeMounts: + # - name: data + # mountPath: /data + # Custom pod DNS policy. Apply if `hostNetwork: true` + # dnsPolicy: ClusterFirstWithHostNet + # Additional imagePullSecrets + imagePullSecrets: [] + # - name: myRegistryKeySecretName + +# Pod disruption budget +podDisruptionBudget: + enabled: false + # maxUnavailable: 1 + # minAvailable: 0 + +# Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: + +# Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# Enable experimental features +experimental: + plugins: + enabled: false + kubernetesGateway: + enabled: false + appLabelSelector: "traefik" + certificates: [] + # - group: "core" + # kind: "Secret" + # name: "mysecret" + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: false + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + +# +# Add volumes to the traefik pod. The volume name will be passed to tpl. +# This can be used to mount a cert pair or a configmap that holds a config.toml file. +# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--providers.file.filename=/config/dynamic.toml" +# - "--ping" +# - "--ping.entrypoint=web" +volumes: [] +# - name: public-cert +# mountPath: "/certs" +# type: secret +# - name: '{{ printf "%s-configs" .Release.Name }}' +# mountPath: "/config" +# type: configMap + +# Additional volumeMounts to add to the Traefik container +additionalVolumeMounts: [] + # For instance when using a logshipper for access logs + # - name: traefik-logs + # mountPath: /var/log/traefik + +# Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: INFO + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + +# Environment variables to be passed to Traefik's binary +env: [] +# - name: SOME_VAR +# value: some-var-value +# - name: SOME_VAR_FROM_CONFIG_MAP +# valueFrom: +# configMapRef: +# name: configmap-name +# key: config-key +# - name: SOME_SECRET +# valueFrom: +# secretKeyRef: +# name: secret-name +# key: secret-key + +envFrom: [] +# - configMapRef: +# name: config-map-name +# - secretRef: +# name: secret-name + +# Configure ports +ports: + # The name of this one can't be changed as it is used for the readiness and + # liveness probes, but you can adjust its config to your liking + traefik: + port: 9000 + # Use hostPort if set. + # hostPort: 9000 + # + # Use hostIP if set. If not set, Kubernetes will default to 0.0.0.0, which + # means it's listening on all your interfaces and all your IPs. You may want + # to set this value if you need traefik to listen on specific interface + # only. + # hostIP: 192.168.100.10 + + # Defines whether the port is exposed if service.type is LoadBalancer or + # NodePort. + # + # You SHOULD NOT expose the traefik port on production deployments. + # If you want to access it from outside of your cluster, + # use `kubectl port-forward` or create a secure ingress + expose: false + # The exposed port for this service + exposedPort: 9000 + # The port protocol (TCP/UDP) + protocol: TCP + web: + port: 9080 + # hostPort: 8000 + expose: true + exposedPort: 80 + # The port protocol (TCP/UDP) + protocol: TCP + # Use nodeport if set. This is useful if you have configured Traefik in a + # LoadBalancer + # nodePort: 32080 + # Port Redirections + # Added in 2.2, you can make permanent redirects via entrypoints. + # https://docs.traefik.io/routing/entrypoints/#redirection + redirectTo: websecure + websecure: + port: 9443 + # hostPort: 8443 + expose: true + exposedPort: 443 + # The port protocol (TCP/UDP) + protocol: TCP + # nodePort: 32443 + # Set TLS at the entrypoint + # https://doc.traefik.io/traefik/routing/entrypoints/#tls + tls: + enabled: true + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# Options for the main traefik service, where the entrypoints traffic comes +# from. +service: + enabled: true + type: LoadBalancer + # Additional annotations (e.g. for cloud provider specific config) + annotations: {} + # Additional service labels (e.g. for filtering Service by custom labels) + labels: {} + # Additional entries here will be added to the service spec. Cannot contains + # type, selector or ports entries. + spec: {} + # externalTrafficPolicy: Cluster + # loadBalancerIP: "1.2.3.4" + # clusterIP: "2.3.4.5" + loadBalancerSourceRanges: [] + # - 192.168.0.1/32 + # - 172.16.0.0/16 + externalIPs: [] + # - 1.2.3.4 + +## Create HorizontalPodAutoscaler object. +## +autoscaling: + enabled: false +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# targetAverageUtilization: 60 +# - type: Resource +# resource: +# name: memory +# targetAverageUtilization: 60 + +# Enable persistence using Persistent Volume Claims +# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +# After the pvc has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg: +# additionalArguments: +# - "--certificatesresolvers.le.acme.storage=/data/acme.json" +# It will persist TLS certificates. +persistence: + enabled: false + name: data + accessMode: ReadWriteOnce + size: 128Mi + path: /data + +# If hostNetwork is true, runs traefik in the host network namespace +# To prevent unschedulabel pods due to port collisions, if hostNetwork=true +# and replicas>1, a pod anti-affinity is recommended and will be set if the +# affinity is left as default. +hostNetwork: false + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + + # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces. + # If set to true, installs namespace-specific Role and RoleBinding and requires provider configuration be set to that same namespace + namespaced: false + +# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding +podSecurityPolicy: + enabled: false + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Additional serviceAccount annotations (e.g. for oidc authentication) +serviceAccountAnnotations: {} + +resources: {} + # requests: + # cpu: "100m" + # memory: "50Mi" + # limits: + # cpu: "300m" + # memory: "150Mi" +affinity: {} +# # This example pod anti-affinity forces the scheduler to put traefik pods +# # on nodes where no other traefik pods are scheduled. +# # It should be used when hostNetwork: true to prevent port conflicts +# podAntiAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# - labelSelector: +# matchExpressions: +# - key: app +# operator: In +# values: +# - {{ template "traefik.name" . }} +# topologyKey: failure-domain.beta.kubernetes.io/zone +nodeSelector: {} +tolerations: [] + +# Pods can have priority. +# Priority indicates the importance of a Pod relative to other Pods. +priorityClassName: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + +podSecurityContext: + fsGroup: 65532 diff --git a/stable/traefik/6.1.3/values.yaml b/stable/traefik/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/transmission/6.1.3/CONFIG.md b/stable/transmission/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/transmission/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/transmission/6.1.3/Chart.lock b/stable/transmission/6.1.3/Chart.lock new file mode 100644 index 00000000000..5cfc8d671a4 --- /dev/null +++ b/stable/transmission/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:16.312934075Z" diff --git a/stable/transmission/6.1.3/Chart.yaml b/stable/transmission/6.1.3/Chart.yaml new file mode 100644 index 00000000000..624e26ca982 --- /dev/null +++ b/stable/transmission/6.1.3/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/charts/stable/transmission +icon: https://github.com/Jackett/Jackett/blob/phantom-develop/Logo/512.png?raw=true +keywords: +- transmission +- torrent +- usenet +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: transmission +sources: +- https://github.com/transmission/transmission +- https://hub.docker.com/r/linuxserver/transmission +type: application +version: 6.1.3 diff --git a/stable/transmission/6.1.3/README.md b/stable/transmission/6.1.3/README.md new file mode 100644 index 00000000000..ccfa3f4990f --- /dev/null +++ b/stable/transmission/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `transmission` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `transmission` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/transmission/6.1.3/app-readme.md b/stable/transmission/6.1.3/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/transmission/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/transmission/6.1.3/charts/common-6.3.4.tgz b/stable/transmission/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/transmission/6.1.3/ix_values.yaml b/stable/transmission/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..aeea220e56b --- /dev/null +++ b/stable/transmission/6.1.3/ix_values.yaml @@ -0,0 +1,50 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/transmission + pullPolicy: IfNotPresent + tag: v3.00 + +transmissionFixedConfig: + bind-address-ipv4: "0.0.0.0" + bind-address-ipv6: ::" + cache-size-mb: 4 + lpd-enabled: false + dht-enabled: true + peer-congestion-algorithm: "" + message-level: 2 + peer-id-ttl-hours: 4 + peer-port: 51413 + peer-port-random-high: 65535 + peer-port-random-low: 49152 + peer-port-random-on-start: false + peer-socket-tos: "default" + pex-enabled: true + port-forwarding-enabled: false + preallocation: 0 + prefetch-enabled: true + rename-partial-files: true + rpc-authentication-required: false + rpc-bind-address: "0.0.0.0" + rpc-enabled: true + rpc-host-whitelist: "" + rpc-host-whitelist-enabled: false + rpc-password: "CHANGEME" + rpc-port: 9091 + rpc-url: "/transmission/" + rpc-username: "" + rpc-whitelist: "" + rpc-whitelist-enabled: false + umask: 2 + utp-enabled: true + watch-dir: "/watch" + watch-dir-enabled: true + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/transmission/6.1.3/questions.yaml b/stable/transmission/6.1.3/questions.yaml new file mode 100644 index 00000000000..74613b9814e --- /dev/null +++ b/stable/transmission/6.1.3/questions.yaml @@ -0,0 +1,1134 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: TRANSMISSION_ALT_SPEED_DOWN + label: TRANSMISSION_ALT_SPEED_DOWN + schema: + type: int + default: 50 + - variable: TRANSMISSION_ALT_SPEED_ENABLED + label: TRANSMISSION_ALT_SPEED_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_BEGIN + label: TRANSMISSION_ALT_SPEED_TIME_BEGIN + schema: + type: int + default: 540 + - variable: TRANSMISSION_ALT_SPEED_TIME_DAY + label: TRANSMISSION_ALT_SPEED_TIME_DAY + schema: + type: int + default: 127 + - variable: TRANSMISSION_ALT_SPEED_TIME_ENABLED + label: TRANSMISSION_ALT_SPEED_TIME_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_ALT_SPEED_TIME_END + label: TRANSMISSION_ALT_SPEED_TIME_END + schema: + type: int + default: 1020 + - variable: TRANSMISSION_ALT_SPEED_UP + label: TRANSMISSION_ALT_SPEED_UP + schema: + type: int + default: 50 + - variable: TRANSMISSION_BIND_ADDRESS_IPV4 + label: TRANSMISSION_BIND_ADDRESS_IPV4 + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_BIND_ADDRESS_IPV6 + label: TRANSMISSION_BIND_ADDRESS_IPV6 + schema: + type: string + default: "::" + - variable: TRANSMISSION_BLOCKLIST_ENABLED + label: TRANSMISSION_BLOCKLIST_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_BLOCKLIST_URL + label: TRANSMISSION_BLOCKLIST_URL + schema: + type: string + default: "http://john.bitsurge.net/public/biglist.p2p.gz" + - variable: TRANSMISSION_CACHE_SIZE_MB + label: TRANSMISSION_CACHE_SIZE_MB + schema: + type: int + default: 4 + - variable: TRANSMISSION_DHT_ENABLED + label: TRANSMISSION_DHT_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_DIR + label: TRANSMISSION_DOWNLOAD_DIR + schema: + type: string + default: "/downloads/complete" + - variable: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + label: TRANSMISSION_DOWNLOAD_QUEUE_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + label: TRANSMISSION_DOWNLOAD_QUEUE_SIZE + schema: + type: int + default: 5 + - variable: TRANSMISSION_ENCRYPTION + label: TRANSMISSION_ENCRYPTION + schema: + type: int + default: 1 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT + label: TRANSMISSION_IDLE_SEEDING_LIMIT + schema: + type: int + default: 30 + - variable: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + label: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_INCOMPLETE_DIR + label: TRANSMISSION_INCOMPLETE_DIR + schema: + type: string + default: "/downloads/incomplete" + - variable: TRANSMISSION_INCOMPLETE_DIR_ENABLED + label: TRANSMISSION_INCOMPLETE_DIR_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_LPD_ENABLED + label: TRANSMISSION_LPD_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_MESSAGE_LEVEL + label: TRANSMISSION_MESSAGE_LEVEL + schema: + type: int + default: 2 + - variable: TRANSMISSION_PEER_CONGESTION_ALGORITHM + label: TRANSMISSION_PEER_CONGESTION_ALGORITHM + schema: + type: string + default: "" + - variable: TRANSMISSION_PEER_ID_TTL_HOURS + label: TRANSMISSION_PEER_ID_TTL_HOURS + schema: + type: int + default: 6 + - variable: TRANSMISSION_PEER_LIMIT_GLOBAL + label: TRANSMISSION_PEER_LIMIT_GLOBAL + schema: + type: int + default: 200 + - variable: TRANSMISSION_PEER_LIMIT_PER_TORRENT + label: TRANSMISSION_PEER_LIMIT_PER_TORRENT + schema: + type: int + default: 50 + - variable: TRANSMISSION_PEER_PORT + label: TRANSMISSION_PEER_PORT + schema: + type: int + default: 51413 + - variable: TRANSMISSION_PEER_PORT_RANDOM_HIGH + label: TRANSMISSION_PEER_PORT_RANDOM_HIGH + schema: + type: int + default: 65535 + - variable: TRANSMISSION_PEER_PORT_RANDOM_LOW + label: TRANSMISSION_PEER_PORT_RANDOM_LOW + schema: + type: int + default: 49152 + - variable: TRANSMISSION_PEER_PORT_RANDOM_ON_START + label: TRANSMISSION_PEER_PORT_RANDOM_ON_START + schema: + type: boolean + default: false + - variable: TRANSMISSION_PEER_SOCKET_TOS + label: TRANSMISSION_PEER_SOCKET_TOS + schema: + type: string + default: "default" + - variable: TRANSMISSION_PEX_ENABLED + label: TRANSMISSION_PEX_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_PORT_FORWARDING_ENABLED + label: TRANSMISSION_PORT_FORWARDING_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_PREALLOCATION + label: TRANSMISSION_PREALLOCATION + schema: + type: int + default: 1 + - variable: TRANSMISSION_PREFETCH_ENABLED + label: TRANSMISSION_PREFETCH_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_ENABLED + label: TRANSMISSION_QUEUE_STALLED_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_QUEUE_STALLED_MINUTES + label: TRANSMISSION_QUEUE_STALLED_MINUTES + schema: + type: int + default: 30 + - variable: TRANSMISSION_RATIO_LIMIT + label: TRANSMISSION_RATIO_LIMIT + schema: + type: int + default: 2 + - variable: TRANSMISSION_RATIO_LIMIT_ENABLED + label: TRANSMISSION_RATIO_LIMIT_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RENAME_PARTIAL_FILES + label: TRANSMISSION_RENAME_PARTIAL_FILES + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + label: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_BIND_ADDRESS + label: TRANSMISSION_RPC_BIND_ADDRESS + schema: + type: string + default: "0.0.0.0" + - variable: TRANSMISSION_RPC_ENABLED + label: TRANSMISSION_RPC_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_RPC_HOST_WHITELIST + label: TRANSMISSION_RPC_HOST_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + label: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_RPC_PASSWORD + label: TRANSMISSION_RPC_PASSWORD + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_PORT + label: TRANSMISSION_RPC_PORT + schema: + type: int + default: 9091 + - variable: TRANSMISSION_RPC_URL + label: TRANSMISSION_RPC_URL + schema: + type: string + default: "/" + - variable: TRANSMISSION_RPC_USERNAME + label: TRANSMISSION_RPC_USERNAME + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST + label: TRANSMISSION_RPC_WHITELIST + schema: + type: string + default: "" + - variable: TRANSMISSION_RPC_WHITELIST_ENABLED + label: TRANSMISSION_RPC_WHITELIST_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + label: TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + label: TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + label: TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME + schema: + type: string + default: "" + - variable: TRANSMISSION_SEED_QUEUE_ENABLED + label: TRANSMISSION_SEED_QUEUE_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SEED_QUEUE_SIZE + label: TRANSMISSION_SEED_QUEUE_SIZE + schema: + type: int + default: 10 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN + label: TRANSMISSION_SPEED_LIMIT_DOWN + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + label: TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_SPEED_LIMIT_UP + label: TRANSMISSION_SPEED_LIMIT_UP + schema: + type: int + default: 100 + - variable: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + label: TRANSMISSION_SPEED_LIMIT_UP_ENABLED + schema: + type: boolean + default: false + - variable: TRANSMISSION_START_ADDED_TORRENTS + label: TRANSMISSION_START_ADDED_TORRENTS + schema: + type: boolean + default: true + - variable: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + label: TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES + schema: + type: boolean + default: false + - variable: TRANSMISSION_UMASK + label: TRANSMISSION_UMASK + schema: + type: int + default: 2 + - variable: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + label: TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT + schema: + type: int + default: 14 + - variable: TRANSMISSION_UTP_ENABLED + label: TRANSMISSION_UTP_ENABLED + schema: + type: boolean + default: true + - variable: TRANSMISSION_WATCH_DIR + label: TRANSMISSION_WATCH_DIR + schema: + type: string + default: "/watch" + - variable: TRANSMISSION_WATCH_DIR_ENABLED + label: TRANSMISSION_WATCH_DIR_ENABLED + schema: + type: boolean + default: false + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9091 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36019 + required: true + - variable: torrent + label: "Torrent Service" + description: "Torrent service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: tcp + label: "TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36020 + required: true + - variable: udp + label: "UDP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51413 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36020 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/transmission/6.1.3/templates/common.yaml b/stable/transmission/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/stable/transmission/6.1.3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/transmission/6.1.3/test_values.yaml b/stable/transmission/6.1.3/test_values.yaml new file mode 100644 index 00000000000..c2388fbd06c --- /dev/null +++ b/stable/transmission/6.1.3/test_values.yaml @@ -0,0 +1,106 @@ +# Default values for Transmission. + +image: + repository: ghcr.io/k8s-at-home/transmission + pullPolicy: IfNotPresent + tag: v3.00 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 9091 + torrent: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51413 + protocol: TCP + udp: + enabled: true + port: 51413 + protocol: UDP + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # TRANSMISSION_ALT_SPEED_DOWN: 50 + # TRANSMISSION_ALT_SPEED_ENABLED: false + # TRANSMISSION_ALT_SPEED_TIME_BEGIN: 540 + # TRANSMISSION_ALT_SPEED_TIME_DAY: 127 + # TRANSMISSION_ALT_SPEED_TIME_ENABLED: false + # TRANSMISSION_ALT_SPEED_TIME_END: 1020 + # TRANSMISSION_ALT_SPEED_UP: 50 + # TRANSMISSION_BIND_ADDRESS_IPV4: "0.0.0.0" + # TRANSMISSION_BIND_ADDRESS_IPV6: "::" + # TRANSMISSION_BLOCKLIST_ENABLED: true + # TRANSMISSION_BLOCKLIST_URL: "http://john.bitsurge.net/public/biglist.p2p.gz" + # TRANSMISSION_CACHE_SIZE_MB: 4 + # TRANSMISSION_DHT_ENABLED: true + # TRANSMISSION_DOWNLOAD_DIR: "/downloads/complete" + # TRANSMISSION_DOWNLOAD_QUEUE_ENABLED: true + # TRANSMISSION_DOWNLOAD_QUEUE_SIZE: 5 + # TRANSMISSION_ENCRYPTION: 1 + # TRANSMISSION_IDLE_SEEDING_LIMIT: 30 + # TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED: false + # TRANSMISSION_INCOMPLETE_DIR: "/downloads/incomplete" + # TRANSMISSION_INCOMPLETE_DIR_ENABLED: true + # TRANSMISSION_LPD_ENABLED: false + # TRANSMISSION_MESSAGE_LEVEL: 2 + # TRANSMISSION_PEER_CONGESTION_ALGORITHM: "" + # TRANSMISSION_PEER_ID_TTL_HOURS: 6 + # TRANSMISSION_PEER_LIMIT_GLOBAL: 200 + # TRANSMISSION_PEER_LIMIT_PER_TORRENT: 50 + # TRANSMISSION_PEER_PORT: 51413 + # TRANSMISSION_PEER_PORT_RANDOM_HIGH: 65535 + # TRANSMISSION_PEER_PORT_RANDOM_LOW: 49152 + # TRANSMISSION_PEER_PORT_RANDOM_ON_START: false + # TRANSMISSION_PEER_SOCKET_TOS: default" + # TRANSMISSION_PEX_ENABLED: true + # TRANSMISSION_PORT_FORWARDING_ENABLED: false + # TRANSMISSION_PREALLOCATION: 1 + # TRANSMISSION_PREFETCH_ENABLED: true + # TRANSMISSION_QUEUE_STALLED_ENABLED: true + # TRANSMISSION_QUEUE_STALLED_MINUTES: 30 + # TRANSMISSION_RATIO_LIMIT: 2 + # TRANSMISSION_RATIO_LIMIT_ENABLED: false + # TRANSMISSION_RENAME_PARTIAL_FILES: true + # TRANSMISSION_RPC_AUTHENTICATION_REQUIRED: false + # TRANSMISSION_RPC_BIND_ADDRESS: "0.0.0.0" + # TRANSMISSION_RPC_ENABLED: true + # TRANSMISSION_RPC_HOST_WHITELIST: "" + # TRANSMISSION_RPC_HOST_WHITELIST_ENABLED: false + # TRANSMISSION_RPC_PASSWORD: "" + # TRANSMISSION_RPC_PORT: 9091 + # TRANSMISSION_RPC_URL: "/transmission/" + # TRANSMISSION_RPC_USERNAME: "" + # TRANSMISSION_RPC_WHITELIST: "" + # TRANSMISSION_RPC_WHITELIST_ENABLED: false + # TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED: true + # TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED: false + # TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME: "" + # TRANSMISSION_SEED_QUEUE_ENABLED: false + # TRANSMISSION_SEED_QUEUE_SIZE: 10 + # TRANSMISSION_SPEED_LIMIT_DOWN: 100 + # TRANSMISSION_SPEED_LIMIT_DOWN_ENABLED: false + # TRANSMISSION_SPEED_LIMIT_UP: 100 + # TRANSMISSION_SPEED_LIMIT_UP_ENABLED: false + # TRANSMISSION_START_ADDED_TORRENTS: true + # TRANSMISSION_TRASH_ORIGINAL_TORRENT_FILES: false + # TRANSMISSION_UMASK: 2 + # TRANSMISSION_UPLOAD_SLOTS_PER_TORRENT: 14 + # TRANSMISSION_UTP_ENABLED: true + # TRANSMISSION_WATCH_DIR: "/watch" + # TRANSMISSION_WATCH_DIR_ENABLED: false + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir diff --git a/stable/transmission/6.1.3/values.yaml b/stable/transmission/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/6.1.3/CONFIG.md b/stable/truecommand/6.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/truecommand/6.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/truecommand/6.1.3/Chart.lock b/stable/truecommand/6.1.3/Chart.lock new file mode 100644 index 00000000000..f3c7fd54bb5 --- /dev/null +++ b/stable/truecommand/6.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +digest: sha256:48475a1508342c43ba1e60cdc856a79c3deb38c5d3a143c15a3916f24564ddb8 +generated: "2021-06-14T22:32:18.21496276Z" diff --git a/stable/truecommand/6.1.3/Chart.yaml b/stable/truecommand/6.1.3/Chart.yaml new file mode 100644 index 00000000000..f626fab2977 --- /dev/null +++ b/stable/truecommand/6.1.3/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +deprecated: false +description: Aggregated management of TrueNAS devices +home: https://github.com/truecharts/apps/tree/master/charts/incubator/truecommand +icon: https://www.ixsystems.com/documentation/truecommand/1.2/_static/tv-logo.png +keywords: +- truecommand +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: truecommand +sources: +- https://hub.docker.com/r/ixsystems/truecommand +type: application +version: 6.1.3 diff --git a/stable/truecommand/6.1.3/README.md b/stable/truecommand/6.1.3/README.md new file mode 100644 index 00000000000..8fd2ceabd55 --- /dev/null +++ b/stable/truecommand/6.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: nightly](https://img.shields.io/badge/AppVersion-nightly-informational?style=flat-square) + +Aggregated management of TrueNAS devices + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `truecommand` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `truecommand` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/truecommand/6.1.3/app-readme.md b/stable/truecommand/6.1.3/app-readme.md new file mode 100644 index 00000000000..8e1468487fc --- /dev/null +++ b/stable/truecommand/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Aggregated management of TrueNAS devices +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Aggregated management of TrueNAS devices diff --git a/stable/truecommand/6.1.3/charts/common-6.3.4.tgz b/stable/truecommand/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/truecommand/6.1.3/ix_values.yaml b/stable/truecommand/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..feeb16a6372 --- /dev/null +++ b/stable/truecommand/6.1.3/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: "2.0" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/truecommand/6.1.3/questions.yaml b/stable/truecommand/6.1.3/questions.yaml new file mode 100644 index 00000000000..57479dc563d --- /dev/null +++ b/stable/truecommand/6.1.3/questions.yaml @@ -0,0 +1,607 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36044 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/truecommand/6.1.3/templates/common.yaml b/stable/truecommand/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/6.1.3/test_values.yaml b/stable/truecommand/6.1.3/test_values.yaml new file mode 100644 index 00000000000..7710492dc3d --- /dev/null +++ b/stable/truecommand/6.1.3/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Jackett. + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: "2.0" + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + data: + enabled: true + mountPath: "/data" + type: emptyDir diff --git a/stable/truecommand/6.1.3/values.yaml b/stable/truecommand/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/3.1.3/CONFIG.md b/stable/vaultwarden/3.1.3/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/vaultwarden/3.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps 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.1.3/Chart.lock b/stable/vaultwarden/3.1.3/Chart.lock new file mode 100644 index 00000000000..8d40b1f5300 --- /dev/null +++ b/stable/vaultwarden/3.1.3/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.9 +digest: sha256:3169f0a1c2fe02927086a3a0a507e46ccdb618f15250b0dee4d6c6108949a001 +generated: "2021-06-14T22:32:22.570805919Z" diff --git a/stable/vaultwarden/3.1.3/Chart.yaml b/stable/vaultwarden/3.1.3/Chart.yaml new file mode 100644 index 00000000000..7f4a7dcb05f --- /dev/null +++ b/stable/vaultwarden/3.1.3/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.4 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.9 +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.1.3 diff --git a/stable/vaultwarden/3.1.3/README.md b/stable/vaultwarden/3.1.3/README.md new file mode 100644 index 00000000000..bb4095ca30b --- /dev/null +++ b/stable/vaultwarden/3.1.3/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.1.3/app-readme.md b/stable/vaultwarden/3.1.3/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.1.3/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.1.3/charts/common-6.3.4.tgz b/stable/vaultwarden/3.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.1.3/charts/postgresql-10.4.9.tgz b/stable/vaultwarden/3.1.3/charts/postgresql-10.4.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cc65122b86d87f51c1a4fb223e55d0195726b004 GIT binary patch literal 48739 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 d{wG4-t!-^=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: zwavejs2mqtt +sources: +- https://github.com/zwave-js/zwavejs2mqtt +- https://hub.docker.com/r/zwavejs/zwavejs2mqtt +type: application +version: 6.1.3 diff --git a/stable/zwavejs2mqtt/6.1.3/README.md b/stable/zwavejs2mqtt/6.1.3/README.md new file mode 100644 index 00000000000..d13881ca6be --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `zwavejs2mqtt` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `zwavejs2mqtt` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/zwavejs2mqtt/6.1.3/app-readme.md b/stable/zwavejs2mqtt/6.1.3/app-readme.md new file mode 100644 index 00000000000..4bb94a1a5a3 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/app-readme.md @@ -0,0 +1,3 @@ +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS diff --git a/stable/zwavejs2mqtt/6.1.3/charts/common-6.3.4.tgz b/stable/zwavejs2mqtt/6.1.3/charts/common-6.3.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d56d9714b47b1b8b5b13795aa616bbf14a1cdaf6 GIT binary patch literal 22918 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 BCL{m= literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/6.1.3/ix_values.yaml b/stable/zwavejs2mqtt/6.1.3/ix_values.yaml new file mode 100644 index 00000000000..6cff59a18e8 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/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: 4.5.2 + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + supplementalGroups: [5, 20, 24] + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/zwavejs2mqtt/6.1.3/questions.yaml b/stable/zwavejs2mqtt/6.1.3/questions.yaml new file mode 100644 index 00000000000..1e368c4edda --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/questions.yaml @@ -0,0 +1,777 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8091 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36022 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36023 + required: true + # Configure app volumes + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCERT + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/zwavejs2mqtt/6.1.3/templates/common.yaml b/stable/zwavejs2mqtt/6.1.3/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/6.1.3/test_values.yaml b/stable/zwavejs2mqtt/6.1.3/test_values.yaml new file mode 100644 index 00000000000..59fd2db1b23 --- /dev/null +++ b/stable/zwavejs2mqtt/6.1.3/test_values.yaml @@ -0,0 +1,103 @@ +# Default values for zwavejs2mqtt. +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/charts/tree/master/charts/common + +image: + repository: zwavejs/zwavejs2mqtt + pullPolicy: IfNotPresent + tag: 4.5.2 + +strategy: + type: Recreate + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [5, 20, 24] + +# # See more environment variables in the zwavejs2mqtt documentation +# https://zwave-js.github.io/zwavejs2mqtt/#/guide/env-vars +env: {} + # OZW_NETWORK_KEY: + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + +service: + main: + ports: + main: + port: 8091 + ws: + enabled: true + type: ClusterIP + ports: + ws: + enabled: true + port: 3000 + protocol: TCP + +# Privileged may be required if USB controller is accessed directly through the host machine +# securityContext: +# privileged: true + +persistence: + config: + enabled: true + mountPath: "/config" + type: emptyDir + + +# affinity: +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - zwave-controller diff --git a/stable/zwavejs2mqtt/6.1.3/values.yaml b/stable/zwavejs2mqtt/6.1.3/values.yaml new file mode 100644 index 00000000000..e69de29bb2d