From d93616ed3f9aff94d26d8dab48e2b2289a38d9c0 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 28 May 2021 21:53:02 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/5.1.0/CONFIG.md | 8 + deprecated/nzbhydra/5.1.0/Chart.lock | 6 + deprecated/nzbhydra/5.1.0/Chart.yaml | 24 + deprecated/nzbhydra/5.1.0/README.md | 56 ++ deprecated/nzbhydra/5.1.0/app-readme.md | 3 + .../nzbhydra/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes deprecated/nzbhydra/5.1.0/ix_values.yaml | 51 + deprecated/nzbhydra/5.1.0/questions.yaml | 396 ++++++++ .../nzbhydra/5.1.0/templates/common.yaml | 1 + deprecated/nzbhydra/5.1.0/test_values.yaml | 66 ++ deprecated/nzbhydra/5.1.0/values.yaml | 0 incubator/appdaemon/2.1.0/CONFIG.md | 8 + incubator/appdaemon/2.1.0/Chart.lock | 6 + incubator/appdaemon/2.1.0/Chart.yaml | 29 + incubator/appdaemon/2.1.0/README.md | 53 + incubator/appdaemon/2.1.0/app-readme.md | 3 + .../appdaemon/2.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/appdaemon/2.1.0/ix_values.yaml | 16 + incubator/appdaemon/2.1.0/questions.yaml | 368 +++++++ .../appdaemon/2.1.0/templates/common.yaml | 1 + incubator/appdaemon/2.1.0/test_values.yaml | 42 + incubator/appdaemon/2.1.0/values.yaml | 0 incubator/bazarr/5.1.0/CONFIG.md | 8 + incubator/bazarr/5.1.0/Chart.lock | 6 + incubator/bazarr/5.1.0/Chart.yaml | 35 + incubator/bazarr/5.1.0/README.md | 56 ++ incubator/bazarr/5.1.0/app-readme.md | 3 + .../bazarr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/bazarr/5.1.0/ix_values.yaml | 15 + incubator/bazarr/5.1.0/questions.yaml | 396 ++++++++ incubator/bazarr/5.1.0/templates/common.yaml | 1 + incubator/bazarr/5.1.0/test_values.yaml | 30 + incubator/bazarr/5.1.0/values.yaml | 0 incubator/calibre-web/5.1.0/CONFIG.md | 8 + incubator/calibre-web/5.1.0/Chart.lock | 6 + incubator/calibre-web/5.1.0/Chart.yaml | 29 + incubator/calibre-web/5.1.0/README.md | 56 ++ incubator/calibre-web/5.1.0/app-readme.md | 3 + .../calibre-web/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/calibre-web/5.1.0/ix_values.yaml | 16 + incubator/calibre-web/5.1.0/questions.yaml | 356 +++++++ .../calibre-web/5.1.0/templates/common.yaml | 1 + incubator/calibre-web/5.1.0/test_values.yaml | 32 + incubator/calibre-web/5.1.0/values.yaml | 0 incubator/deluge/5.1.0/CONFIG.md | 8 + incubator/deluge/5.1.0/Chart.lock | 6 + incubator/deluge/5.1.0/Chart.yaml | 25 + incubator/deluge/5.1.0/README.md | 54 + incubator/deluge/5.1.0/app-readme.md | 3 + .../deluge/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/deluge/5.1.0/ix_values.yaml | 16 + incubator/deluge/5.1.0/questions.yaml | 503 ++++++++++ incubator/deluge/5.1.0/templates/common.yaml | 1 + incubator/deluge/5.1.0/test_values.yaml | 37 + incubator/deluge/5.1.0/values.yaml | 0 incubator/fireflyiii/3.1.0/CONFIG.md | 8 + incubator/fireflyiii/3.1.0/Chart.lock | 9 + incubator/fireflyiii/3.1.0/Chart.yaml | 30 + incubator/fireflyiii/3.1.0/README.md | 54 + incubator/fireflyiii/3.1.0/app-readme.md | 3 + .../fireflyiii/3.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes .../3.1.0/charts/postgresql-10.4.7.tgz | Bin 0 -> 48732 bytes incubator/fireflyiii/3.1.0/ix_values.yaml | 41 + incubator/fireflyiii/3.1.0/questions.yaml | 539 ++++++++++ .../fireflyiii/3.1.0/templates/common.yaml | 5 + .../fireflyiii/3.1.0/templates/secrets.yaml | 19 + incubator/fireflyiii/3.1.0/test_values.yaml | 83 ++ incubator/fireflyiii/3.1.0/values.yaml | 0 incubator/freshrss/5.1.0/CONFIG.md | 8 + incubator/freshrss/5.1.0/Chart.lock | 6 + incubator/freshrss/5.1.0/Chart.yaml | 27 + incubator/freshrss/5.1.0/README.md | 56 ++ incubator/freshrss/5.1.0/app-readme.md | 3 + .../freshrss/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/freshrss/5.1.0/ix_values.yaml | 16 + incubator/freshrss/5.1.0/questions.yaml | 356 +++++++ .../freshrss/5.1.0/templates/common.yaml | 1 + incubator/freshrss/5.1.0/test_values.yaml | 30 + incubator/freshrss/5.1.0/values.yaml | 0 incubator/gaps/5.1.0/CONFIG.md | 8 + incubator/gaps/5.1.0/Chart.lock | 6 + incubator/gaps/5.1.0/Chart.yaml | 28 + incubator/gaps/5.1.0/README.md | 55 ++ incubator/gaps/5.1.0/app-readme.md | 3 + incubator/gaps/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/gaps/5.1.0/ix_values.yaml | 15 + incubator/gaps/5.1.0/questions.yaml | 395 ++++++++ incubator/gaps/5.1.0/templates/common.yaml | 1 + incubator/gaps/5.1.0/test_values.yaml | 28 + incubator/gaps/5.1.0/values.yaml | 0 incubator/grocy/5.1.0/CONFIG.md | 8 + incubator/grocy/5.1.0/Chart.lock | 6 + incubator/grocy/5.1.0/Chart.yaml | 26 + incubator/grocy/5.1.0/README.md | 55 ++ incubator/grocy/5.1.0/app-readme.md | 3 + incubator/grocy/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/grocy/5.1.0/ix_values.yaml | 16 + incubator/grocy/5.1.0/questions.yaml | 355 +++++++ incubator/grocy/5.1.0/templates/common.yaml | 1 + incubator/grocy/5.1.0/test_values.yaml | 30 + incubator/grocy/5.1.0/values.yaml | 0 incubator/heimdall/5.1.0/CONFIG.md | 8 + incubator/heimdall/5.1.0/Chart.lock | 6 + incubator/heimdall/5.1.0/Chart.yaml | 24 + incubator/heimdall/5.1.0/README.md | 54 + incubator/heimdall/5.1.0/app-readme.md | 3 + .../heimdall/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/heimdall/5.1.0/ix_values.yaml | 16 + incubator/heimdall/5.1.0/questions.yaml | 356 +++++++ .../heimdall/5.1.0/templates/common.yaml | 1 + incubator/heimdall/5.1.0/test_values.yaml | 34 + incubator/heimdall/5.1.0/values.yaml | 0 incubator/lazylibrarian/5.1.0/CONFIG.md | 8 + incubator/lazylibrarian/5.1.0/Chart.lock | 6 + incubator/lazylibrarian/5.1.0/Chart.yaml | 30 + incubator/lazylibrarian/5.1.0/README.md | 56 ++ incubator/lazylibrarian/5.1.0/app-readme.md | 3 + .../5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/lazylibrarian/5.1.0/ix_values.yaml | 16 + incubator/lazylibrarian/5.1.0/questions.yaml | 356 +++++++ .../lazylibrarian/5.1.0/templates/common.yaml | 1 + .../lazylibrarian/5.1.0/test_values.yaml | 30 + incubator/lazylibrarian/5.1.0/values.yaml | 0 incubator/lychee/5.1.0/CONFIG.md | 8 + incubator/lychee/5.1.0/Chart.lock | 6 + incubator/lychee/5.1.0/Chart.yaml | 29 + incubator/lychee/5.1.0/README.md | 56 ++ incubator/lychee/5.1.0/app-readme.md | 3 + .../lychee/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/lychee/5.1.0/ix_values.yaml | 16 + incubator/lychee/5.1.0/questions.yaml | 356 +++++++ incubator/lychee/5.1.0/templates/common.yaml | 1 + incubator/lychee/5.1.0/test_values.yaml | 30 + incubator/lychee/5.1.0/values.yaml | 0 incubator/navidrome/5.1.0/CONFIG.md | 8 + incubator/navidrome/5.1.0/Chart.lock | 6 + incubator/navidrome/5.1.0/Chart.yaml | 28 + incubator/navidrome/5.1.0/README.md | 56 ++ incubator/navidrome/5.1.0/app-readme.md | 3 + .../navidrome/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/navidrome/5.1.0/ix_values.yaml | 15 + incubator/navidrome/5.1.0/questions.yaml | 396 ++++++++ .../navidrome/5.1.0/templates/common.yaml | 1 + incubator/navidrome/5.1.0/test_values.yaml | 32 + incubator/navidrome/5.1.0/values.yaml | 0 incubator/node-red/5.1.0/CONFIG.md | 8 + incubator/node-red/5.1.0/Chart.lock | 6 + incubator/node-red/5.1.0/Chart.yaml | 26 + incubator/node-red/5.1.0/README.md | 55 ++ incubator/node-red/5.1.0/app-readme.md | 3 + .../node-red/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/node-red/5.1.0/ix_values.yaml | 15 + incubator/node-red/5.1.0/questions.yaml | 396 ++++++++ .../node-red/5.1.0/templates/common.yaml | 1 + incubator/node-red/5.1.0/test_values.yaml | 34 + incubator/node-red/5.1.0/values.yaml | 0 incubator/nzbget/5.1.0/CONFIG.md | 8 + incubator/nzbget/5.1.0/Chart.lock | 6 + incubator/nzbget/5.1.0/Chart.yaml | 27 + incubator/nzbget/5.1.0/README.md | 56 ++ incubator/nzbget/5.1.0/app-readme.md | 3 + .../nzbget/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/nzbget/5.1.0/ix_values.yaml | 15 + incubator/nzbget/5.1.0/questions.yaml | 396 ++++++++ incubator/nzbget/5.1.0/templates/common.yaml | 1 + incubator/nzbget/5.1.0/test_values.yaml | 25 + incubator/nzbget/5.1.0/values.yaml | 0 incubator/organizr/5.1.0/CONFIG.md | 8 + incubator/organizr/5.1.0/Chart.lock | 6 + incubator/organizr/5.1.0/Chart.yaml | 26 + incubator/organizr/5.1.0/README.md | 56 ++ incubator/organizr/5.1.0/app-readme.md | 3 + .../organizr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/organizr/5.1.0/ix_values.yaml | 16 + incubator/organizr/5.1.0/questions.yaml | 420 ++++++++ .../organizr/5.1.0/templates/common.yaml | 1 + incubator/organizr/5.1.0/test_values.yaml | 30 + incubator/organizr/5.1.0/values.yaml | 0 incubator/podgrab/3.1.0/CONFIG.md | 8 + incubator/podgrab/3.1.0/Chart.lock | 6 + incubator/podgrab/3.1.0/Chart.yaml | 28 + incubator/podgrab/3.1.0/README.md | 54 + incubator/podgrab/3.1.0/app-readme.md | 3 + .../podgrab/3.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/podgrab/3.1.0/ix_values.yaml | 16 + incubator/podgrab/3.1.0/questions.yaml | 404 ++++++++ incubator/podgrab/3.1.0/templates/common.yaml | 1 + incubator/podgrab/3.1.0/test_values.yaml | 51 + incubator/podgrab/3.1.0/values.yaml | 0 incubator/qbittorrent/5.1.0/CONFIG.md | 8 + incubator/qbittorrent/5.1.0/Chart.lock | 6 + incubator/qbittorrent/5.1.0/Chart.yaml | 26 + incubator/qbittorrent/5.1.0/README.md | 55 ++ incubator/qbittorrent/5.1.0/app-readme.md | 3 + .../qbittorrent/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/qbittorrent/5.1.0/ix_values.yaml | 15 + incubator/qbittorrent/5.1.0/questions.yaml | 543 ++++++++++ .../5.1.0/templates/_configmap.tpl | 32 + .../qbittorrent/5.1.0/templates/common.yaml | 6 + incubator/qbittorrent/5.1.0/test_values.yaml | 55 ++ incubator/qbittorrent/5.1.0/values.yaml | 0 incubator/readarr/5.1.0/CONFIG.md | 8 + incubator/readarr/5.1.0/Chart.lock | 6 + incubator/readarr/5.1.0/Chart.yaml | 33 + incubator/readarr/5.1.0/README.md | 56 ++ incubator/readarr/5.1.0/app-readme.md | 3 + .../readarr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/readarr/5.1.0/ix_values.yaml | 37 + incubator/readarr/5.1.0/questions.yaml | 396 ++++++++ incubator/readarr/5.1.0/templates/common.yaml | 1 + incubator/readarr/5.1.0/test_values.yaml | 51 + incubator/readarr/5.1.0/values.yaml | 0 incubator/sabnzbd/5.1.0/CONFIG.md | 8 + incubator/sabnzbd/5.1.0/Chart.lock | 6 + incubator/sabnzbd/5.1.0/Chart.yaml | 27 + incubator/sabnzbd/5.1.0/README.md | 56 ++ incubator/sabnzbd/5.1.0/app-readme.md | 3 + .../sabnzbd/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/sabnzbd/5.1.0/ix_values.yaml | 15 + incubator/sabnzbd/5.1.0/questions.yaml | 403 ++++++++ incubator/sabnzbd/5.1.0/templates/common.yaml | 1 + incubator/sabnzbd/5.1.0/test_values.yaml | 30 + incubator/sabnzbd/5.1.0/values.yaml | 0 incubator/tvheadend/6.1.0/CONFIG.md | 8 + incubator/tvheadend/6.1.0/Chart.lock | 6 + incubator/tvheadend/6.1.0/Chart.yaml | 28 + incubator/tvheadend/6.1.0/README.md | 55 ++ incubator/tvheadend/6.1.0/app-readme.md | 3 + .../tvheadend/6.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/tvheadend/6.1.0/ix_values.yaml | 15 + incubator/tvheadend/6.1.0/questions.yaml | 452 +++++++++ .../tvheadend/6.1.0/templates/common.yaml | 1 + incubator/tvheadend/6.1.0/test_values.yaml | 40 + incubator/tvheadend/6.1.0/values.yaml | 0 incubator/unifi/5.1.0/CONFIG.md | 8 + incubator/unifi/5.1.0/Chart.lock | 6 + incubator/unifi/5.1.0/Chart.yaml | 26 + incubator/unifi/5.1.0/README.md | 55 ++ incubator/unifi/5.1.0/app-readme.md | 3 + incubator/unifi/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes incubator/unifi/5.1.0/ix_values.yaml | 19 + incubator/unifi/5.1.0/questions.yaml | 552 +++++++++++ incubator/unifi/5.1.0/templates/common.yaml | 1 + incubator/unifi/5.1.0/test_values.yaml | 51 + incubator/unifi/5.1.0/values.yaml | 0 stable/collabora-online/5.1.0/CONFIG.md | 8 + stable/collabora-online/5.1.0/Chart.lock | 6 + stable/collabora-online/5.1.0/Chart.yaml | 29 + stable/collabora-online/5.1.0/README.md | 56 ++ stable/collabora-online/5.1.0/app-readme.md | 3 + .../5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/collabora-online/5.1.0/ix_values.yaml | 14 + stable/collabora-online/5.1.0/questions.yaml | 305 ++++++ .../5.1.0/templates/common.yaml | 1 + .../collabora-online/5.1.0/test_values.yaml | 22 + stable/collabora-online/5.1.0/values.yaml | 0 stable/deepstack-cpu/3.1.0/CONFIG.md | 8 + stable/deepstack-cpu/3.1.0/Chart.lock | 6 + stable/deepstack-cpu/3.1.0/Chart.yaml | 29 + stable/deepstack-cpu/3.1.0/README.md | 56 ++ stable/deepstack-cpu/3.1.0/app-readme.md | 3 + .../3.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/deepstack-cpu/3.1.0/ix_values.yaml | 19 + stable/deepstack-cpu/3.1.0/questions.yaml | 409 ++++++++ .../deepstack-cpu/3.1.0/templates/common.yaml | 1 + stable/deepstack-cpu/3.1.0/test_values.yaml | 43 + stable/deepstack-cpu/3.1.0/values.yaml | 0 stable/emby/5.1.0/CONFIG.md | 8 + stable/emby/5.1.0/Chart.lock | 6 + stable/emby/5.1.0/Chart.yaml | 29 + stable/emby/5.1.0/README.md | 55 ++ stable/emby/5.1.0/app-readme.md | 3 + stable/emby/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/emby/5.1.0/ix_values.yaml | 22 + stable/emby/5.1.0/questions.yaml | 404 ++++++++ stable/emby/5.1.0/templates/common.yaml | 1 + stable/emby/5.1.0/test_values.yaml | 33 + stable/emby/5.1.0/values.yaml | 0 stable/esphome/5.1.0/CONFIG.md | 8 + stable/esphome/5.1.0/Chart.lock | 6 + stable/esphome/5.1.0/Chart.yaml | 30 + stable/esphome/5.1.0/README.md | 56 ++ stable/esphome/5.1.0/app-readme.md | 3 + stable/esphome/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/esphome/5.1.0/ix_values.yaml | 15 + stable/esphome/5.1.0/questions.yaml | 453 +++++++++ stable/esphome/5.1.0/templates/common.yaml | 1 + stable/esphome/5.1.0/test_values.yaml | 34 + stable/esphome/5.1.0/values.yaml | 0 stable/handbrake/5.1.0/CONFIG.md | 8 + stable/handbrake/5.1.0/Chart.lock | 6 + stable/handbrake/5.1.0/Chart.yaml | 31 + stable/handbrake/5.1.0/README.md | 56 ++ stable/handbrake/5.1.0/app-readme.md | 3 + .../handbrake/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/handbrake/5.1.0/ix_values.yaml | 20 + stable/handbrake/5.1.0/questions.yaml | 575 +++++++++++ stable/handbrake/5.1.0/templates/common.yaml | 1 + stable/handbrake/5.1.0/test_values.yaml | 55 ++ stable/handbrake/5.1.0/values.yaml | 0 stable/home-assistant/5.1.0/CONFIG.md | 8 + stable/home-assistant/5.1.0/Chart.lock | 6 + stable/home-assistant/5.1.0/Chart.yaml | 31 + stable/home-assistant/5.1.0/README.md | 56 ++ stable/home-assistant/5.1.0/app-readme.md | 3 + .../5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/home-assistant/5.1.0/ix_values.yaml | 15 + stable/home-assistant/5.1.0/questions.yaml | 421 ++++++++ .../5.1.0/templates/common.yaml | 1 + .../5.1.0/templates/secret.yaml | 15 + stable/home-assistant/5.1.0/test_values.yaml | 101 ++ stable/home-assistant/5.1.0/values.yaml | 0 stable/jackett/5.1.0/CONFIG.md | 8 + stable/jackett/5.1.0/Chart.lock | 6 + stable/jackett/5.1.0/Chart.yaml | 31 + stable/jackett/5.1.0/README.md | 56 ++ stable/jackett/5.1.0/app-readme.md | 3 + stable/jackett/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/jackett/5.1.0/ix_values.yaml | 15 + stable/jackett/5.1.0/questions.yaml | 395 ++++++++ stable/jackett/5.1.0/templates/common.yaml | 1 + stable/jackett/5.1.0/test_values.yaml | 33 + stable/jackett/5.1.0/values.yaml | 0 stable/jellyfin/5.1.0/CONFIG.md | 8 + stable/jellyfin/5.1.0/Chart.lock | 6 + stable/jellyfin/5.1.0/Chart.yaml | 31 + stable/jellyfin/5.1.0/README.md | 56 ++ stable/jellyfin/5.1.0/app-readme.md | 3 + stable/jellyfin/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/jellyfin/5.1.0/ix_values.yaml | 22 + stable/jellyfin/5.1.0/questions.yaml | 404 ++++++++ stable/jellyfin/5.1.0/templates/common.yaml | 1 + stable/jellyfin/5.1.0/test_values.yaml | 33 + stable/jellyfin/5.1.0/values.yaml | 0 stable/kms/5.1.0/CONFIG.md | 8 + stable/kms/5.1.0/Chart.lock | 6 + stable/kms/5.1.0/Chart.yaml | 26 + stable/kms/5.1.0/README.md | 54 + stable/kms/5.1.0/app-readme.md | 3 + stable/kms/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/kms/5.1.0/ix_values.yaml | 16 + stable/kms/5.1.0/questions.yaml | 277 ++++++ stable/kms/5.1.0/templates/common.yaml | 1 + stable/kms/5.1.0/test_values.yaml | 15 + stable/kms/5.1.0/values.yaml | 0 stable/lidarr/5.1.0/CONFIG.md | 8 + stable/lidarr/5.1.0/Chart.lock | 6 + stable/lidarr/5.1.0/Chart.yaml | 31 + stable/lidarr/5.1.0/README.md | 56 ++ stable/lidarr/5.1.0/app-readme.md | 3 + stable/lidarr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/lidarr/5.1.0/ix_values.yaml | 37 + stable/lidarr/5.1.0/questions.yaml | 395 ++++++++ stable/lidarr/5.1.0/templates/common.yaml | 1 + stable/lidarr/5.1.0/test_values.yaml | 51 + stable/lidarr/5.1.0/values.yaml | 0 stable/ombi/5.1.0/CONFIG.md | 8 + stable/ombi/5.1.0/Chart.lock | 6 + stable/ombi/5.1.0/Chart.yaml | 34 + stable/ombi/5.1.0/README.md | 56 ++ stable/ombi/5.1.0/app-readme.md | 3 + stable/ombi/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/ombi/5.1.0/ix_values.yaml | 15 + stable/ombi/5.1.0/questions.yaml | 395 ++++++++ stable/ombi/5.1.0/templates/common.yaml | 1 + stable/ombi/5.1.0/test_values.yaml | 43 + stable/ombi/5.1.0/values.yaml | 0 stable/plex/4.1.0/CONFIG.md | 8 + stable/plex/4.1.0/Chart.lock | 6 + stable/plex/4.1.0/Chart.yaml | 27 + stable/plex/4.1.0/README.md | 53 + stable/plex/4.1.0/app-readme.md | 3 + stable/plex/4.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/plex/4.1.0/ix_values.yaml | 22 + stable/plex/4.1.0/questions.yaml | 422 ++++++++ stable/plex/4.1.0/templates/common.yaml | 1 + stable/plex/4.1.0/test_values.yaml | 33 + stable/plex/4.1.0/values.yaml | 0 stable/radarr/5.1.0/CONFIG.md | 8 + stable/radarr/5.1.0/Chart.lock | 6 + stable/radarr/5.1.0/Chart.yaml | 31 + stable/radarr/5.1.0/README.md | 56 ++ stable/radarr/5.1.0/app-readme.md | 3 + stable/radarr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/radarr/5.1.0/ix_values.yaml | 37 + stable/radarr/5.1.0/questions.yaml | 395 ++++++++ stable/radarr/5.1.0/templates/common.yaml | 1 + stable/radarr/5.1.0/test_values.yaml | 51 + stable/radarr/5.1.0/values.yaml | 0 stable/sonarr/5.1.0/CONFIG.md | 8 + stable/sonarr/5.1.0/Chart.lock | 6 + stable/sonarr/5.1.0/Chart.yaml | 31 + stable/sonarr/5.1.0/README.md | 56 ++ stable/sonarr/5.1.0/app-readme.md | 3 + stable/sonarr/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/sonarr/5.1.0/ix_values.yaml | 37 + stable/sonarr/5.1.0/questions.yaml | 395 ++++++++ stable/sonarr/5.1.0/templates/common.yaml | 1 + stable/sonarr/5.1.0/test_values.yaml | 51 + stable/sonarr/5.1.0/values.yaml | 0 stable/syncthing/5.2.0/CONFIG.md | 8 + stable/syncthing/5.2.0/Chart.lock | 6 + stable/syncthing/5.2.0/Chart.yaml | 27 + stable/syncthing/5.2.0/README.md | 55 ++ stable/syncthing/5.2.0/app-readme.md | 3 + .../syncthing/5.2.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/syncthing/5.2.0/ix_values.yaml | 15 + stable/syncthing/5.2.0/questions.yaml | 657 +++++++++++++ stable/syncthing/5.2.0/templates/common.yaml | 1 + stable/syncthing/5.2.0/test_values.yaml | 41 + stable/syncthing/5.2.0/values.yaml | 0 stable/tautulli/5.1.0/CONFIG.md | 8 + stable/tautulli/5.1.0/Chart.lock | 6 + stable/tautulli/5.1.0/Chart.yaml | 30 + stable/tautulli/5.1.0/README.md | 56 ++ stable/tautulli/5.1.0/app-readme.md | 3 + stable/tautulli/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/tautulli/5.1.0/ix_values.yaml | 15 + stable/tautulli/5.1.0/questions.yaml | 395 ++++++++ stable/tautulli/5.1.0/templates/common.yaml | 1 + stable/tautulli/5.1.0/test_values.yaml | 30 + stable/tautulli/5.1.0/values.yaml | 0 stable/traefik/4.0.3/Chart.lock | 2 +- stable/transmission/5.1.0/CONFIG.md | 8 + stable/transmission/5.1.0/Chart.lock | 6 + stable/transmission/5.1.0/Chart.yaml | 29 + stable/transmission/5.1.0/README.md | 55 ++ stable/transmission/5.1.0/app-readme.md | 3 + .../5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/transmission/5.1.0/ix_values.yaml | 50 + stable/transmission/5.1.0/questions.yaml | 723 ++++++++++++++ .../5.1.0/templates/_configmap.tpl | 14 + .../transmission/5.1.0/templates/common.yaml | 35 + stable/transmission/5.1.0/test_values.yaml | 82 ++ stable/transmission/5.1.0/values.yaml | 0 stable/truecommand/5.1.0/CONFIG.md | 8 + stable/truecommand/5.1.0/Chart.lock | 6 + stable/truecommand/5.1.0/Chart.yaml | 26 + stable/truecommand/5.1.0/README.md | 54 + stable/truecommand/5.1.0/app-readme.md | 3 + .../truecommand/5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/truecommand/5.1.0/ix_values.yaml | 15 + stable/truecommand/5.1.0/questions.yaml | 356 +++++++ .../truecommand/5.1.0/templates/common.yaml | 1 + stable/truecommand/5.1.0/test_values.yaml | 30 + stable/truecommand/5.1.0/values.yaml | 0 stable/vaultwarden/2.1.0/CONFIG.md | 8 + stable/vaultwarden/2.1.0/Chart.lock | 9 + stable/vaultwarden/2.1.0/Chart.yaml | 36 + stable/vaultwarden/2.1.0/README.md | 56 ++ stable/vaultwarden/2.1.0/app-readme.md | 3 + .../vaultwarden/2.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes .../2.1.0/charts/postgresql-10.4.7.tgz | Bin 0 -> 48732 bytes stable/vaultwarden/2.1.0/ix_values.yaml | 54 + stable/vaultwarden/2.1.0/questions.yaml | 925 ++++++++++++++++++ .../2.1.0/templates/_configmap.tpl | 116 +++ .../vaultwarden/2.1.0/templates/_secrets.tpl | 59 ++ .../vaultwarden/2.1.0/templates/_validate.tpl | 17 + .../vaultwarden/2.1.0/templates/common.yaml | 11 + stable/vaultwarden/2.1.0/test_values.yaml | 183 ++++ stable/vaultwarden/2.1.0/values.yaml | 0 stable/zwavejs2mqtt/5.1.0/CONFIG.md | 8 + stable/zwavejs2mqtt/5.1.0/Chart.lock | 6 + stable/zwavejs2mqtt/5.1.0/Chart.yaml | 33 + stable/zwavejs2mqtt/5.1.0/README.md | 56 ++ stable/zwavejs2mqtt/5.1.0/app-readme.md | 3 + .../5.1.0/charts/common-5.1.1.tgz | Bin 0 -> 23043 bytes stable/zwavejs2mqtt/5.1.0/ix_values.yaml | 66 ++ stable/zwavejs2mqtt/5.1.0/questions.yaml | 536 ++++++++++ .../zwavejs2mqtt/5.1.0/templates/common.yaml | 1 + stable/zwavejs2mqtt/5.1.0/test_values.yaml | 117 +++ stable/zwavejs2mqtt/5.1.0/values.yaml | 0 472 files changed, 25854 insertions(+), 1 deletion(-) create mode 100644 deprecated/nzbhydra/5.1.0/CONFIG.md create mode 100644 deprecated/nzbhydra/5.1.0/Chart.lock create mode 100644 deprecated/nzbhydra/5.1.0/Chart.yaml create mode 100644 deprecated/nzbhydra/5.1.0/README.md create mode 100644 deprecated/nzbhydra/5.1.0/app-readme.md create mode 100644 deprecated/nzbhydra/5.1.0/charts/common-5.1.1.tgz create mode 100644 deprecated/nzbhydra/5.1.0/ix_values.yaml create mode 100644 deprecated/nzbhydra/5.1.0/questions.yaml create mode 100644 deprecated/nzbhydra/5.1.0/templates/common.yaml create mode 100644 deprecated/nzbhydra/5.1.0/test_values.yaml create mode 100644 deprecated/nzbhydra/5.1.0/values.yaml create mode 100644 incubator/appdaemon/2.1.0/CONFIG.md create mode 100644 incubator/appdaemon/2.1.0/Chart.lock create mode 100644 incubator/appdaemon/2.1.0/Chart.yaml create mode 100644 incubator/appdaemon/2.1.0/README.md create mode 100644 incubator/appdaemon/2.1.0/app-readme.md create mode 100644 incubator/appdaemon/2.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/appdaemon/2.1.0/ix_values.yaml create mode 100644 incubator/appdaemon/2.1.0/questions.yaml create mode 100644 incubator/appdaemon/2.1.0/templates/common.yaml create mode 100644 incubator/appdaemon/2.1.0/test_values.yaml create mode 100644 incubator/appdaemon/2.1.0/values.yaml create mode 100644 incubator/bazarr/5.1.0/CONFIG.md create mode 100644 incubator/bazarr/5.1.0/Chart.lock create mode 100644 incubator/bazarr/5.1.0/Chart.yaml create mode 100644 incubator/bazarr/5.1.0/README.md create mode 100644 incubator/bazarr/5.1.0/app-readme.md create mode 100644 incubator/bazarr/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/bazarr/5.1.0/ix_values.yaml create mode 100644 incubator/bazarr/5.1.0/questions.yaml create mode 100644 incubator/bazarr/5.1.0/templates/common.yaml create mode 100644 incubator/bazarr/5.1.0/test_values.yaml create mode 100644 incubator/bazarr/5.1.0/values.yaml create mode 100644 incubator/calibre-web/5.1.0/CONFIG.md create mode 100644 incubator/calibre-web/5.1.0/Chart.lock create mode 100644 incubator/calibre-web/5.1.0/Chart.yaml create mode 100644 incubator/calibre-web/5.1.0/README.md create mode 100644 incubator/calibre-web/5.1.0/app-readme.md create mode 100644 incubator/calibre-web/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/calibre-web/5.1.0/ix_values.yaml create mode 100644 incubator/calibre-web/5.1.0/questions.yaml create mode 100644 incubator/calibre-web/5.1.0/templates/common.yaml create mode 100644 incubator/calibre-web/5.1.0/test_values.yaml create mode 100644 incubator/calibre-web/5.1.0/values.yaml create mode 100644 incubator/deluge/5.1.0/CONFIG.md create mode 100644 incubator/deluge/5.1.0/Chart.lock create mode 100644 incubator/deluge/5.1.0/Chart.yaml create mode 100644 incubator/deluge/5.1.0/README.md create mode 100644 incubator/deluge/5.1.0/app-readme.md create mode 100644 incubator/deluge/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/deluge/5.1.0/ix_values.yaml create mode 100644 incubator/deluge/5.1.0/questions.yaml create mode 100644 incubator/deluge/5.1.0/templates/common.yaml create mode 100644 incubator/deluge/5.1.0/test_values.yaml create mode 100644 incubator/deluge/5.1.0/values.yaml create mode 100644 incubator/fireflyiii/3.1.0/CONFIG.md create mode 100644 incubator/fireflyiii/3.1.0/Chart.lock create mode 100644 incubator/fireflyiii/3.1.0/Chart.yaml create mode 100644 incubator/fireflyiii/3.1.0/README.md create mode 100644 incubator/fireflyiii/3.1.0/app-readme.md create mode 100644 incubator/fireflyiii/3.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/fireflyiii/3.1.0/charts/postgresql-10.4.7.tgz create mode 100644 incubator/fireflyiii/3.1.0/ix_values.yaml create mode 100644 incubator/fireflyiii/3.1.0/questions.yaml create mode 100644 incubator/fireflyiii/3.1.0/templates/common.yaml create mode 100644 incubator/fireflyiii/3.1.0/templates/secrets.yaml create mode 100644 incubator/fireflyiii/3.1.0/test_values.yaml create mode 100644 incubator/fireflyiii/3.1.0/values.yaml create mode 100644 incubator/freshrss/5.1.0/CONFIG.md create mode 100644 incubator/freshrss/5.1.0/Chart.lock create mode 100644 incubator/freshrss/5.1.0/Chart.yaml create mode 100644 incubator/freshrss/5.1.0/README.md create mode 100644 incubator/freshrss/5.1.0/app-readme.md create mode 100644 incubator/freshrss/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/freshrss/5.1.0/ix_values.yaml create mode 100644 incubator/freshrss/5.1.0/questions.yaml create mode 100644 incubator/freshrss/5.1.0/templates/common.yaml create mode 100644 incubator/freshrss/5.1.0/test_values.yaml create mode 100644 incubator/freshrss/5.1.0/values.yaml create mode 100644 incubator/gaps/5.1.0/CONFIG.md create mode 100644 incubator/gaps/5.1.0/Chart.lock create mode 100644 incubator/gaps/5.1.0/Chart.yaml create mode 100644 incubator/gaps/5.1.0/README.md create mode 100644 incubator/gaps/5.1.0/app-readme.md create mode 100644 incubator/gaps/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/gaps/5.1.0/ix_values.yaml create mode 100644 incubator/gaps/5.1.0/questions.yaml create mode 100644 incubator/gaps/5.1.0/templates/common.yaml create mode 100644 incubator/gaps/5.1.0/test_values.yaml create mode 100644 incubator/gaps/5.1.0/values.yaml create mode 100644 incubator/grocy/5.1.0/CONFIG.md create mode 100644 incubator/grocy/5.1.0/Chart.lock create mode 100644 incubator/grocy/5.1.0/Chart.yaml create mode 100644 incubator/grocy/5.1.0/README.md create mode 100644 incubator/grocy/5.1.0/app-readme.md create mode 100644 incubator/grocy/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/grocy/5.1.0/ix_values.yaml create mode 100644 incubator/grocy/5.1.0/questions.yaml create mode 100644 incubator/grocy/5.1.0/templates/common.yaml create mode 100644 incubator/grocy/5.1.0/test_values.yaml create mode 100644 incubator/grocy/5.1.0/values.yaml create mode 100644 incubator/heimdall/5.1.0/CONFIG.md create mode 100644 incubator/heimdall/5.1.0/Chart.lock create mode 100644 incubator/heimdall/5.1.0/Chart.yaml create mode 100644 incubator/heimdall/5.1.0/README.md create mode 100644 incubator/heimdall/5.1.0/app-readme.md create mode 100644 incubator/heimdall/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/heimdall/5.1.0/ix_values.yaml create mode 100644 incubator/heimdall/5.1.0/questions.yaml create mode 100644 incubator/heimdall/5.1.0/templates/common.yaml create mode 100644 incubator/heimdall/5.1.0/test_values.yaml create mode 100644 incubator/heimdall/5.1.0/values.yaml create mode 100644 incubator/lazylibrarian/5.1.0/CONFIG.md create mode 100644 incubator/lazylibrarian/5.1.0/Chart.lock create mode 100644 incubator/lazylibrarian/5.1.0/Chart.yaml create mode 100644 incubator/lazylibrarian/5.1.0/README.md create mode 100644 incubator/lazylibrarian/5.1.0/app-readme.md create mode 100644 incubator/lazylibrarian/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/lazylibrarian/5.1.0/ix_values.yaml create mode 100644 incubator/lazylibrarian/5.1.0/questions.yaml create mode 100644 incubator/lazylibrarian/5.1.0/templates/common.yaml create mode 100644 incubator/lazylibrarian/5.1.0/test_values.yaml create mode 100644 incubator/lazylibrarian/5.1.0/values.yaml create mode 100644 incubator/lychee/5.1.0/CONFIG.md create mode 100644 incubator/lychee/5.1.0/Chart.lock create mode 100644 incubator/lychee/5.1.0/Chart.yaml create mode 100644 incubator/lychee/5.1.0/README.md create mode 100644 incubator/lychee/5.1.0/app-readme.md create mode 100644 incubator/lychee/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/lychee/5.1.0/ix_values.yaml create mode 100644 incubator/lychee/5.1.0/questions.yaml create mode 100644 incubator/lychee/5.1.0/templates/common.yaml create mode 100644 incubator/lychee/5.1.0/test_values.yaml create mode 100644 incubator/lychee/5.1.0/values.yaml create mode 100644 incubator/navidrome/5.1.0/CONFIG.md create mode 100644 incubator/navidrome/5.1.0/Chart.lock create mode 100644 incubator/navidrome/5.1.0/Chart.yaml create mode 100644 incubator/navidrome/5.1.0/README.md create mode 100644 incubator/navidrome/5.1.0/app-readme.md create mode 100644 incubator/navidrome/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/navidrome/5.1.0/ix_values.yaml create mode 100644 incubator/navidrome/5.1.0/questions.yaml create mode 100644 incubator/navidrome/5.1.0/templates/common.yaml create mode 100644 incubator/navidrome/5.1.0/test_values.yaml create mode 100644 incubator/navidrome/5.1.0/values.yaml create mode 100644 incubator/node-red/5.1.0/CONFIG.md create mode 100644 incubator/node-red/5.1.0/Chart.lock create mode 100644 incubator/node-red/5.1.0/Chart.yaml create mode 100644 incubator/node-red/5.1.0/README.md create mode 100644 incubator/node-red/5.1.0/app-readme.md create mode 100644 incubator/node-red/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/node-red/5.1.0/ix_values.yaml create mode 100644 incubator/node-red/5.1.0/questions.yaml create mode 100644 incubator/node-red/5.1.0/templates/common.yaml create mode 100644 incubator/node-red/5.1.0/test_values.yaml create mode 100644 incubator/node-red/5.1.0/values.yaml create mode 100644 incubator/nzbget/5.1.0/CONFIG.md create mode 100644 incubator/nzbget/5.1.0/Chart.lock create mode 100644 incubator/nzbget/5.1.0/Chart.yaml create mode 100644 incubator/nzbget/5.1.0/README.md create mode 100644 incubator/nzbget/5.1.0/app-readme.md create mode 100644 incubator/nzbget/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/nzbget/5.1.0/ix_values.yaml create mode 100644 incubator/nzbget/5.1.0/questions.yaml create mode 100644 incubator/nzbget/5.1.0/templates/common.yaml create mode 100644 incubator/nzbget/5.1.0/test_values.yaml create mode 100644 incubator/nzbget/5.1.0/values.yaml create mode 100644 incubator/organizr/5.1.0/CONFIG.md create mode 100644 incubator/organizr/5.1.0/Chart.lock create mode 100644 incubator/organizr/5.1.0/Chart.yaml create mode 100644 incubator/organizr/5.1.0/README.md create mode 100644 incubator/organizr/5.1.0/app-readme.md create mode 100644 incubator/organizr/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/organizr/5.1.0/ix_values.yaml create mode 100644 incubator/organizr/5.1.0/questions.yaml create mode 100644 incubator/organizr/5.1.0/templates/common.yaml create mode 100644 incubator/organizr/5.1.0/test_values.yaml create mode 100644 incubator/organizr/5.1.0/values.yaml create mode 100644 incubator/podgrab/3.1.0/CONFIG.md create mode 100644 incubator/podgrab/3.1.0/Chart.lock create mode 100644 incubator/podgrab/3.1.0/Chart.yaml create mode 100644 incubator/podgrab/3.1.0/README.md create mode 100644 incubator/podgrab/3.1.0/app-readme.md create mode 100644 incubator/podgrab/3.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/podgrab/3.1.0/ix_values.yaml create mode 100644 incubator/podgrab/3.1.0/questions.yaml create mode 100644 incubator/podgrab/3.1.0/templates/common.yaml create mode 100644 incubator/podgrab/3.1.0/test_values.yaml create mode 100644 incubator/podgrab/3.1.0/values.yaml create mode 100644 incubator/qbittorrent/5.1.0/CONFIG.md create mode 100644 incubator/qbittorrent/5.1.0/Chart.lock create mode 100644 incubator/qbittorrent/5.1.0/Chart.yaml create mode 100644 incubator/qbittorrent/5.1.0/README.md create mode 100644 incubator/qbittorrent/5.1.0/app-readme.md create mode 100644 incubator/qbittorrent/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/qbittorrent/5.1.0/ix_values.yaml create mode 100644 incubator/qbittorrent/5.1.0/questions.yaml create mode 100644 incubator/qbittorrent/5.1.0/templates/_configmap.tpl create mode 100644 incubator/qbittorrent/5.1.0/templates/common.yaml create mode 100644 incubator/qbittorrent/5.1.0/test_values.yaml create mode 100644 incubator/qbittorrent/5.1.0/values.yaml create mode 100644 incubator/readarr/5.1.0/CONFIG.md create mode 100644 incubator/readarr/5.1.0/Chart.lock create mode 100644 incubator/readarr/5.1.0/Chart.yaml create mode 100644 incubator/readarr/5.1.0/README.md create mode 100644 incubator/readarr/5.1.0/app-readme.md create mode 100644 incubator/readarr/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/readarr/5.1.0/ix_values.yaml create mode 100644 incubator/readarr/5.1.0/questions.yaml create mode 100644 incubator/readarr/5.1.0/templates/common.yaml create mode 100644 incubator/readarr/5.1.0/test_values.yaml create mode 100644 incubator/readarr/5.1.0/values.yaml create mode 100644 incubator/sabnzbd/5.1.0/CONFIG.md create mode 100644 incubator/sabnzbd/5.1.0/Chart.lock create mode 100644 incubator/sabnzbd/5.1.0/Chart.yaml create mode 100644 incubator/sabnzbd/5.1.0/README.md create mode 100644 incubator/sabnzbd/5.1.0/app-readme.md create mode 100644 incubator/sabnzbd/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/sabnzbd/5.1.0/ix_values.yaml create mode 100644 incubator/sabnzbd/5.1.0/questions.yaml create mode 100644 incubator/sabnzbd/5.1.0/templates/common.yaml create mode 100644 incubator/sabnzbd/5.1.0/test_values.yaml create mode 100644 incubator/sabnzbd/5.1.0/values.yaml create mode 100644 incubator/tvheadend/6.1.0/CONFIG.md create mode 100644 incubator/tvheadend/6.1.0/Chart.lock create mode 100644 incubator/tvheadend/6.1.0/Chart.yaml create mode 100644 incubator/tvheadend/6.1.0/README.md create mode 100644 incubator/tvheadend/6.1.0/app-readme.md create mode 100644 incubator/tvheadend/6.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/tvheadend/6.1.0/ix_values.yaml create mode 100644 incubator/tvheadend/6.1.0/questions.yaml create mode 100644 incubator/tvheadend/6.1.0/templates/common.yaml create mode 100644 incubator/tvheadend/6.1.0/test_values.yaml create mode 100644 incubator/tvheadend/6.1.0/values.yaml create mode 100644 incubator/unifi/5.1.0/CONFIG.md create mode 100644 incubator/unifi/5.1.0/Chart.lock create mode 100644 incubator/unifi/5.1.0/Chart.yaml create mode 100644 incubator/unifi/5.1.0/README.md create mode 100644 incubator/unifi/5.1.0/app-readme.md create mode 100644 incubator/unifi/5.1.0/charts/common-5.1.1.tgz create mode 100644 incubator/unifi/5.1.0/ix_values.yaml create mode 100644 incubator/unifi/5.1.0/questions.yaml create mode 100644 incubator/unifi/5.1.0/templates/common.yaml create mode 100644 incubator/unifi/5.1.0/test_values.yaml create mode 100644 incubator/unifi/5.1.0/values.yaml create mode 100644 stable/collabora-online/5.1.0/CONFIG.md create mode 100644 stable/collabora-online/5.1.0/Chart.lock create mode 100644 stable/collabora-online/5.1.0/Chart.yaml create mode 100644 stable/collabora-online/5.1.0/README.md create mode 100644 stable/collabora-online/5.1.0/app-readme.md create mode 100644 stable/collabora-online/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/collabora-online/5.1.0/ix_values.yaml create mode 100644 stable/collabora-online/5.1.0/questions.yaml create mode 100644 stable/collabora-online/5.1.0/templates/common.yaml create mode 100644 stable/collabora-online/5.1.0/test_values.yaml create mode 100644 stable/collabora-online/5.1.0/values.yaml create mode 100644 stable/deepstack-cpu/3.1.0/CONFIG.md create mode 100644 stable/deepstack-cpu/3.1.0/Chart.lock create mode 100644 stable/deepstack-cpu/3.1.0/Chart.yaml create mode 100644 stable/deepstack-cpu/3.1.0/README.md create mode 100644 stable/deepstack-cpu/3.1.0/app-readme.md create mode 100644 stable/deepstack-cpu/3.1.0/charts/common-5.1.1.tgz create mode 100644 stable/deepstack-cpu/3.1.0/ix_values.yaml create mode 100644 stable/deepstack-cpu/3.1.0/questions.yaml create mode 100644 stable/deepstack-cpu/3.1.0/templates/common.yaml create mode 100644 stable/deepstack-cpu/3.1.0/test_values.yaml create mode 100644 stable/deepstack-cpu/3.1.0/values.yaml create mode 100644 stable/emby/5.1.0/CONFIG.md create mode 100644 stable/emby/5.1.0/Chart.lock create mode 100644 stable/emby/5.1.0/Chart.yaml create mode 100644 stable/emby/5.1.0/README.md create mode 100644 stable/emby/5.1.0/app-readme.md create mode 100644 stable/emby/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/emby/5.1.0/ix_values.yaml create mode 100644 stable/emby/5.1.0/questions.yaml create mode 100644 stable/emby/5.1.0/templates/common.yaml create mode 100644 stable/emby/5.1.0/test_values.yaml create mode 100644 stable/emby/5.1.0/values.yaml create mode 100644 stable/esphome/5.1.0/CONFIG.md create mode 100644 stable/esphome/5.1.0/Chart.lock create mode 100644 stable/esphome/5.1.0/Chart.yaml create mode 100644 stable/esphome/5.1.0/README.md create mode 100644 stable/esphome/5.1.0/app-readme.md create mode 100644 stable/esphome/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/esphome/5.1.0/ix_values.yaml create mode 100644 stable/esphome/5.1.0/questions.yaml create mode 100644 stable/esphome/5.1.0/templates/common.yaml create mode 100644 stable/esphome/5.1.0/test_values.yaml create mode 100644 stable/esphome/5.1.0/values.yaml create mode 100644 stable/handbrake/5.1.0/CONFIG.md create mode 100644 stable/handbrake/5.1.0/Chart.lock create mode 100644 stable/handbrake/5.1.0/Chart.yaml create mode 100644 stable/handbrake/5.1.0/README.md create mode 100644 stable/handbrake/5.1.0/app-readme.md create mode 100644 stable/handbrake/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/handbrake/5.1.0/ix_values.yaml create mode 100644 stable/handbrake/5.1.0/questions.yaml create mode 100644 stable/handbrake/5.1.0/templates/common.yaml create mode 100644 stable/handbrake/5.1.0/test_values.yaml create mode 100644 stable/handbrake/5.1.0/values.yaml create mode 100644 stable/home-assistant/5.1.0/CONFIG.md create mode 100644 stable/home-assistant/5.1.0/Chart.lock create mode 100644 stable/home-assistant/5.1.0/Chart.yaml create mode 100644 stable/home-assistant/5.1.0/README.md create mode 100644 stable/home-assistant/5.1.0/app-readme.md create mode 100644 stable/home-assistant/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/home-assistant/5.1.0/ix_values.yaml create mode 100644 stable/home-assistant/5.1.0/questions.yaml create mode 100644 stable/home-assistant/5.1.0/templates/common.yaml create mode 100644 stable/home-assistant/5.1.0/templates/secret.yaml create mode 100644 stable/home-assistant/5.1.0/test_values.yaml create mode 100644 stable/home-assistant/5.1.0/values.yaml create mode 100644 stable/jackett/5.1.0/CONFIG.md create mode 100644 stable/jackett/5.1.0/Chart.lock create mode 100644 stable/jackett/5.1.0/Chart.yaml create mode 100644 stable/jackett/5.1.0/README.md create mode 100644 stable/jackett/5.1.0/app-readme.md create mode 100644 stable/jackett/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/jackett/5.1.0/ix_values.yaml create mode 100644 stable/jackett/5.1.0/questions.yaml create mode 100644 stable/jackett/5.1.0/templates/common.yaml create mode 100644 stable/jackett/5.1.0/test_values.yaml create mode 100644 stable/jackett/5.1.0/values.yaml create mode 100644 stable/jellyfin/5.1.0/CONFIG.md create mode 100644 stable/jellyfin/5.1.0/Chart.lock create mode 100644 stable/jellyfin/5.1.0/Chart.yaml create mode 100644 stable/jellyfin/5.1.0/README.md create mode 100644 stable/jellyfin/5.1.0/app-readme.md create mode 100644 stable/jellyfin/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/jellyfin/5.1.0/ix_values.yaml create mode 100644 stable/jellyfin/5.1.0/questions.yaml create mode 100644 stable/jellyfin/5.1.0/templates/common.yaml create mode 100644 stable/jellyfin/5.1.0/test_values.yaml create mode 100644 stable/jellyfin/5.1.0/values.yaml create mode 100644 stable/kms/5.1.0/CONFIG.md create mode 100644 stable/kms/5.1.0/Chart.lock create mode 100644 stable/kms/5.1.0/Chart.yaml create mode 100644 stable/kms/5.1.0/README.md create mode 100644 stable/kms/5.1.0/app-readme.md create mode 100644 stable/kms/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/kms/5.1.0/ix_values.yaml create mode 100644 stable/kms/5.1.0/questions.yaml create mode 100644 stable/kms/5.1.0/templates/common.yaml create mode 100644 stable/kms/5.1.0/test_values.yaml create mode 100644 stable/kms/5.1.0/values.yaml create mode 100644 stable/lidarr/5.1.0/CONFIG.md create mode 100644 stable/lidarr/5.1.0/Chart.lock create mode 100644 stable/lidarr/5.1.0/Chart.yaml create mode 100644 stable/lidarr/5.1.0/README.md create mode 100644 stable/lidarr/5.1.0/app-readme.md create mode 100644 stable/lidarr/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/lidarr/5.1.0/ix_values.yaml create mode 100644 stable/lidarr/5.1.0/questions.yaml create mode 100644 stable/lidarr/5.1.0/templates/common.yaml create mode 100644 stable/lidarr/5.1.0/test_values.yaml create mode 100644 stable/lidarr/5.1.0/values.yaml create mode 100644 stable/ombi/5.1.0/CONFIG.md create mode 100644 stable/ombi/5.1.0/Chart.lock create mode 100644 stable/ombi/5.1.0/Chart.yaml create mode 100644 stable/ombi/5.1.0/README.md create mode 100644 stable/ombi/5.1.0/app-readme.md create mode 100644 stable/ombi/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/ombi/5.1.0/ix_values.yaml create mode 100644 stable/ombi/5.1.0/questions.yaml create mode 100644 stable/ombi/5.1.0/templates/common.yaml create mode 100644 stable/ombi/5.1.0/test_values.yaml create mode 100644 stable/ombi/5.1.0/values.yaml create mode 100644 stable/plex/4.1.0/CONFIG.md create mode 100644 stable/plex/4.1.0/Chart.lock create mode 100644 stable/plex/4.1.0/Chart.yaml create mode 100644 stable/plex/4.1.0/README.md create mode 100644 stable/plex/4.1.0/app-readme.md create mode 100644 stable/plex/4.1.0/charts/common-5.1.1.tgz create mode 100644 stable/plex/4.1.0/ix_values.yaml create mode 100644 stable/plex/4.1.0/questions.yaml create mode 100644 stable/plex/4.1.0/templates/common.yaml create mode 100644 stable/plex/4.1.0/test_values.yaml create mode 100644 stable/plex/4.1.0/values.yaml create mode 100644 stable/radarr/5.1.0/CONFIG.md create mode 100644 stable/radarr/5.1.0/Chart.lock create mode 100644 stable/radarr/5.1.0/Chart.yaml create mode 100644 stable/radarr/5.1.0/README.md create mode 100644 stable/radarr/5.1.0/app-readme.md create mode 100644 stable/radarr/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/radarr/5.1.0/ix_values.yaml create mode 100644 stable/radarr/5.1.0/questions.yaml create mode 100644 stable/radarr/5.1.0/templates/common.yaml create mode 100644 stable/radarr/5.1.0/test_values.yaml create mode 100644 stable/radarr/5.1.0/values.yaml create mode 100644 stable/sonarr/5.1.0/CONFIG.md create mode 100644 stable/sonarr/5.1.0/Chart.lock create mode 100644 stable/sonarr/5.1.0/Chart.yaml create mode 100644 stable/sonarr/5.1.0/README.md create mode 100644 stable/sonarr/5.1.0/app-readme.md create mode 100644 stable/sonarr/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/sonarr/5.1.0/ix_values.yaml create mode 100644 stable/sonarr/5.1.0/questions.yaml create mode 100644 stable/sonarr/5.1.0/templates/common.yaml create mode 100644 stable/sonarr/5.1.0/test_values.yaml create mode 100644 stable/sonarr/5.1.0/values.yaml create mode 100644 stable/syncthing/5.2.0/CONFIG.md create mode 100644 stable/syncthing/5.2.0/Chart.lock create mode 100644 stable/syncthing/5.2.0/Chart.yaml create mode 100644 stable/syncthing/5.2.0/README.md create mode 100644 stable/syncthing/5.2.0/app-readme.md create mode 100644 stable/syncthing/5.2.0/charts/common-5.1.1.tgz create mode 100644 stable/syncthing/5.2.0/ix_values.yaml create mode 100644 stable/syncthing/5.2.0/questions.yaml create mode 100644 stable/syncthing/5.2.0/templates/common.yaml create mode 100644 stable/syncthing/5.2.0/test_values.yaml create mode 100644 stable/syncthing/5.2.0/values.yaml create mode 100644 stable/tautulli/5.1.0/CONFIG.md create mode 100644 stable/tautulli/5.1.0/Chart.lock create mode 100644 stable/tautulli/5.1.0/Chart.yaml create mode 100644 stable/tautulli/5.1.0/README.md create mode 100644 stable/tautulli/5.1.0/app-readme.md create mode 100644 stable/tautulli/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/tautulli/5.1.0/ix_values.yaml create mode 100644 stable/tautulli/5.1.0/questions.yaml create mode 100644 stable/tautulli/5.1.0/templates/common.yaml create mode 100644 stable/tautulli/5.1.0/test_values.yaml create mode 100644 stable/tautulli/5.1.0/values.yaml create mode 100644 stable/transmission/5.1.0/CONFIG.md create mode 100644 stable/transmission/5.1.0/Chart.lock create mode 100644 stable/transmission/5.1.0/Chart.yaml create mode 100644 stable/transmission/5.1.0/README.md create mode 100644 stable/transmission/5.1.0/app-readme.md create mode 100644 stable/transmission/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/transmission/5.1.0/ix_values.yaml create mode 100644 stable/transmission/5.1.0/questions.yaml create mode 100644 stable/transmission/5.1.0/templates/_configmap.tpl create mode 100644 stable/transmission/5.1.0/templates/common.yaml create mode 100644 stable/transmission/5.1.0/test_values.yaml create mode 100644 stable/transmission/5.1.0/values.yaml create mode 100644 stable/truecommand/5.1.0/CONFIG.md create mode 100644 stable/truecommand/5.1.0/Chart.lock create mode 100644 stable/truecommand/5.1.0/Chart.yaml create mode 100644 stable/truecommand/5.1.0/README.md create mode 100644 stable/truecommand/5.1.0/app-readme.md create mode 100644 stable/truecommand/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/truecommand/5.1.0/ix_values.yaml create mode 100644 stable/truecommand/5.1.0/questions.yaml create mode 100644 stable/truecommand/5.1.0/templates/common.yaml create mode 100644 stable/truecommand/5.1.0/test_values.yaml create mode 100644 stable/truecommand/5.1.0/values.yaml create mode 100644 stable/vaultwarden/2.1.0/CONFIG.md create mode 100644 stable/vaultwarden/2.1.0/Chart.lock create mode 100644 stable/vaultwarden/2.1.0/Chart.yaml create mode 100644 stable/vaultwarden/2.1.0/README.md create mode 100644 stable/vaultwarden/2.1.0/app-readme.md create mode 100644 stable/vaultwarden/2.1.0/charts/common-5.1.1.tgz create mode 100644 stable/vaultwarden/2.1.0/charts/postgresql-10.4.7.tgz create mode 100644 stable/vaultwarden/2.1.0/ix_values.yaml create mode 100644 stable/vaultwarden/2.1.0/questions.yaml create mode 100644 stable/vaultwarden/2.1.0/templates/_configmap.tpl create mode 100644 stable/vaultwarden/2.1.0/templates/_secrets.tpl create mode 100644 stable/vaultwarden/2.1.0/templates/_validate.tpl create mode 100644 stable/vaultwarden/2.1.0/templates/common.yaml create mode 100644 stable/vaultwarden/2.1.0/test_values.yaml create mode 100644 stable/vaultwarden/2.1.0/values.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/CONFIG.md create mode 100644 stable/zwavejs2mqtt/5.1.0/Chart.lock create mode 100644 stable/zwavejs2mqtt/5.1.0/Chart.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/README.md create mode 100644 stable/zwavejs2mqtt/5.1.0/app-readme.md create mode 100644 stable/zwavejs2mqtt/5.1.0/charts/common-5.1.1.tgz create mode 100644 stable/zwavejs2mqtt/5.1.0/ix_values.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/questions.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/templates/common.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/test_values.yaml create mode 100644 stable/zwavejs2mqtt/5.1.0/values.yaml diff --git a/deprecated/nzbhydra/5.1.0/CONFIG.md b/deprecated/nzbhydra/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/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/5.1.0/Chart.lock b/deprecated/nzbhydra/5.1.0/Chart.lock new file mode 100644 index 00000000000..cd90a9f3bba --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:05.190768423Z" diff --git a/deprecated/nzbhydra/5.1.0/Chart.yaml b/deprecated/nzbhydra/5.1.0/Chart.yaml new file mode 100644 index 00000000000..d268e6d62ba --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: true +description: Usenet meta search +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/nzbhydra +- https://github.com/k8s-at-home/charts/tree/master/charts/nzbhydra +- https://hub.docker.com/r/linuxserver/nzbhydra2 +- https://github.com/theotherp/nzbhydra2 +type: application +upstream_version: 5.3.1 +version: 5.1.0 diff --git a/deprecated/nzbhydra/5.1.0/README.md b/deprecated/nzbhydra/5.1.0/README.md new file mode 100644 index 00000000000..a3cd66447e7 --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/deprecated/nzbhydra/5.1.0/app-readme.md new file mode 100644 index 00000000000..2012c83a622 --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Usenet meta search +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/deprecated/nzbhydra/5.1.0/charts/common-5.1.1.tgz b/deprecated/nzbhydra/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/deprecated/nzbhydra/5.1.0/ix_values.yaml b/deprecated/nzbhydra/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..2407c8ef66a --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/deprecated/nzbhydra/5.1.0/questions.yaml new file mode 100644 index 00000000000..3323be86557 --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/deprecated/nzbhydra/5.1.0/templates/common.yaml b/deprecated/nzbhydra/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/deprecated/nzbhydra/5.1.0/test_values.yaml b/deprecated/nzbhydra/5.1.0/test_values.yaml new file mode 100644 index 00000000000..6f9576b7ffe --- /dev/null +++ b/deprecated/nzbhydra/5.1.0/test_values.yaml @@ -0,0 +1,66 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/deprecated/nzbhydra/5.1.0/values.yaml b/deprecated/nzbhydra/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/appdaemon/2.1.0/CONFIG.md b/incubator/appdaemon/2.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/appdaemon/2.1.0/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/2.1.0/Chart.lock b/incubator/appdaemon/2.1.0/Chart.lock new file mode 100644 index 00000000000..8177f2620b0 --- /dev/null +++ b/incubator/appdaemon/2.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:41.099495303Z" diff --git a/incubator/appdaemon/2.1.0/Chart.yaml b/incubator/appdaemon/2.1.0/Chart.yaml new file mode 100644 index 00000000000..b094c18f8f2 --- /dev/null +++ b/incubator/appdaemon/2.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: v4.0.8 +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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: 2.1.0 diff --git a/incubator/appdaemon/2.1.0/README.md b/incubator/appdaemon/2.1.0/README.md new file mode 100644 index 00000000000..ac652fbf62b --- /dev/null +++ b/incubator/appdaemon/2.1.0/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-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 | 3.5.5 | + +## 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/2.1.0/app-readme.md b/incubator/appdaemon/2.1.0/app-readme.md new file mode 100644 index 00000000000..083a4a25f67 --- /dev/null +++ b/incubator/appdaemon/2.1.0/app-readme.md @@ -0,0 +1,3 @@ +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution diff --git a/incubator/appdaemon/2.1.0/charts/common-5.1.1.tgz b/incubator/appdaemon/2.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/appdaemon/2.1.0/ix_values.yaml b/incubator/appdaemon/2.1.0/ix_values.yaml new file mode 100644 index 00000000000..ef02d27c01d --- /dev/null +++ b/incubator/appdaemon/2.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: acockburn/appdaemon + pullPolicy: IfNotPresent + tag: "4.0.8" + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/appdaemon/2.1.0/questions.yaml b/incubator/appdaemon/2.1.0/questions.yaml new file mode 100644 index 00000000000..87aae1d8aba --- /dev/null +++ b/incubator/appdaemon/2.1.0/questions.yaml @@ -0,0 +1,368 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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" + # Docker specific env + - variable: env + group: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/appdaemon/2.1.0/templates/common.yaml b/incubator/appdaemon/2.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/appdaemon/2.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/appdaemon/2.1.0/test_values.yaml b/incubator/appdaemon/2.1.0/test_values.yaml new file mode 100644 index 00000000000..1dc6672129d --- /dev/null +++ b/incubator/appdaemon/2.1.0/test_values.yaml @@ -0,0 +1,42 @@ +image: + repository: ghcr.io/truecharts/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 + emptyDir: + enabled: true diff --git a/incubator/appdaemon/2.1.0/values.yaml b/incubator/appdaemon/2.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/bazarr/5.1.0/CONFIG.md b/incubator/bazarr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/bazarr/5.1.0/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/5.1.0/Chart.lock b/incubator/bazarr/5.1.0/Chart.lock new file mode 100644 index 00000000000..c3072fe4647 --- /dev/null +++ b/incubator/bazarr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:41.98736973Z" diff --git a/incubator/bazarr/5.1.0/Chart.yaml b/incubator/bazarr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..b101bba397c --- /dev/null +++ b/incubator/bazarr/5.1.0/Chart.yaml @@ -0,0 +1,35 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/incubator/bazarr +- https://github.com/k8s-at-home/charts/tree/master/charts/bazarr +- https://github.com/Bazarr/Bazarr +- https://hub.docker.com/r/linuxserver/bazarr +type: application +upstream_version: 5.2.1 +version: 5.1.0 diff --git a/incubator/bazarr/5.1.0/README.md b/incubator/bazarr/5.1.0/README.md new file mode 100644 index 00000000000..97a3c1848d7 --- /dev/null +++ b/incubator/bazarr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/bazarr/5.1.0/app-readme.md new file mode 100644 index 00000000000..d983e4cb852 --- /dev/null +++ b/incubator/bazarr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Bazarr is a companion application to Bazarr and Radarr. It manages and diff --git a/incubator/bazarr/5.1.0/charts/common-5.1.1.tgz b/incubator/bazarr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/bazarr/5.1.0/ix_values.yaml b/incubator/bazarr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..bef5c9e5e49 --- /dev/null +++ b/incubator/bazarr/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/incubator/bazarr/5.1.0/questions.yaml new file mode 100644 index 00000000000..fbd0f7093ed --- /dev/null +++ b/incubator/bazarr/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/bazarr/5.1.0/templates/common.yaml b/incubator/bazarr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/bazarr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/bazarr/5.1.0/test_values.yaml b/incubator/bazarr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..b402a888cea --- /dev/null +++ b/incubator/bazarr/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/bazarr/5.1.0/values.yaml b/incubator/bazarr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/calibre-web/5.1.0/CONFIG.md b/incubator/calibre-web/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/calibre-web/5.1.0/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/5.1.0/Chart.lock b/incubator/calibre-web/5.1.0/Chart.lock new file mode 100644 index 00000000000..d352c0ec4a1 --- /dev/null +++ b/incubator/calibre-web/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:42.811242444Z" diff --git a/incubator/calibre-web/5.1.0/Chart.yaml b/incubator/calibre-web/5.1.0/Chart.yaml new file mode 100644 index 00000000000..2b0491d0a74 --- /dev/null +++ b/incubator/calibre-web/5.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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://github.com/truecharts/apps/tree/master/incubator/calibre-web +- https://github.com/k8s-at-home/charts/tree/master/charts/calibre-web +- https://hub.docker.com/r/linuxserver/calibre-web/ +- https://github.com/janeczku/calibre-web +type: application +upstream_version: 4.3.1 +version: 5.1.0 diff --git a/incubator/calibre-web/5.1.0/README.md b/incubator/calibre-web/5.1.0/README.md new file mode 100644 index 00000000000..f0442d6fe37 --- /dev/null +++ b/incubator/calibre-web/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/calibre-web/5.1.0/app-readme.md new file mode 100644 index 00000000000..e5b39d2720c --- /dev/null +++ b/incubator/calibre-web/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre-Web is a web app providing a clean interface for browsing, reading diff --git a/incubator/calibre-web/5.1.0/charts/common-5.1.1.tgz b/incubator/calibre-web/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/calibre-web/5.1.0/ix_values.yaml b/incubator/calibre-web/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..1f6e24d1545 --- /dev/null +++ b/incubator/calibre-web/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.12 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/calibre-web/5.1.0/questions.yaml b/incubator/calibre-web/5.1.0/questions.yaml new file mode 100644 index 00000000000..0af79323557 --- /dev/null +++ b/incubator/calibre-web/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/calibre-web/5.1.0/templates/common.yaml b/incubator/calibre-web/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/calibre-web/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/calibre-web/5.1.0/test_values.yaml b/incubator/calibre-web/5.1.0/test_values.yaml new file mode 100644 index 00000000000..526ade9ea0e --- /dev/null +++ b/incubator/calibre-web/5.1.0/test_values.yaml @@ -0,0 +1,32 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/calibre-web/5.1.0/values.yaml b/incubator/calibre-web/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/deluge/5.1.0/CONFIG.md b/incubator/deluge/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/deluge/5.1.0/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/5.1.0/Chart.lock b/incubator/deluge/5.1.0/Chart.lock new file mode 100644 index 00000000000..1990528dff1 --- /dev/null +++ b/incubator/deluge/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:43.62636375Z" diff --git a/incubator/deluge/5.1.0/Chart.yaml b/incubator/deluge/5.1.0/Chart.yaml new file mode 100644 index 00000000000..d1fd2673e0d --- /dev/null +++ b/incubator/deluge/5.1.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Deluge App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/deluge +- https://github.com/deluge-torrent/deluge +type: application +version: 5.1.0 diff --git a/incubator/deluge/5.1.0/README.md b/incubator/deluge/5.1.0/README.md new file mode 100644 index 00000000000..bfcbb4e5a17 --- /dev/null +++ b/incubator/deluge/5.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/deluge/5.1.0/app-readme.md new file mode 100644 index 00000000000..0bce0f81e82 --- /dev/null +++ b/incubator/deluge/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Deluge App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Deluge App for TrueNAS SCALE diff --git a/incubator/deluge/5.1.0/charts/common-5.1.1.tgz b/incubator/deluge/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/deluge/5.1.0/ix_values.yaml b/incubator/deluge/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..14051dceb23 --- /dev/null +++ b/incubator/deluge/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/deluge/5.1.0/questions.yaml b/incubator/deluge/5.1.0/questions.yaml new file mode 100644 index 00000000000..eb77f60eccc --- /dev/null +++ b/incubator/deluge/5.1.0/questions.yaml @@ -0,0 +1,503 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +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: "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: "Configuration" + schema: + type: list + default: [] + 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" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/deluge/5.1.0/templates/common.yaml b/incubator/deluge/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/deluge/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/deluge/5.1.0/test_values.yaml b/incubator/deluge/5.1.0/test_values.yaml new file mode 100644 index 00000000000..82af7c282cd --- /dev/null +++ b/incubator/deluge/5.1.0/test_values.yaml @@ -0,0 +1,37 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/deluge/5.1.0/values.yaml b/incubator/deluge/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/fireflyiii/3.1.0/CONFIG.md b/incubator/fireflyiii/3.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/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/3.1.0/Chart.lock b/incubator/fireflyiii/3.1.0/Chart.lock new file mode 100644 index 00000000000..4f088b879eb --- /dev/null +++ b/incubator/fireflyiii/3.1.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.7 +digest: sha256:e2ddf1eb47883e84f1eb77398e69b897fed2bcf0e1d0b4cfb7706c526d127af7 +generated: "2021-05-28T21:51:47.377799862Z" diff --git a/incubator/fireflyiii/3.1.0/Chart.yaml b/incubator/fireflyiii/3.1.0/Chart.yaml new file mode 100644 index 00000000000..07fc122c1b4 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.7 +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: 3.1.0 diff --git a/incubator/fireflyiii/3.1.0/README.md b/incubator/fireflyiii/3.1.0/README.md new file mode 100644 index 00000000000..8e87f22a2b4 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-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.2 | +| https://truecharts.org/ | common | 3.5.5 | + +## 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/3.1.0/app-readme.md b/incubator/fireflyiii/3.1.0/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/app-readme.md @@ -0,0 +1,3 @@ +A free and open source personal finance manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A free and open source personal finance manager diff --git a/incubator/fireflyiii/3.1.0/charts/common-5.1.1.tgz b/incubator/fireflyiii/3.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/3.1.0/charts/postgresql-10.4.7.tgz b/incubator/fireflyiii/3.1.0/charts/postgresql-10.4.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0b4f01d9da3ebb45062df41ba3db847ac6a86a81 GIT binary patch literal 48732 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 Y+uGK)_K(`H00030|3e1=qyV-B09e9RcK`qY literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/3.1.0/ix_values.yaml b/incubator/fireflyiii/3.1.0/ix_values.yaml new file mode 100644 index 00000000000..35d4ab31b10 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/ix_values.yaml @@ -0,0 +1,41 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jc5x/firefly-iii + pullPolicy: IfNotPresent + tag: version-5.5.11 + +env: + DB_USERNAME: fireflyiii + DB_DATABASE: fireflyiii + DB_CONNECTION: pgsql + DB_PORT: 5432 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: fireflyiii + postgresqlDatabase: fireflyiii + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/fireflyiii/3.1.0/questions.yaml b/incubator/fireflyiii/3.1.0/questions.yaml new file mode 100644 index 00000000000..3e76f12d4e6 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/questions.yaml @@ -0,0 +1,539 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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" + # Docker specific env + - variable: env + group: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + required: true + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: envList + label: "Image environment" + group: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36048 + required: true + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: nameOverride + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/incubator/fireflyiii/3.1.0/templates/common.yaml b/incubator/fireflyiii/3.1.0/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/3.1.0/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/fireflyiii/3.1.0/templates/secrets.yaml b/incubator/fireflyiii/3.1.0/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/3.1.0/templates/secrets.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} + postgresql_host: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque diff --git a/incubator/fireflyiii/3.1.0/test_values.yaml b/incubator/fireflyiii/3.1.0/test_values.yaml new file mode 100644 index 00000000000..85e30d1b80a --- /dev/null +++ b/incubator/fireflyiii/3.1.0/test_values.yaml @@ -0,0 +1,83 @@ +# Default values for fireflyIII. + +image: + repository: jc5x/firefly-iii + pullPolicy: IfNotPresent + tag: version-5.5.11 + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +env: + DB_USERNAME: firefly + DB_DATABASE: firefly + DB_CONNECTION: pgsql + DB_PORT: 5432 + APP_Key: AGcfkCUS233ZWmBXztYbdyCs2u7kkz55 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: url + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html/storage/upload" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + db: + nameOverride: "db" + enabled: true + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + dbbackup: + enabled: true + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: firefly + postgresqlDatabase: firefly + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/incubator/fireflyiii/3.1.0/values.yaml b/incubator/fireflyiii/3.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/freshrss/5.1.0/CONFIG.md b/incubator/freshrss/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/freshrss/5.1.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/freshrss/5.1.0/Chart.lock b/incubator/freshrss/5.1.0/Chart.lock new file mode 100644 index 00000000000..4767faa84af --- /dev/null +++ b/incubator/freshrss/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:51.576326859Z" diff --git a/incubator/freshrss/5.1.0/Chart.yaml b/incubator/freshrss/5.1.0/Chart.yaml new file mode 100644 index 00000000000..3509ac464be --- /dev/null +++ b/incubator/freshrss/5.1.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: FreshRSS is a self-hosted RSS feed aggregator +home: https://github.com/truecharts/apps/tree/master/incubator/freshrss +icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true +keywords: +- freshrss +- rss +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: freshrss +sources: +- https://github.com/truecharts/apps/tree/master/incubator/freshrss +- https://github.com/k8s-at-home/charts/tree/master/charts/freshrss +- https://github.com/FreshRSS/FreshRSS +- https://hub.docker.com/r/linuxserver/freshrss +type: application +upstream_version: 2.3.1 +version: 5.1.0 diff --git a/incubator/freshrss/5.1.0/README.md b/incubator/freshrss/5.1.0/README.md new file mode 100644 index 00000000000..b8d65a6530c --- /dev/null +++ b/incubator/freshrss/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/freshrss/5.1.0/app-readme.md new file mode 100644 index 00000000000..7d8a844b9cc --- /dev/null +++ b/incubator/freshrss/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +FreshRSS is a self-hosted RSS feed aggregator +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FreshRSS is a self-hosted RSS feed aggregator diff --git a/incubator/freshrss/5.1.0/charts/common-5.1.1.tgz b/incubator/freshrss/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 zcmV)xK$E{8iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT3$Fb>2K9e|Jk&`|% zovs)rAqh1_a!5$F>g4_GzlAFS5Fjbpanh-{x*CfFHa0eZeZ$5^m`6$Ix0 zv3>8h?9Tl`9+=^GC@*lD48VN11G7y1Owt5(B2BuUm(U;Im{Pel;+?f zpCLAViq0gRq5+r?k`;q~e~igwb`^x_v`_LG3R#&x%(9|Sa)kO*SP+!=`3&sfkhUP} z-rU>-<1`(|h}FkaI7UVPDu+pglX0Jaiqmo0-?`O(y${nk&EM}n-@W~QH_C!68F#MH z;wH_bV$kV<5|2(#cB02#bb3G_ay`33iU!~O_u)>ka}aFzw!i62Ax;Ry3CbBTG=(@G z0Gy1{|0w|nX+G`%kU&ZbjWz(x@^}EOf(pv@ZzzubrwAwMjG&|!qpK^NjDsXruwLg0 zhQ-eJ-|u-~@nWJEMLNqv#PD2lJOo+fxR6DL29j2txg^YfuoLWbKKJZhKlgnE|DVHn zhKf%l0P6Yw-rn}kp3VQC@9eGl|6@GkIK6`LpaZ}Y(CdLAA^;{JoufR*5n>FUOc2O& zG{Uza9kE}dSsYVtBY4wmQQCk)%b|qe9I-MWLL;1DDm^+t0Vr#B!Zaay8pkNFfGIx# z%8df{{T+;P1X3oM3IKE3LKdfsDN4u|h#;D#Nr4DRb5IaS&}bGHh;#tp46Q6|c0EZ6 z>7_YQn$a zBT9kfXpX6*1ruD5G+%%iPcdPm&OiLb-@l}<2Vk$$VLFlm#eUH#k`|bjdEQ?M~OPa|+NBWV%B80DQO;D2Ph zy&m|l2p4o}ME~7^q6|(Lkx;_k55Ne<1!Ba@$A}Cl`O29iSmYEZZ`4u+PuOam!dvs* z_O^m@eE#+=!7=`wp?{9@5G90;EiL$6S?(2@rum|_Xs1B=9Ea#A4AWUcO3s?05RWh_ zz|91a3CaNkq9}m8EGQ=FERMhx0-O^>9U%Ua-ImZaS_6^-7)A6SIv5sA2d|VcE+#@w z2oYmrLsBp+1jjiYfg~lMU=tt`NC8|hg?I}<4hR=uj1ok-Mg(RBPR54p0t8L77!sru z>~2@glD7qCJG9X(&1SR|BT$$l0&XywFi3*IEz%h%7(Ew3=Lz^L0`LYh#swKOE|AU& zDdH#z^F>C{x?0G2zQw!3NKOX?jVSY@OP%tnCycJi;wp_6903@Hs3;_zHT4aQaEyWu zM^?#^^P}PL=htse24K4AWw0oyNhG@a3gQHyWRCMRVGM5$b4=%V5r7LpBst@04~L6{ zz*{ML2c0M2XcJugV*uV>98&^p^43lU;G4TU5WGP#f&~iBDA7ND{HF5+9IGOoCxAUD zng5WdQ}r8wAfRoXY=WM&rT!s5vfj$(UeuIuw~vxJqstSjM2MbpqKa{%6Kj;GQ#D13 zEr4#}G@~Q&1pLhC4{{Dy&RVKcOw%o{_wd5BR~#m|!Ep?(5HHk&(G({XkBcl;Lv-=t z)%nY#ix=VP^dd-L4`z&8(IM|^bEPNeN)O#;X@PoK8uh3}oKJaK z+RJwoH8#AmuV=4MUc5g$di8>HBmhPj#nBrylE1~9b4Vrwwz`5OjS!_mrz7Wz5F%7U zjPUps%vgP1TiU|(OK%FZ9^=KdG+!8%qWrZg)&s}0f}~TB&6j(j1-{Ld4V z2nI?&ogs3Q=GR~fuMyRM5a)nYXG#jLAW*h+c^uCQg7P15UJ$xue&Tg6I~ourNmxTC zoE0*z*43+b0UjA`G0diEN@f?Aqh|~0XmH}K8bXBGaDAFkce^X11LY-v=!{wNP1vbLZM_m^LCH2U?|jT+_kwCAOL@-B3(!iKm|9708XUbr|K&#delNPYwLQl)&z_qEM|7Na!Vx;XM5*) zdWFv#;G*O6Z?_)ei2`Y+Sj$nk@Uj>0VnPt6D3Ceure)kv0FXFn)*oMkVm9btJ6y*RMgyDLhRGGA(rtfl)-Xse6xq{6lMQM*{S~acBrKueALRVjHd&__w2vDaZ!Q^8UQoZ$3w#V?@ z;`sA6CTScM5~A?KMk?h;5XZ9|T}*ORP<#hqzf;=a5yUG^2sIboGeUj-BvV2`{}gk=1pdI2!VUZj zn-xROU6!5`f-AXaM4L?o*%=ni&ugX8W};Uw~`000o}n80J!@e?t|NZzPz&D=|fZ z0rOkoq%xTcz^tNz|E=}GF{jJAuc-aNXEobkz*CB*^!segg#N+B^%h7{ZikaF2!c&* z-Z5_p)$OO;T?`YjBf)HGRtodSq)EIeKeJjezeZHIktlG`;ztE*!(qwIrrBtOZ#j5e z0ERaoI$Ripur@rb)m^&0$Rgtv_)di|PfpLZD(87Rr$}h}obC#}nc#5343aC#U;j13 zIf{6{9R4>yOtE`W15VqnC?VN;Ht$xJ<^*W20WqU_Ep1lQa;r~is$6PQx`~Cb#v~6Z zCwJonr}b1x#|&?n<%|{$Q(S|y;wN3Tm0W4{o~^J{F0gSmv2wbFZJrI2>ZnUDl&MJ00=IQ&r26^ z5`i%y<;ueeK{=gDZ{NIRU)ee>tzoVA9N__jZgol7P36L5Zg`=)sWfRMC!i zKZ)#?%80;=xv$&M?+JLrffu@ylSR*c&kE=OmE*e0`YU_##9DBZv>@eT(qT5mE6&IkXn42>$yJ>;yZ{dfOF97fg*jXAwNcM@_G< zv?SMpq0jS0l_R$O5u$P`&}J+sd-C?ROVJtrvz@XdxUc#HkmPKQr-0QZVH) z3KJx%N#)Gk0pOF0mE{|o!lS*q2;;4JB^a7!WO0J?K}TDEa&ji>bBVOn8Ud`5B2Ykt z8V1_wVIpx+wMmU#hmzTOjUK1RvomZjnj_}yPiK!X|VnHI8y~`~SEfP4z zAzj=&Sc=Y5T*$GG9M#w|?ET}1;pLX$>{1|5uA<$`Wh(}x3a?0~h)mc%Yg`}>a*XFF z0fHX9Q`P#jgsJf;0vj3{n=FixgHC2~OjRxe660*lkH?%2WDA6oG*v+_j^6M#br@VC z_jJ8Nxb%tl%@}78is94`Ya@TjgvOemwR4{N1rB=rpTe7CNRdSmTRymiHJ) z4TrZv*$mUo|Jfr95Wu10_17RrFk*C;wuz9 zVMEy~W>-uSm1rHYt;|=c9wh5tGEcZV%@y5LNB~Mj5yLZ0Bc#@MX>?r)Z>|_3K6Vkx z|Iz`=8$)6dmKgTbdgNI2C>8}@lTdYS0Nx-N{hVWhUMHcxI4`JC%h_H!QaH+9P(>3J zrRnIUO@V($1F-WWR-m~Cnlg#U=Nx68d=K*7F_>j(0xl<1R?iYTd@znLIjC!#saF~| zDJC#S(V!}ws|=8i4lNC?5V=7p0Wj7#N?pRh#b!NTe228)xGgC(cqJLU#b80EC&>^< zsvbz`YXhU-C>&N#YBx_*kU=+s1a?IbPNl0)tj<1hF>v{MiXuFlvamY-O6xc*L{KEp;5e$Gw4qaZnCHGAdMo2P(_*aEUJaUassC;uQ?9XITZN_F7E^GC@QB_Y$q` zves;=7ETb%dg5J=8QOx>XO#1DeoUzxrb$6^h!e7GAPkST!pXRY=3E)>!=k|BghenU zX@vSu=>K_JX};N^zlP$M77ud5gnt3xi23ps8crae#Vf?W8qgV9soB6li^Xq?QeFpM$Dzc7{pPGVS!Zeu?U+(3CS^k+eakqbEB^Z zrZCH>ZgP4qy#>6GjC*^KI4BrJJ%K=vq>R>xggu5sk1l8SXAg4B`9i}~-Q3&+#`})p;mHv{BPfM+0s8!qfscU& z9a%-4Pk91q+%j>2?0MM=bb6WXS98Ac$gGaHVZtah%@ZWX!?GbQx~}82vUYSb-^RAwiUl z!F<8Py>m28=i>OpERPr9Du;|bBZ6}9O-b%=xP8lqM@rr>n+?Fu_V!fDS9Ts?0Csl2 zdxhCMIkN3)eD0%Y>*q5(;{2zIbnm~1aU78BA&-GJod4h5d$w(z|9rNyzrQ~J`54dL zUH{vTH~~WPMV3;LUiw<-{Mfm>>+x+%1iHMj0LF0_^gdGYLcjLE1+P#(7D1J12xH-Y=Vj@F@CXxTh8f#4Ac-pMBPQ&@pe z(>W|RG_!^P%!^V1+cTO$|57bkCIaY|r_s8graiq_06u^OClQrw+p=Be$7*a$9%QX= zt1Pv8Q<~}11$C_%1#8;VK#U-c!A6$jgp5GF2og9@r+6KlgB$ho;I9&mH1hXj}%wL3Fe3UUCv@A*4`5G@Q z%CFc@J#56IYG_4*n>4?UQy4kXtV2?dV$tyMY@dMLdMmNt-C8ae2!VfeXO+WJ}IamasV3Otko&>;W!s`mf>{=vao{y)aE ziu^BA<20(kw*+M@B9aC#_Q1{uJK6)iQ9g!M7D7L+#Naa%^;1LzaxI z8H)A7r1n}FT`Qx1qNl3=$-wD{+XHIS|8{qt+xp-3+W+%757qy`8@7|f^}SPZ{6?yF z^2~@#am066d`g^hGaEZNKZ-nT;+R=^Itps=jopg{wz8@&pLHaca11Krnbd^x->*obgQKvxZ)+1{oF+qZ#H zRtILw=5Uf&8v&bwB(8`fJOY6_3!#4$-O`CcL2dx4hkZTovH$E28RG=Hgo+|gL~{@- zbSqJJ4S|AK3&TVE5ar~jG>%Z-)!K34Qz1XfiQ18QTA4+ybsz1A_Gd@12r|o)N}#uW zG>~(RCiYOy`f|lT6-)M1F$b#HQ_8Hs6?)6Dg>q~vNbp$^7!dW%t;&Av(;OAl78x9Z zZnq8Y)iy2c8LyeZ;%{hCR_sa=ZkD~1gJJbfAarQ4iN>CYLuRtRUay3CjTVKY3m?D; z=LK;9Hv#n4+jXD!sp@~(JbdK%pXbkZ?f9SF?X~{*C=c`hy~H6(3Ka1;9>&;@G8j$} z5MQ={JZ8EZZ1a;zUGb^A`F}f$bjFStQ+6?v$#X|IMgZN0C?hCLt;_=n4=) z=kEeQdc_WVKoF+cLdqCX3P8eDiU}c^xFQ5HEQ2&3_hVkF=)XKYesMN@(c2BSJDs;l zOu415#EMi5S1|%Hya8zr;5bK!1*GBx+~k}EwiXSUe z1=0k-1ayyv;B?ppe?1zW4!1f#pI-d*`t1ey`RL7?qqB?C7eny+4LE*%c5-@g`uc1L zUjG1&&i)Smc6xTQ1rTN#nbB>=MQRQ(B^`=_&JZD^ap{s3`65CP!(=>zV+6+O9OdlX zTUG{3P*KuhL8QX&uXHEqbS{VIC;zV}e)mqPRgFg&Cn_ID(mW(a{Z%b9GYaU3o^K!5q0-fSf5PB5!J%gplBb zrGAcaK|1M(#i@x)30PRT)L^v3rR;>NPj_JfUT(7{n}?023{E0+y9J(}zdP177QK00 zz^bE3gF}(()YfUv-yH|4RL?e0jL#0e$8P43AGmVc5Kfyy(@uC}q77yiZKSydoPXC( z>uuU5#Z!$Cnt4X4Rp}ekN-E_8uLf@Ec-59{U7n3q4K3QL^jb?@N4ss!DmL?;8c|O6 zsMP51_58mo|G6RYkSaif{NLW+w(tLXcJTb!TK+%ABliDTI^0}^^aw64cJur^Q5v0& z{W`T(#{qwyZ92YN@;Zb6nxRg`2`<7MKYr{``JIeU1bQA9_^!3E{w=)BuJzAzr#+hg zclX(jz5e&N_t*FTJ<3y2zht_;T7|2QBZ#=yT-nn9E0e@%dXs!*DMfPfdK^9C zv!-B3I4=LMo;kr#F09*4m|LaJM{G3P-bXAu)7D39_O8)Kyqb$x4Y1i($>}+CT7J0sc`s24oD64N|SZ|M_EtzKUyUHeEvt( zgSGpy?c7W-Dh8 z6v*c=3yjlxl_bbc*RWW}ps!=l%NTScboxGl=yu44@H-hy*A2SYI=$L0q@``o%_+x~R1K`Y#rzVNDqdO0Y?g4Vu zm8kV9W2VUq3WyDSNgBN?dJ;S<%lO@0so|)lUzU~`IoWr*?&rrBfCWX$7B~5yS{3jC z{A-r#hebe{`$}(J&oNa#BHP};jaq?!uOfB+?%0VGE9}5Vde&GOJ*lo%#!ivT*V>3N zq;9WUtxVZox67s|PYNQ(#b}|#rZSo9A}qf^^RH_E2}f=JeR)gzc^Z{>q_1ETHtqlH zJ>NI&zuldK=j;8SM|o=1Z)hpslk(#HER6tElftitmlvS1T#y=fxr`brTJD*FbT~f)7ej)@jWEOmXtYrGx8Gv@#l~9RUE|HUlWj zXaM#E07P;e>ST6LI*$4A`P;Vy$M|=q1)ZZjLYJWD7*Ai zK(rbP_?4s;xK=nBFIKi9V%6qi94(+KitbLH9`?^H$E?D|kg)ATN2L&E@CwJ6;BtNh zvVzB8bmcmAfhp?MwhrVhKRBf`zsOY5ncY$4oYwkGR;%9n zUS4H-cUSJV@@q}I960^#0$afhu&anr64^JDHX-4?G*#!hR&2V_33hj>{T7J3y?J#; z-b!6ReAH{Ea_aKQJTx6+2TS*rW7_e% z|KL0O1cY)iC3D-@W3>)JgvX$J{`T~wD_*&(+&PX^8vycIa#Xx6SOy>iN|r`L6wY!? z7RPBq(5-bGVw|V5%!52trE5CCtI8hy$a=uvweEreVpRM{e^#J0b-@}`^XQH11Pi~y zQM2tm)55eVSS__{D1H{mn9r3XRtYz!rP8s%-+TZh9kPR?U{gY>s8`nM9t%efS#+iO z?7hQyyn-a0ltGFAn_jsML8b8*Jvbw2FVk0dp8J=C!{+7-QLc2*HIv1v2ndDjd8f>4gh;u%)$_%2t`}$=Lq5$ zMO&O9_1G)srow5WEY7-^Dn0%tM^sXfbJpGfoS`|&#i#O$*nwuraoQJ%^w{|7B-ivR zJY{h*FwSs-27AGt_Kgx8+Dd8<^sjKzFDBO8UTD4e;85$t5_-P{o=&nUGdrv)S?np)g?eH zP-}tT*4q18<$kN+s9jRZcjOy;L~RFJOx$DYP{HK|rxKvIq{ncnycQSOIz0`oNwqSW z?)U-Uqxc3c3c9>UC^xQFPAI3xqw<1lMD(+=pgG}5mAa0!C;mdtuZ`@2=beft(OJ<9cj_Y^0DulE+KQzoC~nkA$2jcNR-@dV=sGJ@L~d2@*Zh`eW>( za>soQ6xlc>mAF{50#Tm?^t-i~_^q2~X~ew8#{HfW0b|D?5hbly!!!pQI(WXjAm?oN zr;Cg8F6(rCnPJzSJ?7-McT?p1RY%B#F7c}!6de`4vOX3He!~!}b*XJI+O25JV5M2d zns3uHxfC7MmuQYHA%kFirMZe(V0*n@$DLZ>n1xxrf|S|9g~Yo&RB-|KZEc|KJKhty zlt;Hc&{ohVd{*W5K zk-glb_3QEX_tE%WnW9^3`y4qf^80hB{6_m#EnffXg=AYW#XMwD{DZ^tR1N)I=4$9_ zqvP5IoR<#d`|tkoKQ=dAp?7vhTaP`Vli|Mcb(VH%X860ilUly@z3$wVJJTQA0^0Cw zq8LN5sWxN;79@vggs;`9wd>gx$`eFT5#Y2h$DE1tX9Yp|>3Me(Y_Nb6^>I^dQ}9F=s$g|ELivf8S3ivdX;z`TJCsBvwnDu( zPB&ftWx(8nFZeqTkj_gIvxE^+5S% zm=iSr~B#UReF^_8n|Oie0Tt%`5h6xY}Z zNs#Fw4V#;)lk%0;g=*k~$G3LpPdDn<3TiW8J_F02$7{6z-*XM=K3;$Z`=467H!VhDmYPcP`)7x~7LcS(~vV}6^jkmC#|HkDQXosAM*=nsCE@IXGU8@TnOVH}F zicQnWyBux13_;$BvNw*DK`xiJ@H|$$wscCuIm9u~qxBSQf-cEt!c)J}-NR4qEk4Ep#p|UTm+%858b_DzK8H{Xu*4>9V-6-t`44|Bs2pID8y^DsDqf}IV7kp z$h$wlDYf(qm<5`X(zrAJgX>Gr;g*h{LV<}pl!scY)tJ<>pgu>4Rn+c1+nCz^87kCzVu%%R$E%Zd>FV)pk@cPgtcL) zC%h&~zBp2Xu7(|*W=j6MWLQbjCQ5Nxw>+sd8TrN0YDLm4v6R&k1vmlt_PG37)Y7e- z@vZ;~_0kM0P-kF`cEE<(5w*z|Xk^p0m(9j?qxW)@r&BP8IcD9YT3>C?8hZ3ppu{G} z>WG&{PCac@b4L4ih(pV|`VMskW3?*foMY7kosw0aCJKo~MAu#ob6e|_U-IMD|0a+s zfciyopK$+Ydw+l5_WvC0JYVa7kMU3j3XXZ0oE~3OOkj>80K+`hlD+#lXw8*^blK-= z91E*Ehe>o4XA^ifn}U7Y4%Kt*Ij?iL{;mk-JH`bL3BR_18}7fQI04-)&~1R@2~ls` zw1V$zXtQ?cMeIe~gE%|D!lgZ@}MXS4eL2@?E@?M`}hW z3A{_+nX3M}1f}l?$!L|}Sg)kD8_4$M>eT>QVWXDf3$!gnm}PmI<(MijrCX5gaM`z4 zEY&ML0e{&k9-Z73YzQagfHEn5vyAEAF3@z2^5b-x!5o3^f9(W2-*+8Oyhe%!=1Dq% z0lR9h>x>(=iFG_d;k6=0L3n$M<;YQ9YtXZjhqUXGai76vJq1O8Sec(~tzkaQQ^)^B z$kDw$fKB{=yXybj-(BDT`6!RB|A}z%x{Qcv{4$Lwu;C!y#vQn*5Il3uy!YZ68OyC$ry(_-+qK-=r%Ut_aHaiqO zxDRD3Wav5ZOX_bD*X}E=)@7%VlMtCblN)1e?)vZi)bW2lbw2(5Z`;o+=Rfxj*84w? z@~q=O*YTg9J^mBCxXoY^RpLMS4H7>2s7p4Njmd;PlVTg{A~Mz& zg2e0{Cg29gF&(}cWd`j0Ek#~nTR#qE=$95dwCvq_{9uY45DC&ZQkCyUOqg|P!##l- zJ0M!bsv@Ka-8Hl)D@IjP!(FJ-f>leq!Qtyl!j864ugZ?*Q<_(6H?e`3*xHPtYgQ=O zbhfZrBc>oP#Z=ga1uTpK%b}umR9nd6?^1owQ5M4xf$sn5g6{k7^2=5B%4R)6uRjVy zb~gt}nP98$NnzAEvlfHq+cpaZ{NTDVdg`i?#yHDOA5?8dI47?<#4G;jwgu$%Drqjb zEKf6(#|scbIw|BNk$gQ(NS?+ql|75BiL7Pmi$&(}Hc7P0aw1!8gt9nYOx1q1teI( z!)SBuYx}o<>g+$6f8i7R|F#cypI7{U2W$V|qdbgpze4$#i@-PyVJw8Vh=Y-exyYr$ zzX_S)cV4Np?JlvOJ59Yb+3OV2m0^T-BzFO{>SGBJNEsLdwc8s z-$!}w`29^669lG^xoO03OPehMDwmQ{+P>|p32Sc@mKp>FcPycaa~hz*O|73FV(UZP zj%Hk7H(*wQ41S{pf*fUOfk~P#G+V#o?KkTXINmfj0NDHUSsZKmO3XT$`e-G((76+o zhx(1{+XVBw#z}NqP+c#_$yoJMq{a+Wqi6dBIcCUhma4*(`s=I`610c=oog-c5^AGDlC~hA3@y z7g)M5EYKRiP>V#ajRTw5)w}7K6fLvP@do^>tqRe;&B%4V5ld#{pys9x%^?Jy8jH_C zOoLO^VOK6oG3XZLyLJ~TxqQVanKSOD36dNM1|z-=%!Ju?O#_S8;>_XOD;uWsod14< zMkPC4RtajPgdJ^FDq$?o13$M)ay-?#vunx5YRpy%MZcD{1SaNA_0HD2JB?_;3P|Va z6>7k`|7{0wyR}doOlLONT1$TWFX*%~0JAizroh$BDQar* z6Z&jQ+wW?%@!iTKukOCo@L1PYP2jN>95>gq=Gq%2Rb*Yw4gSI zBy{}&=LPv0lgUrKq?OIXQ=zfvQBstNIMt6OXA93fB(@}9;zS&FDK!}Tvj-Wvw3SPS zuQ}t*l4zON-Zuz!%N^u_Y&t5Uh_NCVn@B4pvlwhhOgEX8+-k)&t2(xpW8AS$;gs#P zp8rQNh9ak^_VfOHBS|Bq0!=@D?C8Jm4;^Y5XXW4bhf30z>Sr>Ov-WdI*z4`cdp<4n zzk6o^X^Q`U{>$5Oy4cb_0UmzBL+6~$qjEDvr~oS8vO5#DmOxul z$jmBzXC}b*<-Yc&z4m0hwsTRN&ORg8wF4n@`Z%g-Kn=-v-^2^e{GT~vKIQrUy=V6R z@6Pjsb^hnadDij&>-hiA8voCO=Fb_I5oz%0Jd4vY4%_J+!du+4E(MY&^F-1dTivJ_ zfhtF|%nluFR$$7DhPp;-GrL7y1=8w?QoLhoE0RU+EMcS8(jyk zO|xC!hOfEzY>lHadbYaQC1Ey9!)rtaT~|wGNvS*Wi$27){o1`s6uN7l$*#{FvoJnE zFGvYbv{T&n>VY_-WMt^zFSBwZJC*Z)e-e|FXNY{cL^y^HCmVqVhYk>pTGd z%pks9V%yw*O4s4-7I=F8?$~#Uy6FL+B~9ygN@1TvGU1^;^t*bcnSjb#?K9@U8WvVs z892n=R>S~xDX7ZCeu4;5xkDAo9EBua@PmB_ z6jUT;v{B6TEHyaHAeKs!>j?BYJLLUTJ?J`L=U`%tN9r5NiR@kItYg_Qg;C%GYJq01w>&wX0x~77XF)Iw*sa zwO9>v)=x5H)=OB`A*LOjWK;7tHsCot%73%+l4Nqi(-!E`WVjdgbDq|>#=}O(Pxs1K zXNZ*!D@QPTox}?nRlVKay|KI-J?yi0QV|#CJt^Ym7!<3R{ z{jZfLM(v$TPl6@JbXCu<0V-?1eC^reD0Mhzom*TGoQ#>Al!aKb!yC9LK$fEs$^lG( zSrCu-jpDdq8%ILWD8S@hDSWwiBBXz+keX%`w9~p?jHVe`oZuWJ=$3deVq!`a92{zC z<~5Irj*Kj8ZL~QH`R*-KKo0d}e5IuDWgMXGsJhlRj2nR|itude`B>oJ(MvqVGQd~7 zw<3IN0Sm*r3tG^QKHHdh;f2~ zPH-}OKO||6I!|P_;&;bGDlLmnFvg_M{?F0x1XsW3efEF(VlwX2|H+@lJn5H!u3&gQ z%UCQ!(fKwgZnDm|!4fD{{X5O^xbyA*zw-pVgE>xT1vou2E*93j}} z#q;#HPB1URG(!D90xJ^h|ILe|lUFZ-Y4j=Ds9*m(`v*Jr{lB~0JL~&@ALV%>^7?c- zfB8k-pSlz51>3)FObE$}LBEfuL1 zouUkm(cs%}!GFoN$CylJS3#Ig`&0wufvtU*WksLl2=%A1ASmy13jKGd^W+J51+hGe z(&>Bv;-;?`Q;1{m0ldv)@S*bo^m@G>;Qz=!*!!{-@By&@7|=Id9h#zqB3mZ>9DvLJ zKHLd*4ub98_9ZLI6@1$C-_Qbl0F+YT12_>I74)wn%rU#&i#EwH;QyEZ7=N)}oe$vr z$I}z=0pNtfxZFSZ?vkVT0i3_}eR=!pX!tkq0Tl9b*~{+s_HI{wcb?z*z{8(EfXiQg zb(FL=*jkkJ7h^ZFr4cGnK1Vsrd-BWnuO`C19-NU$x2f8WRV_&qR98uw93Q|{n$nqZ z$xN8q8guYL^QPu4JPzkUJfnrQ}@P)Yk|_%bjCDp#^igH0U2aUZoitfnyWQ zUhq74R$EVA2cq3R)t(Td^78bSHL0aRrv>|?N&%jpw1;ltG>cKd@}srsjRH%xAoYg{ zzrQ*lvFtTq=S-by15sQ?ur!UeyU{CTYB4yu+|aVAfF{i#oGeqB|F-#tE(ISfMsgkLx@(v z_@ro*p}a_wz9`)bW84m4MUb-Xd3Q~&@fAUo-Xv`(Aj{9PR;4XAY+U9Aqo|@&oxQkt ze{}Nd^vsQH6F6Jf8vcFw{?+S~w=Z8f;Z=ErAf&VO4bIVc2J`5?!*2ufO@Qm~3P>jD z6!le&R`4q0zY}Z+yW6|l+u!Xz*C5FA*}mnRk3D=zrYiJ&l)L&z&C;_h{IXW)nTfou zby6ndR^`jI4lWVE@-LKy9Z3*8GP{OZ%3M%RnurX3{;Fk;Jx`etzGaf)TsxBEL9%iU zfk!CmnFX9!>xnOXELf@FO00>i0ewK1(AnE+=xy}zI#ql{#rwW$b~~lIQTeqpb2!Vi znGQxW2oEy)jycyz0vLvbG!#~%yR^Z<) zOm}|7^);?>HcQw|XK~yLOMY2fxy9&NsIDqY&_Y!4(Sm>0dX`2l7_uW{k*_2_-77Ui zdAQ1pxmCQuIcrrTU7lqfM&r-gbRu`&f{)iW;g}=aXvcA7_Dv=Z^l$+?>$10)aHuFXfhP`eN~>yNp_?_8Z)R^TeKYMmG4*~I-6V23SK5?p z_NBD(oVeh(a*tTI`Lw66bv==9A-Zl0@@OXo$ss}Gg#+<7X&mEZ{5Fdq(KHP`QIvDq zIM2d3N_KinJ)NT&Ny{vvBdXN%n=ht_zz7luW(CFlmkEley(kR}Fy9IG^=&h4cPUBp zn>3An>#NdzaUEOH=hZep(`K=X|1U_F;2iK1>_+`@eg;dwX{NkNw?e>;2zH zc|>rB+6Bf_#@RMHUv=pmz{$AV>3r4I=5j%DM8ZkV<_sP!`o#ZaAZ20o@O&NiuW-^YCf$z?aAj##N`PmtU*duzRs;S{)ZFTY zA6vGu1-iYExAd{|)hNvYkMAWRr7#cqC{WI%e{hzP7t|ErsJ6r^l*vf9z-wD**tr{1+LMeoMj~t(dt)L zlZODZ9C;h&dj=+;zcw}jml6$dkDGLj zv}IXG`M6k~Upbf+1+*HcqBWOdQ!pPFheeD~25`c?{5l)q@XF$L$+ql@HFL*mZ^_yp z8yljF)@*Cdu)Z*c#ipuX!2dpEAK#~=_b8d`tc5jD!T3(5Bprx! zWvZr$$PaM}EB)~xGNNS@^zP{8+ZS5V7Wg`w7=UgaRNgVQH|y%%19Xgn4%h`)Z_tSUK{@Rq~k=%NM4oE`t?#cdYj5EH$dp4m}0U@lAEp}=bYll88$xVM1acW<{(r`6szEsC?( zCokTg9ld(-ApKC#yf{j4WYliLT~ZuR{(i>B<)3%|yt6L&|L4ble(b?$ij&J0=m|g+ zIZaXF^(BI@@GV1*3C{{XOcE}E)E28yKf$U+{@?k_)8o^Nm1bKN-03SDTst6)9$z)k zl($wAw(>YAEl@Njy;aFYAs=A$A}>+f1+{{mHZs=#?Pb~-;?3OlW`l)nBV znOD{IQj2{BGp>JLqm9Zc*lf_aMP+^eOKwekvCL`R$An(kqw=V6>FXW5Fx@ z!gKonYAf`-IJH7#U>4A<4@$%LTOhsG0hQM;{`!CECxO^k3V_6m4@e!W>TbI6F=$>7 z*$cw9bzZ^j7eSU^!J+Ez3I@%KWUkvYuVA*iIYSAvl7rY~*@)O){!lepvw8S8HYsZC z9hZH>YYupFfl{WH00*Gk<+76YhQD{~Rs51iDTjtHj^DhvD1{&YTB;SYVUo{$?drVh z56G!`k6UtSLD(&wtChsqv{{~*3?62uSh$HomE(EXq^sH&AbcK6`p}7PGj&r4F$QUX z5Cim=mLpUZM-*h60djM#a;j_r8)}KUx`vgRbXDfMBBx^kFst!7hyR8`GdP*?h1J3d z(O=8hl6qH<+q)xM8-VT5s$jw!hof4LGfn;@FYhO-&?7~<*A zm`u1peWh|nFWJ79Y`V{brz=Iua~=br&UUt zQi%Rj3J4tqX63PyE~N-7#~!G2FkH005R=Q{d2DWm&Sq~b?4xiA%f47MQCBa#jd*6U zw_R4uZdeZYV2R#YlhWIuzueF<;T}tUFm;Hv`cSJr=z^d|i!g2?SwWf5o8dxPdNIon zgNDOZlLNxK(0fU zX94N&rH%tykSpf_%LZ0H5@><=qD}?!?pKZlmMB{%18s7-j|NtVO8>lAWT;RytyQh1 zI_-!6(YHsH?kz>$s2eyh+U+_PE*P0pC8LstxZz*7OBxzB~qkpW&rdARv)*t zRv?q-ie6vzEM`V^K#_NxE(}tzwZp>*lnLthFKr8FXIBF;ds$xdfc3oK>(=tv+uRte_ z&HZpfP(Feoy8C#iuMxp`jL9nBl}nnR#xWX+P>cxLU~O#yXRpj|(7AW5O*)2Tn}O!> zQC@;x+r+a6N&U4cR>E3I|NM`k|4-5!|4z-}_!$XssvgA-CM3vX-7y3HL^ z)=Rb5`%oRk)HUm=AeHe_-fKGd3qDlKV^Pk7C6O_8ay}SVfc=(>_ye%B&A<9FCMjdeU8em-BeRKN9oB!&<#P>Ii9y+v&T zx|`M3%0o0)&TCI|WdTofYV)KShni7w+F7dz;#Y{|IQ(3axW@e_lbM=Ubw%KDetCTU z_AS9N{+%U}JV$wm5(3Al4S#OOk$o*39&G!Vtm?zS>cm|)%x2vIIN1K^7BalaS7@5% zi%;CInnn(vuhO+C1K1sa=f2(@r_(E(v{Mi6KRA!mYdN4>pq>D0$#;Lrx3q^&z81Vr z#3VS`H!oqGd^2G25}xzZI3ZOx-1{vHgL23%%pBw|+xx{VEYOx&pFIcOeg%irPS~ig z%NNDb9OZC~v{j+OW65$3p4E?fTQRB@(w5f0&9&?BlRbw2Ph3;+u-Shb{eRDQp4<1o zK70ObckTasjOR=7|A`A{9@^h$gZ(r4_e9^@`SU7-s`~G$v~>9ER#W%A+P-KLxLs>M zrG;@`+Ws!0Yg>c>G^m?iADF%~bNF zIAb3#??X4>nl8F*VNG}@4xN#YMQ9J17@>XCp&zM@ak=UO{xpkMBd)}-O5i_>)h))M z<-r0$>Sf%_Qcy4BR<@9`>}d_{H?tT?J6vQ=eL$wq;Yj4!@=DlOA(9=NYov`B4WhU{1S zYW!N#?_HTTZqQ!$w_A^;h|3$Q?jOJERcJ*Mby}+^!ZJVHdndO+rR0u!H#5~xwKq&_ zv`bNI6+z|54Z~(^c_Y^0ciWBH!97%o2T(@2(q)UZHuYuiS<2z8oQ?MY#WEu8?Cw2l zCt=M2_oLvLr~^QoS&P?)6R)d^%?A~k45hI)(TaxF0Gl=%Z%`dNA_vn-FKyE0lj?D)DSW4}#IEV*ldh z@ZQqiE9@^`4&|$Q|CKiyteV{vtfCEg{Z|(+hqWG~^E{p7sK$5oNep}vE169HICR)= zwG|6RwL|`A&r#bW1Q|ud)5g#Q{Pen`0cT=YH$FPa&(bo}>=#G!&qFj1rFfaoM*K&H@+mF~I^6GnORpX(4x}Oe{5D)Y}Q#6Q4f_6b6KC)F~L%alLP3NdUNr+ZAw7nMg|E5=^Y5j0! z@&Be*wPx|pm`r}s)A+4oe3*Fv)opV;$6A}>O$JM~hRP0g*l*vAd~?_*)2y96$mr(` z9r&|Y3BRRRJ`3TeG`$wq!T+XLmSxa`Gm`c+L0r4*N~ixamV$=W{m!2F0W~|~YIy}u z!d4t5k(Nditm>Te@(t09SzsCd@#kFEf@}kmbGo9O4DRSZ4f$n}u|T?*{G9Z6RoM{~ zkohm$R9KP*JFC)Q$DqM77~W?VmYdtY1ftFarhneUH=jx>wUjtEE@B{s!$>RYPczCh zL>Ar6V2EHImgzS=UZqM-(^jqcl9@X3UpAjc+GzysHG!oyfTbk=5)!|)q;D_bmzL~HO7xbJ z{2ph(y}G-YH;uZx*4ZD@Tq>pw3TacG5z%<9=Gwo)Nxzs-8QKe(B%P!;3Fy56`v>0* z_7A?3N%H@hRKL(!^v}ev2$@+O9UYa&O|mo^qHvaDvN%o?f^PlBO!X{vwNq7a0gU7H z<~+x99HTLMQG_sNhePGHeg+WF$>}eOo+crGD1OY-S@zIW8*#9Q2L}g_MWTa)0}qMV zm(@x1W|kZkZwr(^G?8)%`0)GhzkdueegFOUo|&Y+JOG)FlIRo7syc%C>OAsHq=aB_wfzfPiK0Dd{)(%oT5Zq z^HQo*4d$gRwzRb<(5bb{Byh_lJC=R@wAPqv#%T3^hEwPS;P<3CfYwX@`HFDor^y}beG_8hm0ux}5! zehRHk$NI5QGS?2nYZ$^9{o{w>12Y=~ui^30%NIS`h#xh4+Y@zqA$`^JaU(V@6<_`| z2={6bU2~pgIgd-|t;Bw6ELCHzA0E=xx5U}UvJoQzu?Djyc>eyU9<_G1z&(+9AT!dm z|I+B8bN~HEqy4vcu)S-?e?Qya-&xy#kMVpl_Fo!3xUr{!{8L$WY1Gn;(+T9T*$n#8 zKV<^*`zUk%kW5+(X!m2)>TvG+`WTD>*fA8J425`v`5ETgOWtyMJHno>76_Poe=>F8 zL2sk3m6o;FQm-Os*_*9~+pBYbGJe0+Q&|!0AR;0+X@30$EDHA2u8ai7&b4tt6=wI% zkdv~D6-!7!rLUb}e_(+C&UL4Qm5D9=*sfRIzsIUG_qwz>aKB}Ek`(7@jKjs3vIrZN zVfQ$m6$Ir!;M}r$DMLv(N$$CLTD5V%b#F8w&qSSB*Q~yR$qdGtPtn<0BuDV@EKQtk ziT7)E@Ndfw)Eu}UGdPMOOi_dJvDz8Gulunk7*RA)%O8dW5*#*cGC&93D#%q*O8UvF z2n?vXW){*I)FOdX9O}7JDhOQGBH+tXqM{EjJxEzjA^v{7kRNCvm%$$t;4-UC4>YM? z;bJt4jk1b;h=DKH%KgKvuyYYNtYK|`;gq0hxqjy=K>SjH)x5j|lQ=M(Sg+XZ;9g>` zw^qMWHh6;bYQ6fp+~N6&T4O@qoKcX#r5n4&%qPGcwgU!&{mBYmc2;MQ-`@Y2C4W3x zlXmRTb=Z(i5uK;~r(E7ON5;xCVr-gp*+ts~c0Ybr)@1UhKQwEamxqy-;Y;d-SKT&% zI#*Or3y+$@h%DNkG-O>@@~8CHdHO6_EpY}m;{E7e6Xo!N11CRSIQ;# zOO5%1R?*Nj?#}oR)h1SD@k?`ElL_9BgH9JE|5O;!H%5HNvW@7m5^R6DQUZn{DvDPr z{r(2Q=;s_0^a>`6>g>b6qXF3Y(T$=W?QuUW3)a(zLiF-Jy1Ffl_C6*td31R> z7aM{IR5_qW+eQr`vQa-TQ@2;Q-Mz?Ga^7= zd|flqc_SXi%JsA_mhCYk`my(ZczrATk>%36@vT=Ti!|t3k2LZBvv5c zkq+eWkd2bgT<(|JPtC+F6T8e6ZV`lv3Hej~(dQ~h@cI)A@fX5~@f_v-Bw`$_V5;3q ztax2OuTX?%Q&5w{8UK!6;wdIRxl-PW&mXrH#M@!%aI2uTfF&SfIeCSp0=@)6gDI0(V&Q!MY+w-B7+c*Ee|)=cg`bXXZj&=MMzMpw9FK(Va{=(}2&58i!+ zrjG(z(@jKJa_65mB<$u|>($JaU`neV<1gG9XVIWe_^I3s1JLD}C#(XpP5PZovz@N9 zRn9+`XxA@tSHSij^7xPFadhRPs-~!t=HJ=~S-TP;T-v<7RgA?}Nk_gzS2@3Og7X#HthfqAt44!b(A`=_d|5Wi zAJkFhxNo%XatzSQ0+0-h-*D`4Qq^9K;cTb&Hqtr-YMo_{1QHryB%3)rGf_MhpQ7GhZNtjzT0BxctS?86WMKBJ@hENGPS}t@f=07=h&&!W?N|j_ zWazLE6$%y|TJ7fmbOm)av3I16U)LBv%YQcjT{?JO_hC+X^_qbH#W?sLPjHr_(Nb{g z;1UdTGj4>3+ckiQm`NY#7hISU>jdW~z z47{YC>+Q;V+~+=(ynY_*G0y*s`<5R%2SCI9Z+i#ND(C;7@9nP7|3Ai4fBt_ol}Gs> zFB5>c8~mZO0oY*wOc?=0-`iycs1T}}8K6o_t(DK7#m&8=*A(N(GA4#WyjrcE?_=J3}-fw4{<`-KuunPXisjs3N&X+iH7{m(`Yyg!dta7n!Cti96IJhU1!QZ6>AP(m zNm@QKa9j~d=C1Ig$*zR7vGid0g(rW|_>{St+XMkH{)zIuYRu(`%<{xzp@A=sTd(99 z^zv#A6FLW^=f^6qo5^ezF5&z0nCILi*PAX=sV9ExyDj)~TKgI)m(Vh2-~A%&JWoj) zrtv+cm{)*F_-)hbx@C=oG63C+<8$k*M;7A{6Z+nhGQ!7>G6D6F!(67dpDr%Wmt=mb zHCA`|=7!4&1f#j(lI^`cS)G`)uDdn<<;&&NYj*k2>{1TCkDJL!bAMiTlq4x(mr6Z= zLhj{eS}PXN)p?r+vl2!637A`(<{px}wQcXg*qhN{WsvT=B!_5(uLGQnb5s<;_3R4e z2_mQna4J2ULjNy{aDtdQ(xs+(p@MC}C*qbKYOUGjXJVJyc+@gYwG9i)3T^My(V5B; z@xgi@G!QKVgXvr5zyqvr|LwUJnwP9n6peCgi2Y8=ZWtw*CN35HpY6EfQ9 zYPfw}fFvbgl+Kc*hRpRi$~A=f=R|G?~K~M}pYq5P+|XCT!OGaqDOO Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/freshrss/5.1.0/ix_values.yaml b/incubator/freshrss/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..9de79c78883 --- /dev/null +++ b/incubator/freshrss/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.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/freshrss/5.1.0/questions.yaml b/incubator/freshrss/5.1.0/questions.yaml new file mode 100644 index 00000000000..e0f86365906 --- /dev/null +++ b/incubator/freshrss/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/freshrss/5.1.0/templates/common.yaml b/incubator/freshrss/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/freshrss/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/freshrss/5.1.0/test_values.yaml b/incubator/freshrss/5.1.0/test_values.yaml new file mode 100644 index 00000000000..11d4c91b16f --- /dev/null +++ b/incubator/freshrss/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for FreshRSS. + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/freshrss/5.1.0/values.yaml b/incubator/freshrss/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/gaps/5.1.0/CONFIG.md b/incubator/gaps/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/gaps/5.1.0/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/5.1.0/Chart.lock b/incubator/gaps/5.1.0/Chart.lock new file mode 100644 index 00000000000..3ab68d6ea66 --- /dev/null +++ b/incubator/gaps/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:52.381044769Z" diff --git a/incubator/gaps/5.1.0/Chart.yaml b/incubator/gaps/5.1.0/Chart.yaml new file mode 100644 index 00000000000..9387c1647ba --- /dev/null +++ b/incubator/gaps/5.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/incubator/gaps +- https://github.com/k8s-at-home/charts/tree/master/charts/gaps +- https://github.com/JasonHHouse/gaps +type: application +upstream_version: 1.1.1 +version: 5.1.0 diff --git a/incubator/gaps/5.1.0/README.md b/incubator/gaps/5.1.0/README.md new file mode 100644 index 00000000000..c5ab064301b --- /dev/null +++ b/incubator/gaps/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/gaps/5.1.0/app-readme.md new file mode 100644 index 00000000000..2333306b1d5 --- /dev/null +++ b/incubator/gaps/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Gaps searches through your Plex Server or local folders for all movies, diff --git a/incubator/gaps/5.1.0/charts/common-5.1.1.tgz b/incubator/gaps/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/gaps/5.1.0/ix_values.yaml b/incubator/gaps/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..d11177660e5 --- /dev/null +++ b/incubator/gaps/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: 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/5.1.0/questions.yaml b/incubator/gaps/5.1.0/questions.yaml new file mode 100644 index 00000000000..30a1391047e --- /dev/null +++ b/incubator/gaps/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/gaps/5.1.0/templates/common.yaml b/incubator/gaps/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/gaps/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/gaps/5.1.0/test_values.yaml b/incubator/gaps/5.1.0/test_values.yaml new file mode 100644 index 00000000000..8f8e194b1e6 --- /dev/null +++ b/incubator/gaps/5.1.0/test_values.yaml @@ -0,0 +1,28 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/gaps/5.1.0/values.yaml b/incubator/gaps/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/grocy/5.1.0/CONFIG.md b/incubator/grocy/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/grocy/5.1.0/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/5.1.0/Chart.lock b/incubator/grocy/5.1.0/Chart.lock new file mode 100644 index 00000000000..a80369f77f7 --- /dev/null +++ b/incubator/grocy/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:53.177735594Z" diff --git a/incubator/grocy/5.1.0/Chart.yaml b/incubator/grocy/5.1.0/Chart.yaml new file mode 100644 index 00000000000..5ef3ec08a81 --- /dev/null +++ b/incubator/grocy/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/incubator/grocy +- https://github.com/k8s-at-home/charts/tree/master/charts/grocy +- https://github.com/grocy/grocy +type: application +upstream_version: 4.3.1 +version: 5.1.0 diff --git a/incubator/grocy/5.1.0/README.md b/incubator/grocy/5.1.0/README.md new file mode 100644 index 00000000000..48ea0db9a25 --- /dev/null +++ b/incubator/grocy/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/grocy/5.1.0/app-readme.md new file mode 100644 index 00000000000..de807b7ad25 --- /dev/null +++ b/incubator/grocy/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ERP beyond your fridge - grocy is a web-based self-hosted groceries & diff --git a/incubator/grocy/5.1.0/charts/common-5.1.1.tgz b/incubator/grocy/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/grocy/5.1.0/ix_values.yaml b/incubator/grocy/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..f646426e755 --- /dev/null +++ b/incubator/grocy/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/grocy + tag: version-v3.0.1 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/grocy/5.1.0/questions.yaml b/incubator/grocy/5.1.0/questions.yaml new file mode 100644 index 00000000000..2400eb30489 --- /dev/null +++ b/incubator/grocy/5.1.0/questions.yaml @@ -0,0 +1,355 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/grocy/5.1.0/templates/common.yaml b/incubator/grocy/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/grocy/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/grocy/5.1.0/test_values.yaml b/incubator/grocy/5.1.0/test_values.yaml new file mode 100644 index 00000000000..e418d75847e --- /dev/null +++ b/incubator/grocy/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/grocy/5.1.0/values.yaml b/incubator/grocy/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/heimdall/5.1.0/CONFIG.md b/incubator/heimdall/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/heimdall/5.1.0/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/5.1.0/Chart.lock b/incubator/heimdall/5.1.0/Chart.lock new file mode 100644 index 00000000000..3be1b9cd760 --- /dev/null +++ b/incubator/heimdall/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:54.028437385Z" diff --git a/incubator/heimdall/5.1.0/Chart.yaml b/incubator/heimdall/5.1.0/Chart.yaml new file mode 100644 index 00000000000..463d8315ee6 --- /dev/null +++ b/incubator/heimdall/5.1.0/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: An Application dashboard and launcher +home: https://github.com/truecharts/apps/tree/master/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: +- https://github.com/truecharts/apps/tree/master/incubator/heimdall +- https://github.com/k8s-at-home/charts/tree/master/charts/heimdall +type: application +upstream_version: 4.1.1 +version: 5.1.0 diff --git a/incubator/heimdall/5.1.0/README.md b/incubator/heimdall/5.1.0/README.md new file mode 100644 index 00000000000..d7c114c3c92 --- /dev/null +++ b/incubator/heimdall/5.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/heimdall/5.1.0/app-readme.md new file mode 100644 index 00000000000..3fb24ea7f1b --- /dev/null +++ b/incubator/heimdall/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +An Application dashboard and launcher +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An Application dashboard and launcher diff --git a/incubator/heimdall/5.1.0/charts/common-5.1.1.tgz b/incubator/heimdall/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/heimdall/5.1.0/ix_values.yaml b/incubator/heimdall/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..bdcc3ce0176 --- /dev/null +++ b/incubator/heimdall/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/heimdall/5.1.0/questions.yaml b/incubator/heimdall/5.1.0/questions.yaml new file mode 100644 index 00000000000..e894f8ec140 --- /dev/null +++ b/incubator/heimdall/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/heimdall/5.1.0/templates/common.yaml b/incubator/heimdall/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/heimdall/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/heimdall/5.1.0/test_values.yaml b/incubator/heimdall/5.1.0/test_values.yaml new file mode 100644 index 00000000000..a8331f4dd56 --- /dev/null +++ b/incubator/heimdall/5.1.0/test_values.yaml @@ -0,0 +1,34 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/heimdall/5.1.0/values.yaml b/incubator/heimdall/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lazylibrarian/5.1.0/CONFIG.md b/incubator/lazylibrarian/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/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/5.1.0/Chart.lock b/incubator/lazylibrarian/5.1.0/Chart.lock new file mode 100644 index 00000000000..d63006805ac --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:54.860620181Z" diff --git a/incubator/lazylibrarian/5.1.0/Chart.yaml b/incubator/lazylibrarian/5.1.0/Chart.yaml new file mode 100644 index 00000000000..45092568116 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Get all your books, like series with Sonarr... +home: https://github.com/truecharts/apps/tree/master/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://github.com/truecharts/apps/tree/master/incubator/lazylibrarian +- https://github.com/k8s-at-home/charts/tree/master/charts/lazylibrarian +- https://gitlab.com/LazyLibrarian/LazyLibrarian.git +- https://lazylibrarian.gitlab.io +type: application +upstream_version: 2.1.0 +version: 5.1.0 diff --git a/incubator/lazylibrarian/5.1.0/README.md b/incubator/lazylibrarian/5.1.0/README.md new file mode 100644 index 00000000000..56385ef9882 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/lazylibrarian/5.1.0/app-readme.md new file mode 100644 index 00000000000..c67c1844868 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Get all your books, like series with Sonarr... +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Get all your books, like series with Sonarr... diff --git a/incubator/lazylibrarian/5.1.0/charts/common-5.1.1.tgz b/incubator/lazylibrarian/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 zcmV)xK$E{8iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT3$Fb>2K9e|Jk&`|% zovs)rAqh1_a!5$F>g4_GzlAFS5Fjbpanh-{x*CfFHa0eZeZ$5^m`6$Ix0 zv3>8h?9Tl`9+=^GC@*lD48VN11G7y1Owt5(B2BuUm(U;Im{Pel;+?f zpCLAViq0gRq5+r?k`;q~e~igwb`^x_v`_LG3R#&x%(9|Sa)kO*SP+!=`3&sfkhUP} z-rU>-<1`(|h}FkaI7UVPDu+pglX0Jaiqmo0-?`O(y${nk&EM}n-@W~QH_C!68F#MH z;wH_bV$kV<5|2(#cB02#bb3G_ay`33iU!~O_u)>ka}aFzw!i62Ax;Ry3CbBTG=(@G z0Gy1{|0w|nX+G`%kU&ZbjWz(x@^}EOf(pv@ZzzubrwAwMjG&|!qpK^NjDsXruwLg0 zhQ-eJ-|u-~@nWJEMLNqv#PD2lJOo+fxR6DL29j2txg^YfuoLWbKKJZhKlgnE|DVHn zhKf%l0P6Yw-rn}kp3VQC@9eGl|6@GkIK6`LpaZ}Y(CdLAA^;{JoufR*5n>FUOc2O& zG{Uza9kE}dSsYVtBY4wmQQCk)%b|qe9I-MWLL;1DDm^+t0Vr#B!Zaay8pkNFfGIx# z%8df{{T+;P1X3oM3IKE3LKdfsDN4u|h#;D#Nr4DRb5IaS&}bGHh;#tp46Q6|c0EZ6 z>7_YQn$a zBT9kfXpX6*1ruD5G+%%iPcdPm&OiLb-@l}<2Vk$$VLFlm#eUH#k`|bjdEQ?M~OPa|+NBWV%B80DQO;D2Ph zy&m|l2p4o}ME~7^q6|(Lkx;_k55Ne<1!Ba@$A}Cl`O29iSmYEZZ`4u+PuOam!dvs* z_O^m@eE#+=!7=`wp?{9@5G90;EiL$6S?(2@rum|_Xs1B=9Ea#A4AWUcO3s?05RWh_ zz|91a3CaNkq9}m8EGQ=FERMhx0-O^>9U%Ua-ImZaS_6^-7)A6SIv5sA2d|VcE+#@w z2oYmrLsBp+1jjiYfg~lMU=tt`NC8|hg?I}<4hR=uj1ok-Mg(RBPR54p0t8L77!sru z>~2@glD7qCJG9X(&1SR|BT$$l0&XywFi3*IEz%h%7(Ew3=Lz^L0`LYh#swKOE|AU& zDdH#z^F>C{x?0G2zQw!3NKOX?jVSY@OP%tnCycJi;wp_6903@Hs3;_zHT4aQaEyWu zM^?#^^P}PL=htse24K4AWw0oyNhG@a3gQHyWRCMRVGM5$b4=%V5r7LpBst@04~L6{ zz*{ML2c0M2XcJugV*uV>98&^p^43lU;G4TU5WGP#f&~iBDA7ND{HF5+9IGOoCxAUD zng5WdQ}r8wAfRoXY=WM&rT!s5vfj$(UeuIuw~vxJqstSjM2MbpqKa{%6Kj;GQ#D13 zEr4#}G@~Q&1pLhC4{{Dy&RVKcOw%o{_wd5BR~#m|!Ep?(5HHk&(G({XkBcl;Lv-=t z)%nY#ix=VP^dd-L4`z&8(IM|^bEPNeN)O#;X@PoK8uh3}oKJaK z+RJwoH8#AmuV=4MUc5g$di8>HBmhPj#nBrylE1~9b4Vrwwz`5OjS!_mrz7Wz5F%7U zjPUps%vgP1TiU|(OK%FZ9^=KdG+!8%qWrZg)&s}0f}~TB&6j(j1-{Ld4V z2nI?&ogs3Q=GR~fuMyRM5a)nYXG#jLAW*h+c^uCQg7P15UJ$xue&Tg6I~ourNmxTC zoE0*z*43+b0UjA`G0diEN@f?Aqh|~0XmH}K8bXBGaDAFkce^X11LY-v=!{wNP1vbLZM_m^LCH2U?|jT+_kwCAOL@-B3(!iKm|9708XUbr|K&#delNPYwLQl)&z_qEM|7Na!Vx;XM5*) zdWFv#;G*O6Z?_)ei2`Y+Sj$nk@Uj>0VnPt6D3Ceure)kv0FXFn)*oMkVm9btJ6y*RMgyDLhRGGA(rtfl)-Xse6xq{6lMQM*{S~acBrKueALRVjHd&__w2vDaZ!Q^8UQoZ$3w#V?@ z;`sA6CTScM5~A?KMk?h;5XZ9|T}*ORP<#hqzf;=a5yUG^2sIboGeUj-BvV2`{}gk=1pdI2!VUZj zn-xROU6!5`f-AXaM4L?o*%=ni&ugX8W};Uw~`000o}n80J!@e?t|NZzPz&D=|fZ z0rOkoq%xTcz^tNz|E=}GF{jJAuc-aNXEobkz*CB*^!segg#N+B^%h7{ZikaF2!c&* z-Z5_p)$OO;T?`YjBf)HGRtodSq)EIeKeJjezeZHIktlG`;ztE*!(qwIrrBtOZ#j5e z0ERaoI$Ripur@rb)m^&0$Rgtv_)di|PfpLZD(87Rr$}h}obC#}nc#5343aC#U;j13 zIf{6{9R4>yOtE`W15VqnC?VN;Ht$xJ<^*W20WqU_Ep1lQa;r~is$6PQx`~Cb#v~6Z zCwJonr}b1x#|&?n<%|{$Q(S|y;wN3Tm0W4{o~^J{F0gSmv2wbFZJrI2>ZnUDl&MJ00=IQ&r26^ z5`i%y<;ueeK{=gDZ{NIRU)ee>tzoVA9N__jZgol7P36L5Zg`=)sWfRMC!i zKZ)#?%80;=xv$&M?+JLrffu@ylSR*c&kE=OmE*e0`YU_##9DBZv>@eT(qT5mE6&IkXn42>$yJ>;yZ{dfOF97fg*jXAwNcM@_G< zv?SMpq0jS0l_R$O5u$P`&}J+sd-C?ROVJtrvz@XdxUc#HkmPKQr-0QZVH) z3KJx%N#)Gk0pOF0mE{|o!lS*q2;;4JB^a7!WO0J?K}TDEa&ji>bBVOn8Ud`5B2Ykt z8V1_wVIpx+wMmU#hmzTOjUK1RvomZjnj_}yPiK!X|VnHI8y~`~SEfP4z zAzj=&Sc=Y5T*$GG9M#w|?ET}1;pLX$>{1|5uA<$`Wh(}x3a?0~h)mc%Yg`}>a*XFF z0fHX9Q`P#jgsJf;0vj3{n=FixgHC2~OjRxe660*lkH?%2WDA6oG*v+_j^6M#br@VC z_jJ8Nxb%tl%@}78is94`Ya@TjgvOemwR4{N1rB=rpTe7CNRdSmTRymiHJ) z4TrZv*$mUo|Jfr95Wu10_17RrFk*C;wuz9 zVMEy~W>-uSm1rHYt;|=c9wh5tGEcZV%@y5LNB~Mj5yLZ0Bc#@MX>?r)Z>|_3K6Vkx z|Iz`=8$)6dmKgTbdgNI2C>8}@lTdYS0Nx-N{hVWhUMHcxI4`JC%h_H!QaH+9P(>3J zrRnIUO@V($1F-WWR-m~Cnlg#U=Nx68d=K*7F_>j(0xl<1R?iYTd@znLIjC!#saF~| zDJC#S(V!}ws|=8i4lNC?5V=7p0Wj7#N?pRh#b!NTe228)xGgC(cqJLU#b80EC&>^< zsvbz`YXhU-C>&N#YBx_*kU=+s1a?IbPNl0)tj<1hF>v{MiXuFlvamY-O6xc*L{KEp;5e$Gw4qaZnCHGAdMo2P(_*aEUJaUassC;uQ?9XITZN_F7E^GC@QB_Y$q` zves;=7ETb%dg5J=8QOx>XO#1DeoUzxrb$6^h!e7GAPkST!pXRY=3E)>!=k|BghenU zX@vSu=>K_JX};N^zlP$M77ud5gnt3xi23ps8crae#Vf?W8qgV9soB6li^Xq?QeFpM$Dzc7{pPGVS!Zeu?U+(3CS^k+eakqbEB^Z zrZCH>ZgP4qy#>6GjC*^KI4BrJJ%K=vq>R>xggu5sk1l8SXAg4B`9i}~-Q3&+#`})p;mHv{BPfM+0s8!qfscU& z9a%-4Pk91q+%j>2?0MM=bb6WXS98Ac$gGaHVZtah%@ZWX!?GbQx~}82vUYSb-^RAwiUl z!F<8Py>m28=i>OpERPr9Du;|bBZ6}9O-b%=xP8lqM@rr>n+?Fu_V!fDS9Ts?0Csl2 zdxhCMIkN3)eD0%Y>*q5(;{2zIbnm~1aU78BA&-GJod4h5d$w(z|9rNyzrQ~J`54dL zUH{vTH~~WPMV3;LUiw<-{Mfm>>+x+%1iHMj0LF0_^gdGYLcjLE1+P#(7D1J12xH-Y=Vj@F@CXxTh8f#4Ac-pMBPQ&@pe z(>W|RG_!^P%!^V1+cTO$|57bkCIaY|r_s8graiq_06u^OClQrw+p=Be$7*a$9%QX= zt1Pv8Q<~}11$C_%1#8;VK#U-c!A6$jgp5GF2og9@r+6KlgB$ho;I9&mH1hXj}%wL3Fe3UUCv@A*4`5G@Q z%CFc@J#56IYG_4*n>4?UQy4kXtV2?dV$tyMY@dMLdMmNt-C8ae2!VfeXO+WJ}IamasV3Otko&>;W!s`mf>{=vao{y)aE ziu^BA<20(kw*+M@B9aC#_Q1{uJK6)iQ9g!M7D7L+#Naa%^;1LzaxI z8H)A7r1n}FT`Qx1qNl3=$-wD{+XHIS|8{qt+xp-3+W+%757qy`8@7|f^}SPZ{6?yF z^2~@#am066d`g^hGaEZNKZ-nT;+R=^Itps=jopg{wz8@&pLHaca11Krnbd^x->*obgQKvxZ)+1{oF+qZ#H zRtILw=5Uf&8v&bwB(8`fJOY6_3!#4$-O`CcL2dx4hkZTovH$E28RG=Hgo+|gL~{@- zbSqJJ4S|AK3&TVE5ar~jG>%Z-)!K34Qz1XfiQ18QTA4+ybsz1A_Gd@12r|o)N}#uW zG>~(RCiYOy`f|lT6-)M1F$b#HQ_8Hs6?)6Dg>q~vNbp$^7!dW%t;&Av(;OAl78x9Z zZnq8Y)iy2c8LyeZ;%{hCR_sa=ZkD~1gJJbfAarQ4iN>CYLuRtRUay3CjTVKY3m?D; z=LK;9Hv#n4+jXD!sp@~(JbdK%pXbkZ?f9SF?X~{*C=c`hy~H6(3Ka1;9>&;@G8j$} z5MQ={JZ8EZZ1a;zUGb^A`F}f$bjFStQ+6?v$#X|IMgZN0C?hCLt;_=n4=) z=kEeQdc_WVKoF+cLdqCX3P8eDiU}c^xFQ5HEQ2&3_hVkF=)XKYesMN@(c2BSJDs;l zOu415#EMi5S1|%Hya8zr;5bK!1*GBx+~k}EwiXSUe z1=0k-1ayyv;B?ppe?1zW4!1f#pI-d*`t1ey`RL7?qqB?C7eny+4LE*%c5-@g`uc1L zUjG1&&i)Smc6xTQ1rTN#nbB>=MQRQ(B^`=_&JZD^ap{s3`65CP!(=>zV+6+O9OdlX zTUG{3P*KuhL8QX&uXHEqbS{VIC;zV}e)mqPRgFg&Cn_ID(mW(a{Z%b9GYaU3o^K!5q0-fSf5PB5!J%gplBb zrGAcaK|1M(#i@x)30PRT)L^v3rR;>NPj_JfUT(7{n}?023{E0+y9J(}zdP177QK00 zz^bE3gF}(()YfUv-yH|4RL?e0jL#0e$8P43AGmVc5Kfyy(@uC}q77yiZKSydoPXC( z>uuU5#Z!$Cnt4X4Rp}ekN-E_8uLf@Ec-59{U7n3q4K3QL^jb?@N4ss!DmL?;8c|O6 zsMP51_58mo|G6RYkSaif{NLW+w(tLXcJTb!TK+%ABliDTI^0}^^aw64cJur^Q5v0& z{W`T(#{qwyZ92YN@;Zb6nxRg`2`<7MKYr{``JIeU1bQA9_^!3E{w=)BuJzAzr#+hg zclX(jz5e&N_t*FTJ<3y2zht_;T7|2QBZ#=yT-nn9E0e@%dXs!*DMfPfdK^9C zv!-B3I4=LMo;kr#F09*4m|LaJM{G3P-bXAu)7D39_O8)Kyqb$x4Y1i($>}+CT7J0sc`s24oD64N|SZ|M_EtzKUyUHeEvt( zgSGpy?c7W-Dh8 z6v*c=3yjlxl_bbc*RWW}ps!=l%NTScboxGl=yu44@H-hy*A2SYI=$L0q@``o%_+x~R1K`Y#rzVNDqdO0Y?g4Vu zm8kV9W2VUq3WyDSNgBN?dJ;S<%lO@0so|)lUzU~`IoWr*?&rrBfCWX$7B~5yS{3jC z{A-r#hebe{`$}(J&oNa#BHP};jaq?!uOfB+?%0VGE9}5Vde&GOJ*lo%#!ivT*V>3N zq;9WUtxVZox67s|PYNQ(#b}|#rZSo9A}qf^^RH_E2}f=JeR)gzc^Z{>q_1ETHtqlH zJ>NI&zuldK=j;8SM|o=1Z)hpslk(#HER6tElftitmlvS1T#y=fxr`brTJD*FbT~f)7ej)@jWEOmXtYrGx8Gv@#l~9RUE|HUlWj zXaM#E07P;e>ST6LI*$4A`P;Vy$M|=q1)ZZjLYJWD7*Ai zK(rbP_?4s;xK=nBFIKi9V%6qi94(+KitbLH9`?^H$E?D|kg)ATN2L&E@CwJ6;BtNh zvVzB8bmcmAfhp?MwhrVhKRBf`zsOY5ncY$4oYwkGR;%9n zUS4H-cUSJV@@q}I960^#0$afhu&anr64^JDHX-4?G*#!hR&2V_33hj>{T7J3y?J#; z-b!6ReAH{Ea_aKQJTx6+2TS*rW7_e% z|KL0O1cY)iC3D-@W3>)JgvX$J{`T~wD_*&(+&PX^8vycIa#Xx6SOy>iN|r`L6wY!? z7RPBq(5-bGVw|V5%!52trE5CCtI8hy$a=uvweEreVpRM{e^#J0b-@}`^XQH11Pi~y zQM2tm)55eVSS__{D1H{mn9r3XRtYz!rP8s%-+TZh9kPR?U{gY>s8`nM9t%efS#+iO z?7hQyyn-a0ltGFAn_jsML8b8*Jvbw2FVk0dp8J=C!{+7-QLc2*HIv1v2ndDjd8f>4gh;u%)$_%2t`}$=Lq5$ zMO&O9_1G)srow5WEY7-^Dn0%tM^sXfbJpGfoS`|&#i#O$*nwuraoQJ%^w{|7B-ivR zJY{h*FwSs-27AGt_Kgx8+Dd8<^sjKzFDBO8UTD4e;85$t5_-P{o=&nUGdrv)S?np)g?eH zP-}tT*4q18<$kN+s9jRZcjOy;L~RFJOx$DYP{HK|rxKvIq{ncnycQSOIz0`oNwqSW z?)U-Uqxc3c3c9>UC^xQFPAI3xqw<1lMD(+=pgG}5mAa0!C;mdtuZ`@2=beft(OJ<9cj_Y^0DulE+KQzoC~nkA$2jcNR-@dV=sGJ@L~d2@*Zh`eW>( za>soQ6xlc>mAF{50#Tm?^t-i~_^q2~X~ew8#{HfW0b|D?5hbly!!!pQI(WXjAm?oN zr;Cg8F6(rCnPJzSJ?7-McT?p1RY%B#F7c}!6de`4vOX3He!~!}b*XJI+O25JV5M2d zns3uHxfC7MmuQYHA%kFirMZe(V0*n@$DLZ>n1xxrf|S|9g~Yo&RB-|KZEc|KJKhty zlt;Hc&{ohVd{*W5K zk-glb_3QEX_tE%WnW9^3`y4qf^80hB{6_m#EnffXg=AYW#XMwD{DZ^tR1N)I=4$9_ zqvP5IoR<#d`|tkoKQ=dAp?7vhTaP`Vli|Mcb(VH%X860ilUly@z3$wVJJTQA0^0Cw zq8LN5sWxN;79@vggs;`9wd>gx$`eFT5#Y2h$DE1tX9Yp|>3Me(Y_Nb6^>I^dQ}9F=s$g|ELivf8S3ivdX;z`TJCsBvwnDu( zPB&ftWx(8nFZeqTkj_gIvxE^+5S% zm=iSr~B#UReF^_8n|Oie0Tt%`5h6xY}Z zNs#Fw4V#;)lk%0;g=*k~$G3LpPdDn<3TiW8J_F02$7{6z-*XM=K3;$Z`=467H!VhDmYPcP`)7x~7LcS(~vV}6^jkmC#|HkDQXosAM*=nsCE@IXGU8@TnOVH}F zicQnWyBux13_;$BvNw*DK`xiJ@H|$$wscCuIm9u~qxBSQf-cEt!c)J}-NR4qEk4Ep#p|UTm+%858b_DzK8H{Xu*4>9V-6-t`44|Bs2pID8y^DsDqf}IV7kp z$h$wlDYf(qm<5`X(zrAJgX>Gr;g*h{LV<}pl!scY)tJ<>pgu>4Rn+c1+nCz^87kCzVu%%R$E%Zd>FV)pk@cPgtcL) zC%h&~zBp2Xu7(|*W=j6MWLQbjCQ5Nxw>+sd8TrN0YDLm4v6R&k1vmlt_PG37)Y7e- z@vZ;~_0kM0P-kF`cEE<(5w*z|Xk^p0m(9j?qxW)@r&BP8IcD9YT3>C?8hZ3ppu{G} z>WG&{PCac@b4L4ih(pV|`VMskW3?*foMY7kosw0aCJKo~MAu#ob6e|_U-IMD|0a+s zfciyopK$+Ydw+l5_WvC0JYVa7kMU3j3XXZ0oE~3OOkj>80K+`hlD+#lXw8*^blK-= z91E*Ehe>o4XA^ifn}U7Y4%Kt*Ij?iL{;mk-JH`bL3BR_18}7fQI04-)&~1R@2~ls` zw1V$zXtQ?cMeIe~gE%|D!lgZ@}MXS4eL2@?E@?M`}hW z3A{_+nX3M}1f}l?$!L|}Sg)kD8_4$M>eT>QVWXDf3$!gnm}PmI<(MijrCX5gaM`z4 zEY&ML0e{&k9-Z73YzQagfHEn5vyAEAF3@z2^5b-x!5o3^f9(W2-*+8Oyhe%!=1Dq% z0lR9h>x>(=iFG_d;k6=0L3n$M<;YQ9YtXZjhqUXGai76vJq1O8Sec(~tzkaQQ^)^B z$kDw$fKB{=yXybj-(BDT`6!RB|A}z%x{Qcv{4$Lwu;C!y#vQn*5Il3uy!YZ68OyC$ry(_-+qK-=r%Ut_aHaiqO zxDRD3Wav5ZOX_bD*X}E=)@7%VlMtCblN)1e?)vZi)bW2lbw2(5Z`;o+=Rfxj*84w? z@~q=O*YTg9J^mBCxXoY^RpLMS4H7>2s7p4Njmd;PlVTg{A~Mz& zg2e0{Cg29gF&(}cWd`j0Ek#~nTR#qE=$95dwCvq_{9uY45DC&ZQkCyUOqg|P!##l- zJ0M!bsv@Ka-8Hl)D@IjP!(FJ-f>leq!Qtyl!j864ugZ?*Q<_(6H?e`3*xHPtYgQ=O zbhfZrBc>oP#Z=ga1uTpK%b}umR9nd6?^1owQ5M4xf$sn5g6{k7^2=5B%4R)6uRjVy zb~gt}nP98$NnzAEvlfHq+cpaZ{NTDVdg`i?#yHDOA5?8dI47?<#4G;jwgu$%Drqjb zEKf6(#|scbIw|BNk$gQ(NS?+ql|75BiL7Pmi$&(}Hc7P0aw1!8gt9nYOx1q1teI( z!)SBuYx}o<>g+$6f8i7R|F#cypI7{U2W$V|qdbgpze4$#i@-PyVJw8Vh=Y-exyYr$ zzX_S)cV4Np?JlvOJ59Yb+3OV2m0^T-BzFO{>SGBJNEsLdwc8s z-$!}w`29^669lG^xoO03OPehMDwmQ{+P>|p32Sc@mKp>FcPycaa~hz*O|73FV(UZP zj%Hk7H(*wQ41S{pf*fUOfk~P#G+V#o?KkTXINmfj0NDHUSsZKmO3XT$`e-G((76+o zhx(1{+XVBw#z}NqP+c#_$yoJMq{a+Wqi6dBIcCUhma4*(`s=I`610c=oog-c5^AGDlC~hA3@y z7g)M5EYKRiP>V#ajRTw5)w}7K6fLvP@do^>tqRe;&B%4V5ld#{pys9x%^?Jy8jH_C zOoLO^VOK6oG3XZLyLJ~TxqQVanKSOD36dNM1|z-=%!Ju?O#_S8;>_XOD;uWsod14< zMkPC4RtajPgdJ^FDq$?o13$M)ay-?#vunx5YRpy%MZcD{1SaNA_0HD2JB?_;3P|Va z6>7k`|7{0wyR}doOlLONT1$TWFX*%~0JAizroh$BDQar* z6Z&jQ+wW?%@!iTKukOCo@L1PYP2jN>95>gq=Gq%2Rb*Yw4gSI zBy{}&=LPv0lgUrKq?OIXQ=zfvQBstNIMt6OXA93fB(@}9;zS&FDK!}Tvj-Wvw3SPS zuQ}t*l4zON-Zuz!%N^u_Y&t5Uh_NCVn@B4pvlwhhOgEX8+-k)&t2(xpW8AS$;gs#P zp8rQNh9ak^_VfOHBS|Bq0!=@D?C8Jm4;^Y5XXW4bhf30z>Sr>Ov-WdI*z4`cdp<4n zzk6o^X^Q`U{>$5Oy4cb_0UmzBL+6~$qjEDvr~oS8vO5#DmOxul z$jmBzXC}b*<-Yc&z4m0hwsTRN&ORg8wF4n@`Z%g-Kn=-v-^2^e{GT~vKIQrUy=V6R z@6Pjsb^hnadDij&>-hiA8voCO=Fb_I5oz%0Jd4vY4%_J+!du+4E(MY&^F-1dTivJ_ zfhtF|%nluFR$$7DhPp;-GrL7y1=8w?QoLhoE0RU+EMcS8(jyk zO|xC!hOfEzY>lHadbYaQC1Ey9!)rtaT~|wGNvS*Wi$27){o1`s6uN7l$*#{FvoJnE zFGvYbv{T&n>VY_-WMt^zFSBwZJC*Z)e-e|FXNY{cL^y^HCmVqVhYk>pTGd z%pks9V%yw*O4s4-7I=F8?$~#Uy6FL+B~9ygN@1TvGU1^;^t*bcnSjb#?K9@U8WvVs z892n=R>S~xDX7ZCeu4;5xkDAo9EBua@PmB_ z6jUT;v{B6TEHyaHAeKs!>j?BYJLLUTJ?J`L=U`%tN9r5NiR@kItYg_Qg;C%GYJq01w>&wX0x~77XF)Iw*sa zwO9>v)=x5H)=OB`A*LOjWK;7tHsCot%73%+l4Nqi(-!E`WVjdgbDq|>#=}O(Pxs1K zXNZ*!D@QPTox}?nRlVKay|KI-J?yi0QV|#CJt^Ym7!<3R{ z{jZfLM(v$TPl6@JbXCu<0V-?1eC^reD0Mhzom*TGoQ#>Al!aKb!yC9LK$fEs$^lG( zSrCu-jpDdq8%ILWD8S@hDSWwiBBXz+keX%`w9~p?jHVe`oZuWJ=$3deVq!`a92{zC z<~5Irj*Kj8ZL~QH`R*-KKo0d}e5IuDWgMXGsJhlRj2nR|itude`B>oJ(MvqVGQd~7 zw<3IN0Sm*r3tG^QKHHdh;f2~ zPH-}OKO||6I!|P_;&;bGDlLmnFvg_M{?F0x1XsW3efEF(VlwX2|H+@lJn5H!u3&gQ z%UCQ!(fKwgZnDm|!4fD{{X5O^xbyA*zw-pVgE>xT1vou2E*93j}} z#q;#HPB1URG(!D90xJ^h|ILe|lUFZ-Y4j=Ds9*m(`v*Jr{lB~0JL~&@ALV%>^7?c- zfB8k-pSlz51>3)FObE$}LBEfuL1 zouUkm(cs%}!GFoN$CylJS3#Ig`&0wufvtU*WksLl2=%A1ASmy13jKGd^W+J51+hGe z(&>Bv;-;?`Q;1{m0ldv)@S*bo^m@G>;Qz=!*!!{-@By&@7|=Id9h#zqB3mZ>9DvLJ zKHLd*4ub98_9ZLI6@1$C-_Qbl0F+YT12_>I74)wn%rU#&i#EwH;QyEZ7=N)}oe$vr z$I}z=0pNtfxZFSZ?vkVT0i3_}eR=!pX!tkq0Tl9b*~{+s_HI{wcb?z*z{8(EfXiQg zb(FL=*jkkJ7h^ZFr4cGnK1Vsrd-BWnuO`C19-NU$x2f8WRV_&qR98uw93Q|{n$nqZ z$xN8q8guYL^QPu4JPzkUJfnrQ}@P)Yk|_%bjCDp#^igH0U2aUZoitfnyWQ zUhq74R$EVA2cq3R)t(Td^78bSHL0aRrv>|?N&%jpw1;ltG>cKd@}srsjRH%xAoYg{ zzrQ*lvFtTq=S-by15sQ?ur!UeyU{CTYB4yu+|aVAfF{i#oGeqB|F-#tE(ISfMsgkLx@(v z_@ro*p}a_wz9`)bW84m4MUb-Xd3Q~&@fAUo-Xv`(Aj{9PR;4XAY+U9Aqo|@&oxQkt ze{}Nd^vsQH6F6Jf8vcFw{?+S~w=Z8f;Z=ErAf&VO4bIVc2J`5?!*2ufO@Qm~3P>jD z6!le&R`4q0zY}Z+yW6|l+u!Xz*C5FA*}mnRk3D=zrYiJ&l)L&z&C;_h{IXW)nTfou zby6ndR^`jI4lWVE@-LKy9Z3*8GP{OZ%3M%RnurX3{;Fk;Jx`etzGaf)TsxBEL9%iU zfk!CmnFX9!>xnOXELf@FO00>i0ewK1(AnE+=xy}zI#ql{#rwW$b~~lIQTeqpb2!Vi znGQxW2oEy)jycyz0vLvbG!#~%yR^Z<) zOm}|7^);?>HcQw|XK~yLOMY2fxy9&NsIDqY&_Y!4(Sm>0dX`2l7_uW{k*_2_-77Ui zdAQ1pxmCQuIcrrTU7lqfM&r-gbRu`&f{)iW;g}=aXvcA7_Dv=Z^l$+?>$10)aHuFXfhP`eN~>yNp_?_8Z)R^TeKYMmG4*~I-6V23SK5?p z_NBD(oVeh(a*tTI`Lw66bv==9A-Zl0@@OXo$ss}Gg#+<7X&mEZ{5Fdq(KHP`QIvDq zIM2d3N_KinJ)NT&Ny{vvBdXN%n=ht_zz7luW(CFlmkEley(kR}Fy9IG^=&h4cPUBp zn>3An>#NdzaUEOH=hZep(`K=X|1U_F;2iK1>_+`@eg;dwX{NkNw?e>;2zH zc|>rB+6Bf_#@RMHUv=pmz{$AV>3r4I=5j%DM8ZkV<_sP!`o#ZaAZ20o@O&NiuW-^YCf$z?aAj##N`PmtU*duzRs;S{)ZFTY zA6vGu1-iYExAd{|)hNvYkMAWRr7#cqC{WI%e{hzP7t|ErsJ6r^l*vf9z-wD**tr{1+LMeoMj~t(dt)L zlZODZ9C;h&dj=+;zcw}jml6$dkDGLj zv}IXG`M6k~Upbf+1+*HcqBWOdQ!pPFheeD~25`c?{5l)q@XF$L$+ql@HFL*mZ^_yp z8yljF)@*Cdu)Z*c#ipuX!2dpEAK#~=_b8d`tc5jD!T3(5Bprx! zWvZr$$PaM}EB)~xGNNS@^zP{8+ZS5V7Wg`w7=UgaRNgVQH|y%%19Xgn4%h`)Z_tSUK{@Rq~k=%NM4oE`t?#cdYj5EH$dp4m}0U@lAEp}=bYll88$xVM1acW<{(r`6szEsC?( zCokTg9ld(-ApKC#yf{j4WYliLT~ZuR{(i>B<)3%|yt6L&|L4ble(b?$ij&J0=m|g+ zIZaXF^(BI@@GV1*3C{{XOcE}E)E28yKf$U+{@?k_)8o^Nm1bKN-03SDTst6)9$z)k zl($wAw(>YAEl@Njy;aFYAs=A$A}>+f1+{{mHZs=#?Pb~-;?3OlW`l)nBV znOD{IQj2{BGp>JLqm9Zc*lf_aMP+^eOKwekvCL`R$An(kqw=V6>FXW5Fx@ z!gKonYAf`-IJH7#U>4A<4@$%LTOhsG0hQM;{`!CECxO^k3V_6m4@e!W>TbI6F=$>7 z*$cw9bzZ^j7eSU^!J+Ez3I@%KWUkvYuVA*iIYSAvl7rY~*@)O){!lepvw8S8HYsZC z9hZH>YYupFfl{WH00*Gk<+76YhQD{~Rs51iDTjtHj^DhvD1{&YTB;SYVUo{$?drVh z56G!`k6UtSLD(&wtChsqv{{~*3?62uSh$HomE(EXq^sH&AbcK6`p}7PGj&r4F$QUX z5Cim=mLpUZM-*h60djM#a;j_r8)}KUx`vgRbXDfMBBx^kFst!7hyR8`GdP*?h1J3d z(O=8hl6qH<+q)xM8-VT5s$jw!hof4LGfn;@FYhO-&?7~<*A zm`u1peWh|nFWJ79Y`V{brz=Iua~=br&UUt zQi%Rj3J4tqX63PyE~N-7#~!G2FkH005R=Q{d2DWm&Sq~b?4xiA%f47MQCBa#jd*6U zw_R4uZdeZYV2R#YlhWIuzueF<;T}tUFm;Hv`cSJr=z^d|i!g2?SwWf5o8dxPdNIon zgNDOZlLNxK(0fU zX94N&rH%tykSpf_%LZ0H5@><=qD}?!?pKZlmMB{%18s7-j|NtVO8>lAWT;RytyQh1 zI_-!6(YHsH?kz>$s2eyh+U+_PE*P0pC8LstxZz*7OBxzB~qkpW&rdARv)*t zRv?q-ie6vzEM`V^K#_NxE(}tzwZp>*lnLthFKr8FXIBF;ds$xdfc3oK>(=tv+uRte_ z&HZpfP(Feoy8C#iuMxp`jL9nBl}nnR#xWX+P>cxLU~O#yXRpj|(7AW5O*)2Tn}O!> zQC@;x+r+a6N&U4cR>E3I|NM`k|4-5!|4z-}_!$XssvgA-CM3vX-7y3HL^ z)=Rb5`%oRk)HUm=AeHe_-fKGd3qDlKV^Pk7C6O_8ay}SVfc=(>_ye%B&A<9FCMjdeU8em-BeRKN9oB!&<#P>Ii9y+v&T zx|`M3%0o0)&TCI|WdTofYV)KShni7w+F7dz;#Y{|IQ(3axW@e_lbM=Ubw%KDetCTU z_AS9N{+%U}JV$wm5(3Al4S#OOk$o*39&G!Vtm?zS>cm|)%x2vIIN1K^7BalaS7@5% zi%;CInnn(vuhO+C1K1sa=f2(@r_(E(v{Mi6KRA!mYdN4>pq>D0$#;Lrx3q^&z81Vr z#3VS`H!oqGd^2G25}xzZI3ZOx-1{vHgL23%%pBw|+xx{VEYOx&pFIcOeg%irPS~ig z%NNDb9OZC~v{j+OW65$3p4E?fTQRB@(w5f0&9&?BlRbw2Ph3;+u-Shb{eRDQp4<1o zK70ObckTasjOR=7|A`A{9@^h$gZ(r4_e9^@`SU7-s`~G$v~>9ER#W%A+P-KLxLs>M zrG;@`+Ws!0Yg>c>G^m?iADF%~bNF zIAb3#??X4>nl8F*VNG}@4xN#YMQ9J17@>XCp&zM@ak=UO{xpkMBd)}-O5i_>)h))M z<-r0$>Sf%_Qcy4BR<@9`>}d_{H?tT?J6vQ=eL$wq;Yj4!@=DlOA(9=NYov`B4WhU{1S zYW!N#?_HTTZqQ!$w_A^;h|3$Q?jOJERcJ*Mby}+^!ZJVHdndO+rR0u!H#5~xwKq&_ zv`bNI6+z|54Z~(^c_Y^0ciWBH!97%o2T(@2(q)UZHuYuiS<2z8oQ?MY#WEu8?Cw2l zCt=M2_oLvLr~^QoS&P?)6R)d^%?A~k45hI)(TaxF0Gl=%Z%`dNA_vn-FKyE0lj?D)DSW4}#IEV*ldh z@ZQqiE9@^`4&|$Q|CKiyteV{vtfCEg{Z|(+hqWG~^E{p7sK$5oNep}vE169HICR)= zwG|6RwL|`A&r#bW1Q|ud)5g#Q{Pen`0cT=YH$FPa&(bo}>=#G!&qFj1rFfaoM*K&H@+mF~I^6GnORpX(4x}Oe{5D)Y}Q#6Q4f_6b6KC)F~L%alLP3NdUNr+ZAw7nMg|E5=^Y5j0! z@&Be*wPx|pm`r}s)A+4oe3*Fv)opV;$6A}>O$JM~hRP0g*l*vAd~?_*)2y96$mr(` z9r&|Y3BRRRJ`3TeG`$wq!T+XLmSxa`Gm`c+L0r4*N~ixamV$=W{m!2F0W~|~YIy}u z!d4t5k(Nditm>Te@(t09SzsCd@#kFEf@}kmbGo9O4DRSZ4f$n}u|T?*{G9Z6RoM{~ zkohm$R9KP*JFC)Q$DqM77~W?VmYdtY1ftFarhneUH=jx>wUjtEE@B{s!$>RYPczCh zL>Ar6V2EHImgzS=UZqM-(^jqcl9@X3UpAjc+GzysHG!oyfTbk=5)!|)q;D_bmzL~HO7xbJ z{2ph(y}G-YH;uZx*4ZD@Tq>pw3TacG5z%<9=Gwo)Nxzs-8QKe(B%P!;3Fy56`v>0* z_7A?3N%H@hRKL(!^v}ev2$@+O9UYa&O|mo^qHvaDvN%o?f^PlBO!X{vwNq7a0gU7H z<~+x99HTLMQG_sNhePGHeg+WF$>}eOo+crGD1OY-S@zIW8*#9Q2L}g_MWTa)0}qMV zm(@x1W|kZkZwr(^G?8)%`0)GhzkdueegFOUo|&Y+JOG)FlIRo7syc%C>OAsHq=aB_wfzfPiK0Dd{)(%oT5Zq z^HQo*4d$gRwzRb<(5bb{Byh_lJC=R@wAPqv#%T3^hEwPS;P<3CfYwX@`HFDor^y}beG_8hm0ux}5! zehRHk$NI5QGS?2nYZ$^9{o{w>12Y=~ui^30%NIS`h#xh4+Y@zqA$`^JaU(V@6<_`| z2={6bU2~pgIgd-|t;Bw6ELCHzA0E=xx5U}UvJoQzu?Djyc>eyU9<_G1z&(+9AT!dm z|I+B8bN~HEqy4vcu)S-?e?Qya-&xy#kMVpl_Fo!3xUr{!{8L$WY1Gn;(+T9T*$n#8 zKV<^*`zUk%kW5+(X!m2)>TvG+`WTD>*fA8J425`v`5ETgOWtyMJHno>76_Poe=>F8 zL2sk3m6o;FQm-Os*_*9~+pBYbGJe0+Q&|!0AR;0+X@30$EDHA2u8ai7&b4tt6=wI% zkdv~D6-!7!rLUb}e_(+C&UL4Qm5D9=*sfRIzsIUG_qwz>aKB}Ek`(7@jKjs3vIrZN zVfQ$m6$Ir!;M}r$DMLv(N$$CLTD5V%b#F8w&qSSB*Q~yR$qdGtPtn<0BuDV@EKQtk ziT7)E@Ndfw)Eu}UGdPMOOi_dJvDz8Gulunk7*RA)%O8dW5*#*cGC&93D#%q*O8UvF z2n?vXW){*I)FOdX9O}7JDhOQGBH+tXqM{EjJxEzjA^v{7kRNCvm%$$t;4-UC4>YM? z;bJt4jk1b;h=DKH%KgKvuyYYNtYK|`;gq0hxqjy=K>SjH)x5j|lQ=M(Sg+XZ;9g>` zw^qMWHh6;bYQ6fp+~N6&T4O@qoKcX#r5n4&%qPGcwgU!&{mBYmc2;MQ-`@Y2C4W3x zlXmRTb=Z(i5uK;~r(E7ON5;xCVr-gp*+ts~c0Ybr)@1UhKQwEamxqy-;Y;d-SKT&% zI#*Or3y+$@h%DNkG-O>@@~8CHdHO6_EpY}m;{E7e6Xo!N11CRSIQ;# zOO5%1R?*Nj?#}oR)h1SD@k?`ElL_9BgH9JE|5O;!H%5HNvW@7m5^R6DQUZn{DvDPr z{r(2Q=;s_0^a>`6>g>b6qXF3Y(T$=W?QuUW3)a(zLiF-Jy1Ffl_C6*td31R> z7aM{IR5_qW+eQr`vQa-TQ@2;Q-Mz?Ga^7= zd|flqc_SXi%JsA_mhCYk`my(ZczrATk>%36@vT=Ti!|t3k2LZBvv5c zkq+eWkd2bgT<(|JPtC+F6T8e6ZV`lv3Hej~(dQ~h@cI)A@fX5~@f_v-Bw`$_V5;3q ztax2OuTX?%Q&5w{8UK!6;wdIRxl-PW&mXrH#M@!%aI2uTfF&SfIeCSp0=@)6gDI0(V&Q!MY+w-B7+c*Ee|)=cg`bXXZj&=MMzMpw9FK(Va{=(}2&58i!+ zrjG(z(@jKJa_65mB<$u|>($JaU`neV<1gG9XVIWe_^I3s1JLD}C#(XpP5PZovz@N9 zRn9+`XxA@tSHSij^7xPFadhRPs-~!t=HJ=~S-TP;T-v<7RgA?}Nk_gzS2@3Og7X#HthfqAt44!b(A`=_d|5Wi zAJkFhxNo%XatzSQ0+0-h-*D`4Qq^9K;cTb&Hqtr-YMo_{1QHryB%3)rGf_MhpQ7GhZNtjzT0BxctS?86WMKBJ@hENGPS}t@f=07=h&&!W?N|j_ zWazLE6$%y|TJ7fmbOm)av3I16U)LBv%YQcjT{?JO_hC+X^_qbH#W?sLPjHr_(Nb{g z;1UdTGj4>3+ckiQm`NY#7hISU>jdW~z z47{YC>+Q;V+~+=(ynY_*G0y*s`<5R%2SCI9Z+i#ND(C;7@9nP7|3Ai4fBt_ol}Gs> zFB5>c8~mZO0oY*wOc?=0-`iycs1T}}8K6o_t(DK7#m&8=*A(N(GA4#WyjrcE?_=J3}-fw4{<`-KuunPXisjs3N&X+iH7{m(`Yyg!dta7n!Cti96IJhU1!QZ6>AP(m zNm@QKa9j~d=C1Ig$*zR7vGid0g(rW|_>{St+XMkH{)zIuYRu(`%<{xzp@A=sTd(99 z^zv#A6FLW^=f^6qo5^ezF5&z0nCILi*PAX=sV9ExyDj)~TKgI)m(Vh2-~A%&JWoj) zrtv+cm{)*F_-)hbx@C=oG63C+<8$k*M;7A{6Z+nhGQ!7>G6D6F!(67dpDr%Wmt=mb zHCA`|=7!4&1f#j(lI^`cS)G`)uDdn<<;&&NYj*k2>{1TCkDJL!bAMiTlq4x(mr6Z= zLhj{eS}PXN)p?r+vl2!637A`(<{px}wQcXg*qhN{WsvT=B!_5(uLGQnb5s<;_3R4e z2_mQna4J2ULjNy{aDtdQ(xs+(p@MC}C*qbKYOUGjXJVJyc+@gYwG9i)3T^My(V5B; z@xgi@G!QKVgXvr5zyqvr|LwUJnwP9n6peCgi2Y8=ZWtw*CN35HpY6EfQ9 zYPfw}fFvbgl+Kc*hRpRi$~A=f=R|G?~K~M}pYq5P+|XCT!OGaqDOO Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/lazylibrarian/5.1.0/ix_values.yaml b/incubator/lazylibrarian/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..553b98dbe3e --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lazylibrarian/5.1.0/questions.yaml b/incubator/lazylibrarian/5.1.0/questions.yaml new file mode 100644 index 00000000000..d2ac8ee07f6 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/lazylibrarian/5.1.0/templates/common.yaml b/incubator/lazylibrarian/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lazylibrarian/5.1.0/test_values.yaml b/incubator/lazylibrarian/5.1.0/test_values.yaml new file mode 100644 index 00000000000..5aa4e24b14d --- /dev/null +++ b/incubator/lazylibrarian/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/lazylibrarian/5.1.0/values.yaml b/incubator/lazylibrarian/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/lychee/5.1.0/CONFIG.md b/incubator/lychee/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/lychee/5.1.0/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/5.1.0/Chart.lock b/incubator/lychee/5.1.0/Chart.lock new file mode 100644 index 00000000000..67aebc8ec9e --- /dev/null +++ b/incubator/lychee/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:55.746796142Z" diff --git a/incubator/lychee/5.1.0/Chart.yaml b/incubator/lychee/5.1.0/Chart.yaml new file mode 100644 index 00000000000..a30f3aad0dd --- /dev/null +++ b/incubator/lychee/5.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/incubator/lychee +- https://github.com/k8s-at-home/charts/tree/master/charts/lychee +- https://github.com/LycheeOrg/Lychee +- https://hub.docker.com/r/lycheeorg/lychee +type: application +upstream_version: 2.3.1 +version: 5.1.0 diff --git a/incubator/lychee/5.1.0/README.md b/incubator/lychee/5.1.0/README.md new file mode 100644 index 00000000000..27772b14146 --- /dev/null +++ b/incubator/lychee/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/lychee/5.1.0/app-readme.md new file mode 100644 index 00000000000..792e9d50ab7 --- /dev/null +++ b/incubator/lychee/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Lychee is a free photo-management tool, which runs on your server or web-space +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Lychee is a free photo-management tool, which runs on your server or diff --git a/incubator/lychee/5.1.0/charts/common-5.1.1.tgz b/incubator/lychee/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/lychee/5.1.0/ix_values.yaml b/incubator/lychee/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..63bb15faef3 --- /dev/null +++ b/incubator/lychee/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/lychee/5.1.0/questions.yaml b/incubator/lychee/5.1.0/questions.yaml new file mode 100644 index 00000000000..9a21329edb9 --- /dev/null +++ b/incubator/lychee/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/lychee/5.1.0/templates/common.yaml b/incubator/lychee/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/lychee/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/lychee/5.1.0/test_values.yaml b/incubator/lychee/5.1.0/test_values.yaml new file mode 100644 index 00000000000..20e922c74ef --- /dev/null +++ b/incubator/lychee/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/lychee/5.1.0/values.yaml b/incubator/lychee/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/navidrome/5.1.0/CONFIG.md b/incubator/navidrome/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/navidrome/5.1.0/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/5.1.0/Chart.lock b/incubator/navidrome/5.1.0/Chart.lock new file mode 100644 index 00000000000..b5948dc2fb5 --- /dev/null +++ b/incubator/navidrome/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:56.635620631Z" diff --git a/incubator/navidrome/5.1.0/Chart.yaml b/incubator/navidrome/5.1.0/Chart.yaml new file mode 100644 index 00000000000..1a5fc21ee17 --- /dev/null +++ b/incubator/navidrome/5.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Navidrome is an open source web-based music collection server and streamer +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/navidrome +- https://github.com/k8s-at-home/charts/tree/master/charts/navidrome +- https://github.com/deluan/navidrome +- https://hub.docker.com/r/deluan/navidrome +type: application +upstream_version: 2.3.1 +version: 5.1.0 diff --git a/incubator/navidrome/5.1.0/README.md b/incubator/navidrome/5.1.0/README.md new file mode 100644 index 00000000000..5e5e1c74124 --- /dev/null +++ b/incubator/navidrome/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/navidrome/5.1.0/app-readme.md new file mode 100644 index 00000000000..4f10b994279 --- /dev/null +++ b/incubator/navidrome/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Navidrome is an open source web-based music collection server and streamer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Navidrome is an open source web-based music collection server and streamer diff --git a/incubator/navidrome/5.1.0/charts/common-5.1.1.tgz b/incubator/navidrome/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/navidrome/5.1.0/ix_values.yaml b/incubator/navidrome/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..864240f8e68 --- /dev/null +++ b/incubator/navidrome/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: 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/5.1.0/questions.yaml b/incubator/navidrome/5.1.0/questions.yaml new file mode 100644 index 00000000000..0f2b8f007fe --- /dev/null +++ b/incubator/navidrome/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/navidrome/5.1.0/templates/common.yaml b/incubator/navidrome/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/navidrome/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/navidrome/5.1.0/test_values.yaml b/incubator/navidrome/5.1.0/test_values.yaml new file mode 100644 index 00000000000..1fa719bed46 --- /dev/null +++ b/incubator/navidrome/5.1.0/test_values.yaml @@ -0,0 +1,32 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/navidrome/5.1.0/values.yaml b/incubator/navidrome/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/node-red/5.1.0/CONFIG.md b/incubator/node-red/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/node-red/5.1.0/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/5.1.0/Chart.lock b/incubator/node-red/5.1.0/Chart.lock new file mode 100644 index 00000000000..4339c28247d --- /dev/null +++ b/incubator/node-red/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:57.510683875Z" diff --git a/incubator/node-red/5.1.0/Chart.yaml b/incubator/node-red/5.1.0/Chart.yaml new file mode 100644 index 00000000000..1231682cb3a --- /dev/null +++ b/incubator/node-red/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Node-RED is low-code programming for event-driven applications +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/node-red +- https://github.com/k8s-at-home/charts/tree/master/charts/node-red +- https://github.com/node-red/node-red-docker +type: application +upstream_version: 5.2.1 +version: 5.1.0 diff --git a/incubator/node-red/5.1.0/README.md b/incubator/node-red/5.1.0/README.md new file mode 100644 index 00000000000..ef5216e002b --- /dev/null +++ b/incubator/node-red/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/node-red/5.1.0/app-readme.md new file mode 100644 index 00000000000..6ecbe710e71 --- /dev/null +++ b/incubator/node-red/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Node-RED is low-code programming for event-driven applications +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Node-RED is low-code programming for event-driven applications diff --git a/incubator/node-red/5.1.0/charts/common-5.1.1.tgz b/incubator/node-red/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/node-red/5.1.0/ix_values.yaml b/incubator/node-red/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..1a08797f274 --- /dev/null +++ b/incubator/node-red/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: 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/5.1.0/questions.yaml b/incubator/node-red/5.1.0/questions.yaml new file mode 100644 index 00000000000..8b512d94964 --- /dev/null +++ b/incubator/node-red/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/node-red/5.1.0/templates/common.yaml b/incubator/node-red/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/node-red/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/node-red/5.1.0/test_values.yaml b/incubator/node-red/5.1.0/test_values.yaml new file mode 100644 index 00000000000..f0e52b0b38a --- /dev/null +++ b/incubator/node-red/5.1.0/test_values.yaml @@ -0,0 +1,34 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/node-red/5.1.0/values.yaml b/incubator/node-red/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/nzbget/5.1.0/CONFIG.md b/incubator/nzbget/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/nzbget/5.1.0/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/5.1.0/Chart.lock b/incubator/nzbget/5.1.0/Chart.lock new file mode 100644 index 00000000000..8ac3683bd1c --- /dev/null +++ b/incubator/nzbget/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:58.379147709Z" diff --git a/incubator/nzbget/5.1.0/Chart.yaml b/incubator/nzbget/5.1.0/Chart.yaml new file mode 100644 index 00000000000..da37503dd35 --- /dev/null +++ b/incubator/nzbget/5.1.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: NZBGet is a Usenet downloader client +home: https://github.com/truecharts/apps/tree/master/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://github.com/truecharts/apps/tree/master/incubator/nzbget +- https://github.com/k8s-at-home/charts/tree/master/charts/nzbget +- https://hub.docker.com/r/linuxserver/nzbget/ +- https://nzbget.net/ +type: application +upstream_version: 7.3.1 +version: 5.1.0 diff --git a/incubator/nzbget/5.1.0/README.md b/incubator/nzbget/5.1.0/README.md new file mode 100644 index 00000000000..927dec88266 --- /dev/null +++ b/incubator/nzbget/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/nzbget/5.1.0/app-readme.md new file mode 100644 index 00000000000..bde861cf216 --- /dev/null +++ b/incubator/nzbget/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +NZBGet is a Usenet downloader client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +NZBGet is a Usenet downloader client diff --git a/incubator/nzbget/5.1.0/charts/common-5.1.1.tgz b/incubator/nzbget/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/nzbget/5.1.0/ix_values.yaml b/incubator/nzbget/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..08de88a7357 --- /dev/null +++ b/incubator/nzbget/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/nzbget + pullPolicy: IfNotPresent + tag: v21.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/nzbget/5.1.0/questions.yaml b/incubator/nzbget/5.1.0/questions.yaml new file mode 100644 index 00000000000..5c23093a60e --- /dev/null +++ b/incubator/nzbget/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/nzbget/5.1.0/templates/common.yaml b/incubator/nzbget/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/nzbget/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/nzbget/5.1.0/test_values.yaml b/incubator/nzbget/5.1.0/test_values.yaml new file mode 100644 index 00000000000..36301618ece --- /dev/null +++ b/incubator/nzbget/5.1.0/test_values.yaml @@ -0,0 +1,25 @@ +# Default values for nzbget. + +image: + repository: ghcr.io/truecharts/nzbget + pullPolicy: IfNotPresent + tag: v21.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 6789 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/nzbget/5.1.0/values.yaml b/incubator/nzbget/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/organizr/5.1.0/CONFIG.md b/incubator/organizr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/organizr/5.1.0/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/5.1.0/Chart.lock b/incubator/organizr/5.1.0/Chart.lock new file mode 100644 index 00000000000..2cc67b5e33d --- /dev/null +++ b/incubator/organizr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:59.242051771Z" diff --git a/incubator/organizr/5.1.0/Chart.yaml b/incubator/organizr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..9297304f9f0 --- /dev/null +++ b/incubator/organizr/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: HTPC/Homelab Services Organizer +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/organizr +- https://github.com/k8s-at-home/charts/tree/master/charts/organizr +- https://github.com/causefx/Organizr +- https://hub.docker.com/r/organizr/organizr +type: application +upstream_version: 3.2.1 +version: 5.1.0 diff --git a/incubator/organizr/5.1.0/README.md b/incubator/organizr/5.1.0/README.md new file mode 100644 index 00000000000..dd5cdedc98f --- /dev/null +++ b/incubator/organizr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/organizr/5.1.0/app-readme.md new file mode 100644 index 00000000000..0bfeec6a4ef --- /dev/null +++ b/incubator/organizr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +HTPC/Homelab Services Organizer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HTPC/Homelab Services Organizer diff --git a/incubator/organizr/5.1.0/charts/common-5.1.1.tgz b/incubator/organizr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 zcmV)xK$E{8iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT3$Fb>2K9e|Jk&`|% zovs)rAqh1_a!5$F>g4_GzlAFS5Fjbpanh-{x*CfFHa0eZeZ$5^m`6$Ix0 zv3>8h?9Tl`9+=^GC@*lD48VN11G7y1Owt5(B2BuUm(U;Im{Pel;+?f zpCLAViq0gRq5+r?k`;q~e~igwb`^x_v`_LG3R#&x%(9|Sa)kO*SP+!=`3&sfkhUP} z-rU>-<1`(|h}FkaI7UVPDu+pglX0Jaiqmo0-?`O(y${nk&EM}n-@W~QH_C!68F#MH z;wH_bV$kV<5|2(#cB02#bb3G_ay`33iU!~O_u)>ka}aFzw!i62Ax;Ry3CbBTG=(@G z0Gy1{|0w|nX+G`%kU&ZbjWz(x@^}EOf(pv@ZzzubrwAwMjG&|!qpK^NjDsXruwLg0 zhQ-eJ-|u-~@nWJEMLNqv#PD2lJOo+fxR6DL29j2txg^YfuoLWbKKJZhKlgnE|DVHn zhKf%l0P6Yw-rn}kp3VQC@9eGl|6@GkIK6`LpaZ}Y(CdLAA^;{JoufR*5n>FUOc2O& zG{Uza9kE}dSsYVtBY4wmQQCk)%b|qe9I-MWLL;1DDm^+t0Vr#B!Zaay8pkNFfGIx# z%8df{{T+;P1X3oM3IKE3LKdfsDN4u|h#;D#Nr4DRb5IaS&}bGHh;#tp46Q6|c0EZ6 z>7_YQn$a zBT9kfXpX6*1ruD5G+%%iPcdPm&OiLb-@l}<2Vk$$VLFlm#eUH#k`|bjdEQ?M~OPa|+NBWV%B80DQO;D2Ph zy&m|l2p4o}ME~7^q6|(Lkx;_k55Ne<1!Ba@$A}Cl`O29iSmYEZZ`4u+PuOam!dvs* z_O^m@eE#+=!7=`wp?{9@5G90;EiL$6S?(2@rum|_Xs1B=9Ea#A4AWUcO3s?05RWh_ zz|91a3CaNkq9}m8EGQ=FERMhx0-O^>9U%Ua-ImZaS_6^-7)A6SIv5sA2d|VcE+#@w z2oYmrLsBp+1jjiYfg~lMU=tt`NC8|hg?I}<4hR=uj1ok-Mg(RBPR54p0t8L77!sru z>~2@glD7qCJG9X(&1SR|BT$$l0&XywFi3*IEz%h%7(Ew3=Lz^L0`LYh#swKOE|AU& zDdH#z^F>C{x?0G2zQw!3NKOX?jVSY@OP%tnCycJi;wp_6903@Hs3;_zHT4aQaEyWu zM^?#^^P}PL=htse24K4AWw0oyNhG@a3gQHyWRCMRVGM5$b4=%V5r7LpBst@04~L6{ zz*{ML2c0M2XcJugV*uV>98&^p^43lU;G4TU5WGP#f&~iBDA7ND{HF5+9IGOoCxAUD zng5WdQ}r8wAfRoXY=WM&rT!s5vfj$(UeuIuw~vxJqstSjM2MbpqKa{%6Kj;GQ#D13 zEr4#}G@~Q&1pLhC4{{Dy&RVKcOw%o{_wd5BR~#m|!Ep?(5HHk&(G({XkBcl;Lv-=t z)%nY#ix=VP^dd-L4`z&8(IM|^bEPNeN)O#;X@PoK8uh3}oKJaK z+RJwoH8#AmuV=4MUc5g$di8>HBmhPj#nBrylE1~9b4Vrwwz`5OjS!_mrz7Wz5F%7U zjPUps%vgP1TiU|(OK%FZ9^=KdG+!8%qWrZg)&s}0f}~TB&6j(j1-{Ld4V z2nI?&ogs3Q=GR~fuMyRM5a)nYXG#jLAW*h+c^uCQg7P15UJ$xue&Tg6I~ourNmxTC zoE0*z*43+b0UjA`G0diEN@f?Aqh|~0XmH}K8bXBGaDAFkce^X11LY-v=!{wNP1vbLZM_m^LCH2U?|jT+_kwCAOL@-B3(!iKm|9708XUbr|K&#delNPYwLQl)&z_qEM|7Na!Vx;XM5*) zdWFv#;G*O6Z?_)ei2`Y+Sj$nk@Uj>0VnPt6D3Ceure)kv0FXFn)*oMkVm9btJ6y*RMgyDLhRGGA(rtfl)-Xse6xq{6lMQM*{S~acBrKueALRVjHd&__w2vDaZ!Q^8UQoZ$3w#V?@ z;`sA6CTScM5~A?KMk?h;5XZ9|T}*ORP<#hqzf;=a5yUG^2sIboGeUj-BvV2`{}gk=1pdI2!VUZj zn-xROU6!5`f-AXaM4L?o*%=ni&ugX8W};Uw~`000o}n80J!@e?t|NZzPz&D=|fZ z0rOkoq%xTcz^tNz|E=}GF{jJAuc-aNXEobkz*CB*^!segg#N+B^%h7{ZikaF2!c&* z-Z5_p)$OO;T?`YjBf)HGRtodSq)EIeKeJjezeZHIktlG`;ztE*!(qwIrrBtOZ#j5e z0ERaoI$Ripur@rb)m^&0$Rgtv_)di|PfpLZD(87Rr$}h}obC#}nc#5343aC#U;j13 zIf{6{9R4>yOtE`W15VqnC?VN;Ht$xJ<^*W20WqU_Ep1lQa;r~is$6PQx`~Cb#v~6Z zCwJonr}b1x#|&?n<%|{$Q(S|y;wN3Tm0W4{o~^J{F0gSmv2wbFZJrI2>ZnUDl&MJ00=IQ&r26^ z5`i%y<;ueeK{=gDZ{NIRU)ee>tzoVA9N__jZgol7P36L5Zg`=)sWfRMC!i zKZ)#?%80;=xv$&M?+JLrffu@ylSR*c&kE=OmE*e0`YU_##9DBZv>@eT(qT5mE6&IkXn42>$yJ>;yZ{dfOF97fg*jXAwNcM@_G< zv?SMpq0jS0l_R$O5u$P`&}J+sd-C?ROVJtrvz@XdxUc#HkmPKQr-0QZVH) z3KJx%N#)Gk0pOF0mE{|o!lS*q2;;4JB^a7!WO0J?K}TDEa&ji>bBVOn8Ud`5B2Ykt z8V1_wVIpx+wMmU#hmzTOjUK1RvomZjnj_}yPiK!X|VnHI8y~`~SEfP4z zAzj=&Sc=Y5T*$GG9M#w|?ET}1;pLX$>{1|5uA<$`Wh(}x3a?0~h)mc%Yg`}>a*XFF z0fHX9Q`P#jgsJf;0vj3{n=FixgHC2~OjRxe660*lkH?%2WDA6oG*v+_j^6M#br@VC z_jJ8Nxb%tl%@}78is94`Ya@TjgvOemwR4{N1rB=rpTe7CNRdSmTRymiHJ) z4TrZv*$mUo|Jfr95Wu10_17RrFk*C;wuz9 zVMEy~W>-uSm1rHYt;|=c9wh5tGEcZV%@y5LNB~Mj5yLZ0Bc#@MX>?r)Z>|_3K6Vkx z|Iz`=8$)6dmKgTbdgNI2C>8}@lTdYS0Nx-N{hVWhUMHcxI4`JC%h_H!QaH+9P(>3J zrRnIUO@V($1F-WWR-m~Cnlg#U=Nx68d=K*7F_>j(0xl<1R?iYTd@znLIjC!#saF~| zDJC#S(V!}ws|=8i4lNC?5V=7p0Wj7#N?pRh#b!NTe228)xGgC(cqJLU#b80EC&>^< zsvbz`YXhU-C>&N#YBx_*kU=+s1a?IbPNl0)tj<1hF>v{MiXuFlvamY-O6xc*L{KEp;5e$Gw4qaZnCHGAdMo2P(_*aEUJaUassC;uQ?9XITZN_F7E^GC@QB_Y$q` zves;=7ETb%dg5J=8QOx>XO#1DeoUzxrb$6^h!e7GAPkST!pXRY=3E)>!=k|BghenU zX@vSu=>K_JX};N^zlP$M77ud5gnt3xi23ps8crae#Vf?W8qgV9soB6li^Xq?QeFpM$Dzc7{pPGVS!Zeu?U+(3CS^k+eakqbEB^Z zrZCH>ZgP4qy#>6GjC*^KI4BrJJ%K=vq>R>xggu5sk1l8SXAg4B`9i}~-Q3&+#`})p;mHv{BPfM+0s8!qfscU& z9a%-4Pk91q+%j>2?0MM=bb6WXS98Ac$gGaHVZtah%@ZWX!?GbQx~}82vUYSb-^RAwiUl z!F<8Py>m28=i>OpERPr9Du;|bBZ6}9O-b%=xP8lqM@rr>n+?Fu_V!fDS9Ts?0Csl2 zdxhCMIkN3)eD0%Y>*q5(;{2zIbnm~1aU78BA&-GJod4h5d$w(z|9rNyzrQ~J`54dL zUH{vTH~~WPMV3;LUiw<-{Mfm>>+x+%1iHMj0LF0_^gdGYLcjLE1+P#(7D1J12xH-Y=Vj@F@CXxTh8f#4Ac-pMBPQ&@pe z(>W|RG_!^P%!^V1+cTO$|57bkCIaY|r_s8graiq_06u^OClQrw+p=Be$7*a$9%QX= zt1Pv8Q<~}11$C_%1#8;VK#U-c!A6$jgp5GF2og9@r+6KlgB$ho;I9&mH1hXj}%wL3Fe3UUCv@A*4`5G@Q z%CFc@J#56IYG_4*n>4?UQy4kXtV2?dV$tyMY@dMLdMmNt-C8ae2!VfeXO+WJ}IamasV3Otko&>;W!s`mf>{=vao{y)aE ziu^BA<20(kw*+M@B9aC#_Q1{uJK6)iQ9g!M7D7L+#Naa%^;1LzaxI z8H)A7r1n}FT`Qx1qNl3=$-wD{+XHIS|8{qt+xp-3+W+%757qy`8@7|f^}SPZ{6?yF z^2~@#am066d`g^hGaEZNKZ-nT;+R=^Itps=jopg{wz8@&pLHaca11Krnbd^x->*obgQKvxZ)+1{oF+qZ#H zRtILw=5Uf&8v&bwB(8`fJOY6_3!#4$-O`CcL2dx4hkZTovH$E28RG=Hgo+|gL~{@- zbSqJJ4S|AK3&TVE5ar~jG>%Z-)!K34Qz1XfiQ18QTA4+ybsz1A_Gd@12r|o)N}#uW zG>~(RCiYOy`f|lT6-)M1F$b#HQ_8Hs6?)6Dg>q~vNbp$^7!dW%t;&Av(;OAl78x9Z zZnq8Y)iy2c8LyeZ;%{hCR_sa=ZkD~1gJJbfAarQ4iN>CYLuRtRUay3CjTVKY3m?D; z=LK;9Hv#n4+jXD!sp@~(JbdK%pXbkZ?f9SF?X~{*C=c`hy~H6(3Ka1;9>&;@G8j$} z5MQ={JZ8EZZ1a;zUGb^A`F}f$bjFStQ+6?v$#X|IMgZN0C?hCLt;_=n4=) z=kEeQdc_WVKoF+cLdqCX3P8eDiU}c^xFQ5HEQ2&3_hVkF=)XKYesMN@(c2BSJDs;l zOu415#EMi5S1|%Hya8zr;5bK!1*GBx+~k}EwiXSUe z1=0k-1ayyv;B?ppe?1zW4!1f#pI-d*`t1ey`RL7?qqB?C7eny+4LE*%c5-@g`uc1L zUjG1&&i)Smc6xTQ1rTN#nbB>=MQRQ(B^`=_&JZD^ap{s3`65CP!(=>zV+6+O9OdlX zTUG{3P*KuhL8QX&uXHEqbS{VIC;zV}e)mqPRgFg&Cn_ID(mW(a{Z%b9GYaU3o^K!5q0-fSf5PB5!J%gplBb zrGAcaK|1M(#i@x)30PRT)L^v3rR;>NPj_JfUT(7{n}?023{E0+y9J(}zdP177QK00 zz^bE3gF}(()YfUv-yH|4RL?e0jL#0e$8P43AGmVc5Kfyy(@uC}q77yiZKSydoPXC( z>uuU5#Z!$Cnt4X4Rp}ekN-E_8uLf@Ec-59{U7n3q4K3QL^jb?@N4ss!DmL?;8c|O6 zsMP51_58mo|G6RYkSaif{NLW+w(tLXcJTb!TK+%ABliDTI^0}^^aw64cJur^Q5v0& z{W`T(#{qwyZ92YN@;Zb6nxRg`2`<7MKYr{``JIeU1bQA9_^!3E{w=)BuJzAzr#+hg zclX(jz5e&N_t*FTJ<3y2zht_;T7|2QBZ#=yT-nn9E0e@%dXs!*DMfPfdK^9C zv!-B3I4=LMo;kr#F09*4m|LaJM{G3P-bXAu)7D39_O8)Kyqb$x4Y1i($>}+CT7J0sc`s24oD64N|SZ|M_EtzKUyUHeEvt( zgSGpy?c7W-Dh8 z6v*c=3yjlxl_bbc*RWW}ps!=l%NTScboxGl=yu44@H-hy*A2SYI=$L0q@``o%_+x~R1K`Y#rzVNDqdO0Y?g4Vu zm8kV9W2VUq3WyDSNgBN?dJ;S<%lO@0so|)lUzU~`IoWr*?&rrBfCWX$7B~5yS{3jC z{A-r#hebe{`$}(J&oNa#BHP};jaq?!uOfB+?%0VGE9}5Vde&GOJ*lo%#!ivT*V>3N zq;9WUtxVZox67s|PYNQ(#b}|#rZSo9A}qf^^RH_E2}f=JeR)gzc^Z{>q_1ETHtqlH zJ>NI&zuldK=j;8SM|o=1Z)hpslk(#HER6tElftitmlvS1T#y=fxr`brTJD*FbT~f)7ej)@jWEOmXtYrGx8Gv@#l~9RUE|HUlWj zXaM#E07P;e>ST6LI*$4A`P;Vy$M|=q1)ZZjLYJWD7*Ai zK(rbP_?4s;xK=nBFIKi9V%6qi94(+KitbLH9`?^H$E?D|kg)ATN2L&E@CwJ6;BtNh zvVzB8bmcmAfhp?MwhrVhKRBf`zsOY5ncY$4oYwkGR;%9n zUS4H-cUSJV@@q}I960^#0$afhu&anr64^JDHX-4?G*#!hR&2V_33hj>{T7J3y?J#; z-b!6ReAH{Ea_aKQJTx6+2TS*rW7_e% z|KL0O1cY)iC3D-@W3>)JgvX$J{`T~wD_*&(+&PX^8vycIa#Xx6SOy>iN|r`L6wY!? z7RPBq(5-bGVw|V5%!52trE5CCtI8hy$a=uvweEreVpRM{e^#J0b-@}`^XQH11Pi~y zQM2tm)55eVSS__{D1H{mn9r3XRtYz!rP8s%-+TZh9kPR?U{gY>s8`nM9t%efS#+iO z?7hQyyn-a0ltGFAn_jsML8b8*Jvbw2FVk0dp8J=C!{+7-QLc2*HIv1v2ndDjd8f>4gh;u%)$_%2t`}$=Lq5$ zMO&O9_1G)srow5WEY7-^Dn0%tM^sXfbJpGfoS`|&#i#O$*nwuraoQJ%^w{|7B-ivR zJY{h*FwSs-27AGt_Kgx8+Dd8<^sjKzFDBO8UTD4e;85$t5_-P{o=&nUGdrv)S?np)g?eH zP-}tT*4q18<$kN+s9jRZcjOy;L~RFJOx$DYP{HK|rxKvIq{ncnycQSOIz0`oNwqSW z?)U-Uqxc3c3c9>UC^xQFPAI3xqw<1lMD(+=pgG}5mAa0!C;mdtuZ`@2=beft(OJ<9cj_Y^0DulE+KQzoC~nkA$2jcNR-@dV=sGJ@L~d2@*Zh`eW>( za>soQ6xlc>mAF{50#Tm?^t-i~_^q2~X~ew8#{HfW0b|D?5hbly!!!pQI(WXjAm?oN zr;Cg8F6(rCnPJzSJ?7-McT?p1RY%B#F7c}!6de`4vOX3He!~!}b*XJI+O25JV5M2d zns3uHxfC7MmuQYHA%kFirMZe(V0*n@$DLZ>n1xxrf|S|9g~Yo&RB-|KZEc|KJKhty zlt;Hc&{ohVd{*W5K zk-glb_3QEX_tE%WnW9^3`y4qf^80hB{6_m#EnffXg=AYW#XMwD{DZ^tR1N)I=4$9_ zqvP5IoR<#d`|tkoKQ=dAp?7vhTaP`Vli|Mcb(VH%X860ilUly@z3$wVJJTQA0^0Cw zq8LN5sWxN;79@vggs;`9wd>gx$`eFT5#Y2h$DE1tX9Yp|>3Me(Y_Nb6^>I^dQ}9F=s$g|ELivf8S3ivdX;z`TJCsBvwnDu( zPB&ftWx(8nFZeqTkj_gIvxE^+5S% zm=iSr~B#UReF^_8n|Oie0Tt%`5h6xY}Z zNs#Fw4V#;)lk%0;g=*k~$G3LpPdDn<3TiW8J_F02$7{6z-*XM=K3;$Z`=467H!VhDmYPcP`)7x~7LcS(~vV}6^jkmC#|HkDQXosAM*=nsCE@IXGU8@TnOVH}F zicQnWyBux13_;$BvNw*DK`xiJ@H|$$wscCuIm9u~qxBSQf-cEt!c)J}-NR4qEk4Ep#p|UTm+%858b_DzK8H{Xu*4>9V-6-t`44|Bs2pID8y^DsDqf}IV7kp z$h$wlDYf(qm<5`X(zrAJgX>Gr;g*h{LV<}pl!scY)tJ<>pgu>4Rn+c1+nCz^87kCzVu%%R$E%Zd>FV)pk@cPgtcL) zC%h&~zBp2Xu7(|*W=j6MWLQbjCQ5Nxw>+sd8TrN0YDLm4v6R&k1vmlt_PG37)Y7e- z@vZ;~_0kM0P-kF`cEE<(5w*z|Xk^p0m(9j?qxW)@r&BP8IcD9YT3>C?8hZ3ppu{G} z>WG&{PCac@b4L4ih(pV|`VMskW3?*foMY7kosw0aCJKo~MAu#ob6e|_U-IMD|0a+s zfciyopK$+Ydw+l5_WvC0JYVa7kMU3j3XXZ0oE~3OOkj>80K+`hlD+#lXw8*^blK-= z91E*Ehe>o4XA^ifn}U7Y4%Kt*Ij?iL{;mk-JH`bL3BR_18}7fQI04-)&~1R@2~ls` zw1V$zXtQ?cMeIe~gE%|D!lgZ@}MXS4eL2@?E@?M`}hW z3A{_+nX3M}1f}l?$!L|}Sg)kD8_4$M>eT>QVWXDf3$!gnm}PmI<(MijrCX5gaM`z4 zEY&ML0e{&k9-Z73YzQagfHEn5vyAEAF3@z2^5b-x!5o3^f9(W2-*+8Oyhe%!=1Dq% z0lR9h>x>(=iFG_d;k6=0L3n$M<;YQ9YtXZjhqUXGai76vJq1O8Sec(~tzkaQQ^)^B z$kDw$fKB{=yXybj-(BDT`6!RB|A}z%x{Qcv{4$Lwu;C!y#vQn*5Il3uy!YZ68OyC$ry(_-+qK-=r%Ut_aHaiqO zxDRD3Wav5ZOX_bD*X}E=)@7%VlMtCblN)1e?)vZi)bW2lbw2(5Z`;o+=Rfxj*84w? z@~q=O*YTg9J^mBCxXoY^RpLMS4H7>2s7p4Njmd;PlVTg{A~Mz& zg2e0{Cg29gF&(}cWd`j0Ek#~nTR#qE=$95dwCvq_{9uY45DC&ZQkCyUOqg|P!##l- zJ0M!bsv@Ka-8Hl)D@IjP!(FJ-f>leq!Qtyl!j864ugZ?*Q<_(6H?e`3*xHPtYgQ=O zbhfZrBc>oP#Z=ga1uTpK%b}umR9nd6?^1owQ5M4xf$sn5g6{k7^2=5B%4R)6uRjVy zb~gt}nP98$NnzAEvlfHq+cpaZ{NTDVdg`i?#yHDOA5?8dI47?<#4G;jwgu$%Drqjb zEKf6(#|scbIw|BNk$gQ(NS?+ql|75BiL7Pmi$&(}Hc7P0aw1!8gt9nYOx1q1teI( z!)SBuYx}o<>g+$6f8i7R|F#cypI7{U2W$V|qdbgpze4$#i@-PyVJw8Vh=Y-exyYr$ zzX_S)cV4Np?JlvOJ59Yb+3OV2m0^T-BzFO{>SGBJNEsLdwc8s z-$!}w`29^669lG^xoO03OPehMDwmQ{+P>|p32Sc@mKp>FcPycaa~hz*O|73FV(UZP zj%Hk7H(*wQ41S{pf*fUOfk~P#G+V#o?KkTXINmfj0NDHUSsZKmO3XT$`e-G((76+o zhx(1{+XVBw#z}NqP+c#_$yoJMq{a+Wqi6dBIcCUhma4*(`s=I`610c=oog-c5^AGDlC~hA3@y z7g)M5EYKRiP>V#ajRTw5)w}7K6fLvP@do^>tqRe;&B%4V5ld#{pys9x%^?Jy8jH_C zOoLO^VOK6oG3XZLyLJ~TxqQVanKSOD36dNM1|z-=%!Ju?O#_S8;>_XOD;uWsod14< zMkPC4RtajPgdJ^FDq$?o13$M)ay-?#vunx5YRpy%MZcD{1SaNA_0HD2JB?_;3P|Va z6>7k`|7{0wyR}doOlLONT1$TWFX*%~0JAizroh$BDQar* z6Z&jQ+wW?%@!iTKukOCo@L1PYP2jN>95>gq=Gq%2Rb*Yw4gSI zBy{}&=LPv0lgUrKq?OIXQ=zfvQBstNIMt6OXA93fB(@}9;zS&FDK!}Tvj-Wvw3SPS zuQ}t*l4zON-Zuz!%N^u_Y&t5Uh_NCVn@B4pvlwhhOgEX8+-k)&t2(xpW8AS$;gs#P zp8rQNh9ak^_VfOHBS|Bq0!=@D?C8Jm4;^Y5XXW4bhf30z>Sr>Ov-WdI*z4`cdp<4n zzk6o^X^Q`U{>$5Oy4cb_0UmzBL+6~$qjEDvr~oS8vO5#DmOxul z$jmBzXC}b*<-Yc&z4m0hwsTRN&ORg8wF4n@`Z%g-Kn=-v-^2^e{GT~vKIQrUy=V6R z@6Pjsb^hnadDij&>-hiA8voCO=Fb_I5oz%0Jd4vY4%_J+!du+4E(MY&^F-1dTivJ_ zfhtF|%nluFR$$7DhPp;-GrL7y1=8w?QoLhoE0RU+EMcS8(jyk zO|xC!hOfEzY>lHadbYaQC1Ey9!)rtaT~|wGNvS*Wi$27){o1`s6uN7l$*#{FvoJnE zFGvYbv{T&n>VY_-WMt^zFSBwZJC*Z)e-e|FXNY{cL^y^HCmVqVhYk>pTGd z%pks9V%yw*O4s4-7I=F8?$~#Uy6FL+B~9ygN@1TvGU1^;^t*bcnSjb#?K9@U8WvVs z892n=R>S~xDX7ZCeu4;5xkDAo9EBua@PmB_ z6jUT;v{B6TEHyaHAeKs!>j?BYJLLUTJ?J`L=U`%tN9r5NiR@kItYg_Qg;C%GYJq01w>&wX0x~77XF)Iw*sa zwO9>v)=x5H)=OB`A*LOjWK;7tHsCot%73%+l4Nqi(-!E`WVjdgbDq|>#=}O(Pxs1K zXNZ*!D@QPTox}?nRlVKay|KI-J?yi0QV|#CJt^Ym7!<3R{ z{jZfLM(v$TPl6@JbXCu<0V-?1eC^reD0Mhzom*TGoQ#>Al!aKb!yC9LK$fEs$^lG( zSrCu-jpDdq8%ILWD8S@hDSWwiBBXz+keX%`w9~p?jHVe`oZuWJ=$3deVq!`a92{zC z<~5Irj*Kj8ZL~QH`R*-KKo0d}e5IuDWgMXGsJhlRj2nR|itude`B>oJ(MvqVGQd~7 zw<3IN0Sm*r3tG^QKHHdh;f2~ zPH-}OKO||6I!|P_;&;bGDlLmnFvg_M{?F0x1XsW3efEF(VlwX2|H+@lJn5H!u3&gQ z%UCQ!(fKwgZnDm|!4fD{{X5O^xbyA*zw-pVgE>xT1vou2E*93j}} z#q;#HPB1URG(!D90xJ^h|ILe|lUFZ-Y4j=Ds9*m(`v*Jr{lB~0JL~&@ALV%>^7?c- zfB8k-pSlz51>3)FObE$}LBEfuL1 zouUkm(cs%}!GFoN$CylJS3#Ig`&0wufvtU*WksLl2=%A1ASmy13jKGd^W+J51+hGe z(&>Bv;-;?`Q;1{m0ldv)@S*bo^m@G>;Qz=!*!!{-@By&@7|=Id9h#zqB3mZ>9DvLJ zKHLd*4ub98_9ZLI6@1$C-_Qbl0F+YT12_>I74)wn%rU#&i#EwH;QyEZ7=N)}oe$vr z$I}z=0pNtfxZFSZ?vkVT0i3_}eR=!pX!tkq0Tl9b*~{+s_HI{wcb?z*z{8(EfXiQg zb(FL=*jkkJ7h^ZFr4cGnK1Vsrd-BWnuO`C19-NU$x2f8WRV_&qR98uw93Q|{n$nqZ z$xN8q8guYL^QPu4JPzkUJfnrQ}@P)Yk|_%bjCDp#^igH0U2aUZoitfnyWQ zUhq74R$EVA2cq3R)t(Td^78bSHL0aRrv>|?N&%jpw1;ltG>cKd@}srsjRH%xAoYg{ zzrQ*lvFtTq=S-by15sQ?ur!UeyU{CTYB4yu+|aVAfF{i#oGeqB|F-#tE(ISfMsgkLx@(v z_@ro*p}a_wz9`)bW84m4MUb-Xd3Q~&@fAUo-Xv`(Aj{9PR;4XAY+U9Aqo|@&oxQkt ze{}Nd^vsQH6F6Jf8vcFw{?+S~w=Z8f;Z=ErAf&VO4bIVc2J`5?!*2ufO@Qm~3P>jD z6!le&R`4q0zY}Z+yW6|l+u!Xz*C5FA*}mnRk3D=zrYiJ&l)L&z&C;_h{IXW)nTfou zby6ndR^`jI4lWVE@-LKy9Z3*8GP{OZ%3M%RnurX3{;Fk;Jx`etzGaf)TsxBEL9%iU zfk!CmnFX9!>xnOXELf@FO00>i0ewK1(AnE+=xy}zI#ql{#rwW$b~~lIQTeqpb2!Vi znGQxW2oEy)jycyz0vLvbG!#~%yR^Z<) zOm}|7^);?>HcQw|XK~yLOMY2fxy9&NsIDqY&_Y!4(Sm>0dX`2l7_uW{k*_2_-77Ui zdAQ1pxmCQuIcrrTU7lqfM&r-gbRu`&f{)iW;g}=aXvcA7_Dv=Z^l$+?>$10)aHuFXfhP`eN~>yNp_?_8Z)R^TeKYMmG4*~I-6V23SK5?p z_NBD(oVeh(a*tTI`Lw66bv==9A-Zl0@@OXo$ss}Gg#+<7X&mEZ{5Fdq(KHP`QIvDq zIM2d3N_KinJ)NT&Ny{vvBdXN%n=ht_zz7luW(CFlmkEley(kR}Fy9IG^=&h4cPUBp zn>3An>#NdzaUEOH=hZep(`K=X|1U_F;2iK1>_+`@eg;dwX{NkNw?e>;2zH zc|>rB+6Bf_#@RMHUv=pmz{$AV>3r4I=5j%DM8ZkV<_sP!`o#ZaAZ20o@O&NiuW-^YCf$z?aAj##N`PmtU*duzRs;S{)ZFTY zA6vGu1-iYExAd{|)hNvYkMAWRr7#cqC{WI%e{hzP7t|ErsJ6r^l*vf9z-wD**tr{1+LMeoMj~t(dt)L zlZODZ9C;h&dj=+;zcw}jml6$dkDGLj zv}IXG`M6k~Upbf+1+*HcqBWOdQ!pPFheeD~25`c?{5l)q@XF$L$+ql@HFL*mZ^_yp z8yljF)@*Cdu)Z*c#ipuX!2dpEAK#~=_b8d`tc5jD!T3(5Bprx! zWvZr$$PaM}EB)~xGNNS@^zP{8+ZS5V7Wg`w7=UgaRNgVQH|y%%19Xgn4%h`)Z_tSUK{@Rq~k=%NM4oE`t?#cdYj5EH$dp4m}0U@lAEp}=bYll88$xVM1acW<{(r`6szEsC?( zCokTg9ld(-ApKC#yf{j4WYliLT~ZuR{(i>B<)3%|yt6L&|L4ble(b?$ij&J0=m|g+ zIZaXF^(BI@@GV1*3C{{XOcE}E)E28yKf$U+{@?k_)8o^Nm1bKN-03SDTst6)9$z)k zl($wAw(>YAEl@Njy;aFYAs=A$A}>+f1+{{mHZs=#?Pb~-;?3OlW`l)nBV znOD{IQj2{BGp>JLqm9Zc*lf_aMP+^eOKwekvCL`R$An(kqw=V6>FXW5Fx@ z!gKonYAf`-IJH7#U>4A<4@$%LTOhsG0hQM;{`!CECxO^k3V_6m4@e!W>TbI6F=$>7 z*$cw9bzZ^j7eSU^!J+Ez3I@%KWUkvYuVA*iIYSAvl7rY~*@)O){!lepvw8S8HYsZC z9hZH>YYupFfl{WH00*Gk<+76YhQD{~Rs51iDTjtHj^DhvD1{&YTB;SYVUo{$?drVh z56G!`k6UtSLD(&wtChsqv{{~*3?62uSh$HomE(EXq^sH&AbcK6`p}7PGj&r4F$QUX z5Cim=mLpUZM-*h60djM#a;j_r8)}KUx`vgRbXDfMBBx^kFst!7hyR8`GdP*?h1J3d z(O=8hl6qH<+q)xM8-VT5s$jw!hof4LGfn;@FYhO-&?7~<*A zm`u1peWh|nFWJ79Y`V{brz=Iua~=br&UUt zQi%Rj3J4tqX63PyE~N-7#~!G2FkH005R=Q{d2DWm&Sq~b?4xiA%f47MQCBa#jd*6U zw_R4uZdeZYV2R#YlhWIuzueF<;T}tUFm;Hv`cSJr=z^d|i!g2?SwWf5o8dxPdNIon zgNDOZlLNxK(0fU zX94N&rH%tykSpf_%LZ0H5@><=qD}?!?pKZlmMB{%18s7-j|NtVO8>lAWT;RytyQh1 zI_-!6(YHsH?kz>$s2eyh+U+_PE*P0pC8LstxZz*7OBxzB~qkpW&rdARv)*t zRv?q-ie6vzEM`V^K#_NxE(}tzwZp>*lnLthFKr8FXIBF;ds$xdfc3oK>(=tv+uRte_ z&HZpfP(Feoy8C#iuMxp`jL9nBl}nnR#xWX+P>cxLU~O#yXRpj|(7AW5O*)2Tn}O!> zQC@;x+r+a6N&U4cR>E3I|NM`k|4-5!|4z-}_!$XssvgA-CM3vX-7y3HL^ z)=Rb5`%oRk)HUm=AeHe_-fKGd3qDlKV^Pk7C6O_8ay}SVfc=(>_ye%B&A<9FCMjdeU8em-BeRKN9oB!&<#P>Ii9y+v&T zx|`M3%0o0)&TCI|WdTofYV)KShni7w+F7dz;#Y{|IQ(3axW@e_lbM=Ubw%KDetCTU z_AS9N{+%U}JV$wm5(3Al4S#OOk$o*39&G!Vtm?zS>cm|)%x2vIIN1K^7BalaS7@5% zi%;CInnn(vuhO+C1K1sa=f2(@r_(E(v{Mi6KRA!mYdN4>pq>D0$#;Lrx3q^&z81Vr z#3VS`H!oqGd^2G25}xzZI3ZOx-1{vHgL23%%pBw|+xx{VEYOx&pFIcOeg%irPS~ig z%NNDb9OZC~v{j+OW65$3p4E?fTQRB@(w5f0&9&?BlRbw2Ph3;+u-Shb{eRDQp4<1o zK70ObckTasjOR=7|A`A{9@^h$gZ(r4_e9^@`SU7-s`~G$v~>9ER#W%A+P-KLxLs>M zrG;@`+Ws!0Yg>c>G^m?iADF%~bNF zIAb3#??X4>nl8F*VNG}@4xN#YMQ9J17@>XCp&zM@ak=UO{xpkMBd)}-O5i_>)h))M z<-r0$>Sf%_Qcy4BR<@9`>}d_{H?tT?J6vQ=eL$wq;Yj4!@=DlOA(9=NYov`B4WhU{1S zYW!N#?_HTTZqQ!$w_A^;h|3$Q?jOJERcJ*Mby}+^!ZJVHdndO+rR0u!H#5~xwKq&_ zv`bNI6+z|54Z~(^c_Y^0ciWBH!97%o2T(@2(q)UZHuYuiS<2z8oQ?MY#WEu8?Cw2l zCt=M2_oLvLr~^QoS&P?)6R)d^%?A~k45hI)(TaxF0Gl=%Z%`dNA_vn-FKyE0lj?D)DSW4}#IEV*ldh z@ZQqiE9@^`4&|$Q|CKiyteV{vtfCEg{Z|(+hqWG~^E{p7sK$5oNep}vE169HICR)= zwG|6RwL|`A&r#bW1Q|ud)5g#Q{Pen`0cT=YH$FPa&(bo}>=#G!&qFj1rFfaoM*K&H@+mF~I^6GnORpX(4x}Oe{5D)Y}Q#6Q4f_6b6KC)F~L%alLP3NdUNr+ZAw7nMg|E5=^Y5j0! z@&Be*wPx|pm`r}s)A+4oe3*Fv)opV;$6A}>O$JM~hRP0g*l*vAd~?_*)2y96$mr(` z9r&|Y3BRRRJ`3TeG`$wq!T+XLmSxa`Gm`c+L0r4*N~ixamV$=W{m!2F0W~|~YIy}u z!d4t5k(Nditm>Te@(t09SzsCd@#kFEf@}kmbGo9O4DRSZ4f$n}u|T?*{G9Z6RoM{~ zkohm$R9KP*JFC)Q$DqM77~W?VmYdtY1ftFarhneUH=jx>wUjtEE@B{s!$>RYPczCh zL>Ar6V2EHImgzS=UZqM-(^jqcl9@X3UpAjc+GzysHG!oyfTbk=5)!|)q;D_bmzL~HO7xbJ z{2ph(y}G-YH;uZx*4ZD@Tq>pw3TacG5z%<9=Gwo)Nxzs-8QKe(B%P!;3Fy56`v>0* z_7A?3N%H@hRKL(!^v}ev2$@+O9UYa&O|mo^qHvaDvN%o?f^PlBO!X{vwNq7a0gU7H z<~+x99HTLMQG_sNhePGHeg+WF$>}eOo+crGD1OY-S@zIW8*#9Q2L}g_MWTa)0}qMV zm(@x1W|kZkZwr(^G?8)%`0)GhzkdueegFOUo|&Y+JOG)FlIRo7syc%C>OAsHq=aB_wfzfPiK0Dd{)(%oT5Zq z^HQo*4d$gRwzRb<(5bb{Byh_lJC=R@wAPqv#%T3^hEwPS;P<3CfYwX@`HFDor^y}beG_8hm0ux}5! zehRHk$NI5QGS?2nYZ$^9{o{w>12Y=~ui^30%NIS`h#xh4+Y@zqA$`^JaU(V@6<_`| z2={6bU2~pgIgd-|t;Bw6ELCHzA0E=xx5U}UvJoQzu?Djyc>eyU9<_G1z&(+9AT!dm z|I+B8bN~HEqy4vcu)S-?e?Qya-&xy#kMVpl_Fo!3xUr{!{8L$WY1Gn;(+T9T*$n#8 zKV<^*`zUk%kW5+(X!m2)>TvG+`WTD>*fA8J425`v`5ETgOWtyMJHno>76_Poe=>F8 zL2sk3m6o;FQm-Os*_*9~+pBYbGJe0+Q&|!0AR;0+X@30$EDHA2u8ai7&b4tt6=wI% zkdv~D6-!7!rLUb}e_(+C&UL4Qm5D9=*sfRIzsIUG_qwz>aKB}Ek`(7@jKjs3vIrZN zVfQ$m6$Ir!;M}r$DMLv(N$$CLTD5V%b#F8w&qSSB*Q~yR$qdGtPtn<0BuDV@EKQtk ziT7)E@Ndfw)Eu}UGdPMOOi_dJvDz8Gulunk7*RA)%O8dW5*#*cGC&93D#%q*O8UvF z2n?vXW){*I)FOdX9O}7JDhOQGBH+tXqM{EjJxEzjA^v{7kRNCvm%$$t;4-UC4>YM? z;bJt4jk1b;h=DKH%KgKvuyYYNtYK|`;gq0hxqjy=K>SjH)x5j|lQ=M(Sg+XZ;9g>` zw^qMWHh6;bYQ6fp+~N6&T4O@qoKcX#r5n4&%qPGcwgU!&{mBYmc2;MQ-`@Y2C4W3x zlXmRTb=Z(i5uK;~r(E7ON5;xCVr-gp*+ts~c0Ybr)@1UhKQwEamxqy-;Y;d-SKT&% zI#*Or3y+$@h%DNkG-O>@@~8CHdHO6_EpY}m;{E7e6Xo!N11CRSIQ;# zOO5%1R?*Nj?#}oR)h1SD@k?`ElL_9BgH9JE|5O;!H%5HNvW@7m5^R6DQUZn{DvDPr z{r(2Q=;s_0^a>`6>g>b6qXF3Y(T$=W?QuUW3)a(zLiF-Jy1Ffl_C6*td31R> z7aM{IR5_qW+eQr`vQa-TQ@2;Q-Mz?Ga^7= zd|flqc_SXi%JsA_mhCYk`my(ZczrATk>%36@vT=Ti!|t3k2LZBvv5c zkq+eWkd2bgT<(|JPtC+F6T8e6ZV`lv3Hej~(dQ~h@cI)A@fX5~@f_v-Bw`$_V5;3q ztax2OuTX?%Q&5w{8UK!6;wdIRxl-PW&mXrH#M@!%aI2uTfF&SfIeCSp0=@)6gDI0(V&Q!MY+w-B7+c*Ee|)=cg`bXXZj&=MMzMpw9FK(Va{=(}2&58i!+ zrjG(z(@jKJa_65mB<$u|>($JaU`neV<1gG9XVIWe_^I3s1JLD}C#(XpP5PZovz@N9 zRn9+`XxA@tSHSij^7xPFadhRPs-~!t=HJ=~S-TP;T-v<7RgA?}Nk_gzS2@3Og7X#HthfqAt44!b(A`=_d|5Wi zAJkFhxNo%XatzSQ0+0-h-*D`4Qq^9K;cTb&Hqtr-YMo_{1QHryB%3)rGf_MhpQ7GhZNtjzT0BxctS?86WMKBJ@hENGPS}t@f=07=h&&!W?N|j_ zWazLE6$%y|TJ7fmbOm)av3I16U)LBv%YQcjT{?JO_hC+X^_qbH#W?sLPjHr_(Nb{g z;1UdTGj4>3+ckiQm`NY#7hISU>jdW~z z47{YC>+Q;V+~+=(ynY_*G0y*s`<5R%2SCI9Z+i#ND(C;7@9nP7|3Ai4fBt_ol}Gs> zFB5>c8~mZO0oY*wOc?=0-`iycs1T}}8K6o_t(DK7#m&8=*A(N(GA4#WyjrcE?_=J3}-fw4{<`-KuunPXisjs3N&X+iH7{m(`Yyg!dta7n!Cti96IJhU1!QZ6>AP(m zNm@QKa9j~d=C1Ig$*zR7vGid0g(rW|_>{St+XMkH{)zIuYRu(`%<{xzp@A=sTd(99 z^zv#A6FLW^=f^6qo5^ezF5&z0nCILi*PAX=sV9ExyDj)~TKgI)m(Vh2-~A%&JWoj) zrtv+cm{)*F_-)hbx@C=oG63C+<8$k*M;7A{6Z+nhGQ!7>G6D6F!(67dpDr%Wmt=mb zHCA`|=7!4&1f#j(lI^`cS)G`)uDdn<<;&&NYj*k2>{1TCkDJL!bAMiTlq4x(mr6Z= zLhj{eS}PXN)p?r+vl2!637A`(<{px}wQcXg*qhN{WsvT=B!_5(uLGQnb5s<;_3R4e z2_mQna4J2ULjNy{aDtdQ(xs+(p@MC}C*qbKYOUGjXJVJyc+@gYwG9i)3T^My(V5B; z@xgi@G!QKVgXvr5zyqvr|LwUJnwP9n6peCgi2Y8=ZWtw*CN35HpY6EfQ9 zYPfw}fFvbgl+Kc*hRpRi$~A=f=R|G?~K~M}pYq5P+|XCT!OGaqDOO Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/organizr/5.1.0/ix_values.yaml b/incubator/organizr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..19a9fa1ee99 --- /dev/null +++ b/incubator/organizr/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/organizr/5.1.0/questions.yaml b/incubator/organizr/5.1.0/questions.yaml new file mode 100644 index 00000000000..f01fc6f13fd --- /dev/null +++ b/incubator/organizr/5.1.0/questions.yaml @@ -0,0 +1,420 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/organizr/5.1.0/templates/common.yaml b/incubator/organizr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/organizr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/organizr/5.1.0/test_values.yaml b/incubator/organizr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..d4a987c157e --- /dev/null +++ b/incubator/organizr/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/organizr/5.1.0/values.yaml b/incubator/organizr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/podgrab/3.1.0/CONFIG.md b/incubator/podgrab/3.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/podgrab/3.1.0/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/3.1.0/Chart.lock b/incubator/podgrab/3.1.0/Chart.lock new file mode 100644 index 00000000000..98e8755b88e --- /dev/null +++ b/incubator/podgrab/3.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:00.068012097Z" diff --git a/incubator/podgrab/3.1.0/Chart.yaml b/incubator/podgrab/3.1.0/Chart.yaml new file mode 100644 index 00000000000..2c2852b7696 --- /dev/null +++ b/incubator/podgrab/3.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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 +upstream_version: 1.0.0 +version: 3.1.0 diff --git a/incubator/podgrab/3.1.0/README.md b/incubator/podgrab/3.1.0/README.md new file mode 100644 index 00000000000..9977071a6cc --- /dev/null +++ b/incubator/podgrab/3.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.3](https://img.shields.io/badge/Version-1.0.3-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) + +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 | 3.5.5 | + +## 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/3.1.0/app-readme.md b/incubator/podgrab/3.1.0/app-readme.md new file mode 100644 index 00000000000..6d69d3a84c9 --- /dev/null +++ b/incubator/podgrab/3.1.0/app-readme.md @@ -0,0 +1,3 @@ +A self-hosted podcast manager to download episodes as soon as they become live. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A self-hosted podcast manager to download episodes as soon as they become diff --git a/incubator/podgrab/3.1.0/charts/common-5.1.1.tgz b/incubator/podgrab/3.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/podgrab/3.1.0/ix_values.yaml b/incubator/podgrab/3.1.0/ix_values.yaml new file mode 100644 index 00000000000..f7e28ef9ef4 --- /dev/null +++ b/incubator/podgrab/3.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: 1.0.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/podgrab/3.1.0/questions.yaml b/incubator/podgrab/3.1.0/questions.yaml new file mode 100644 index 00000000000..f2dba6e1613 --- /dev/null +++ b/incubator/podgrab/3.1.0/questions.yaml @@ -0,0 +1,404 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "1Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/podgrab/3.1.0/templates/common.yaml b/incubator/podgrab/3.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/podgrab/3.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/podgrab/3.1.0/test_values.yaml b/incubator/podgrab/3.1.0/test_values.yaml new file mode 100644 index 00000000000..4ffe356c497 --- /dev/null +++ b/incubator/podgrab/3.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +hostPathMounts: + - name: assets + enabled: true + mountPath: "/assets" + emptyDir: + enabled: true diff --git a/incubator/podgrab/3.1.0/values.yaml b/incubator/podgrab/3.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/qbittorrent/5.1.0/CONFIG.md b/incubator/qbittorrent/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/qbittorrent/5.1.0/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/5.1.0/Chart.lock b/incubator/qbittorrent/5.1.0/Chart.lock new file mode 100644 index 00000000000..f03ba4a3acc --- /dev/null +++ b/incubator/qbittorrent/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:00.894162426Z" diff --git a/incubator/qbittorrent/5.1.0/Chart.yaml b/incubator/qbittorrent/5.1.0/Chart.yaml new file mode 100644 index 00000000000..f4d5e01a223 --- /dev/null +++ b/incubator/qbittorrent/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: qBittorrent is a cross-platform free and open-source BitTorrent client +home: https://github.com/truecharts/apps/tree/master/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: +- https://github.com/truecharts/apps/tree/master/incubator/qbittorrent +- https://github.com/k8s-at-home/charts/tree/master/charts/qbittorrent +- https://hub.docker.com/r/linuxserver/qbittorrent/ +type: application +upstream_version: 7.2.1 +version: 5.1.0 diff --git a/incubator/qbittorrent/5.1.0/README.md b/incubator/qbittorrent/5.1.0/README.md new file mode 100644 index 00000000000..885309a115e --- /dev/null +++ b/incubator/qbittorrent/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/qbittorrent/5.1.0/app-readme.md new file mode 100644 index 00000000000..5d26b483c2c --- /dev/null +++ b/incubator/qbittorrent/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +qBittorrent is a cross-platform free and open-source BitTorrent client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +qBittorrent is a cross-platform free and open-source BitTorrent client diff --git a/incubator/qbittorrent/5.1.0/charts/common-5.1.1.tgz b/incubator/qbittorrent/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/qbittorrent/5.1.0/ix_values.yaml b/incubator/qbittorrent/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..a99eddeec47 --- /dev/null +++ b/incubator/qbittorrent/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/incubator/qbittorrent/5.1.0/questions.yaml new file mode 100644 index 00000000000..45a92918b4a --- /dev/null +++ b/incubator/qbittorrent/5.1.0/questions.yaml @@ -0,0 +1,543 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/qbittorrent/5.1.0/templates/_configmap.tpl b/incubator/qbittorrent/5.1.0/templates/_configmap.tpl new file mode 100644 index 00000000000..d52c601514c --- /dev/null +++ b/incubator/qbittorrent/5.1.0/templates/_configmap.tpl @@ -0,0 +1,32 @@ +{{/* Define the configmap */}} +{{- define "qbittorrent.configmap" -}} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-scripts + labels: + {{- include "common.labels" . | nindent 4 }} +data: + {{- $bittorrentPort := "" -}} + {{- $bittorrentPort = .Values.service.torrent.ports.tcp.port -}} + {{- if $bittorrentPort }} + 31-update-port: |- + #!/bin/bash + QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" + INCOMING_PORT={{- $bittorrentPort }} + + incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') + if [[ ! -z "${incoming_exist}" ]]; then + # Get line number of Incoming + LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) + sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} + else + echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} + fi + fi + {{- end }} +{{- end -}} diff --git a/incubator/qbittorrent/5.1.0/templates/common.yaml b/incubator/qbittorrent/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..bcb4715aa18 --- /dev/null +++ b/incubator/qbittorrent/5.1.0/templates/common.yaml @@ -0,0 +1,6 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} + + +{{/* Render the configmap */}} +{{ include "qbittorrent.configmap" . }} diff --git a/incubator/qbittorrent/5.1.0/test_values.yaml b/incubator/qbittorrent/5.1.0/test_values.yaml new file mode 100644 index 00000000000..5458be87365 --- /dev/null +++ b/incubator/qbittorrent/5.1.0/test_values.yaml @@ -0,0 +1,55 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +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/5.1.0/values.yaml b/incubator/qbittorrent/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/readarr/5.1.0/CONFIG.md b/incubator/readarr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/readarr/5.1.0/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/5.1.0/Chart.lock b/incubator/readarr/5.1.0/Chart.lock new file mode 100644 index 00000000000..75ec5d24765 --- /dev/null +++ b/incubator/readarr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:01.826204702Z" diff --git a/incubator/readarr/5.1.0/Chart.yaml b/incubator/readarr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..5f423aae7aa --- /dev/null +++ b/incubator/readarr/5.1.0/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: A fork of Radarr to work with Books & AudioBooks +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/readarr +- https://github.com/k8s-at-home/charts/tree/master/charts/readarr +- https://github.com/Readarr/Readarr +- https://readarr.com +type: application +upstream_version: 2.1.0 +version: 5.1.0 diff --git a/incubator/readarr/5.1.0/README.md b/incubator/readarr/5.1.0/README.md new file mode 100644 index 00000000000..dded0c18776 --- /dev/null +++ b/incubator/readarr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/readarr/5.1.0/app-readme.md new file mode 100644 index 00000000000..ec0ebb214b7 --- /dev/null +++ b/incubator/readarr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +A fork of Radarr to work with Books & AudioBooks +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A fork of Radarr to work with Books & AudioBooks diff --git a/incubator/readarr/5.1.0/charts/common-5.1.1.tgz b/incubator/readarr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/readarr/5.1.0/ix_values.yaml b/incubator/readarr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..5a2866a1017 --- /dev/null +++ b/incubator/readarr/5.1.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.708 + +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/5.1.0/questions.yaml b/incubator/readarr/5.1.0/questions.yaml new file mode 100644 index 00000000000..ac09429ae0a --- /dev/null +++ b/incubator/readarr/5.1.0/questions.yaml @@ -0,0 +1,396 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/readarr/5.1.0/templates/common.yaml b/incubator/readarr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/readarr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/readarr/5.1.0/test_values.yaml b/incubator/readarr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..27a736c3d13 --- /dev/null +++ b/incubator/readarr/5.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/truecharts/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.708 + +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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/readarr/5.1.0/values.yaml b/incubator/readarr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/sabnzbd/5.1.0/CONFIG.md b/incubator/sabnzbd/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/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/5.1.0/Chart.lock b/incubator/sabnzbd/5.1.0/Chart.lock new file mode 100644 index 00000000000..d0b82065261 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:02.687467444Z" diff --git a/incubator/sabnzbd/5.1.0/Chart.yaml b/incubator/sabnzbd/5.1.0/Chart.yaml new file mode 100644 index 00000000000..5f1290b96e1 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Free and easy binary newsreader +home: https://github.com/truecharts/apps/tree/master/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://github.com/truecharts/apps/tree/master/incubator/sabnzbd +- https://github.com/k8s-at-home/charts/tree/master/charts/sabnzbd +- https://hub.docker.com/r/linuxserver/sabnzbd/ +- https://sabnzbd.org/ +type: application +upstream_version: 5.0.1 +version: 5.1.0 diff --git a/incubator/sabnzbd/5.1.0/README.md b/incubator/sabnzbd/5.1.0/README.md new file mode 100644 index 00000000000..cfa2b2d0062 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/sabnzbd/5.1.0/app-readme.md new file mode 100644 index 00000000000..05e7f339851 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Free and easy binary newsreader +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Free and easy binary newsreader diff --git a/incubator/sabnzbd/5.1.0/charts/common-5.1.1.tgz b/incubator/sabnzbd/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/sabnzbd/5.1.0/ix_values.yaml b/incubator/sabnzbd/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..70a2cef7a72 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/sabnzbd + pullPolicy: IfNotPresent + tag: v3.2.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/sabnzbd/5.1.0/questions.yaml b/incubator/sabnzbd/5.1.0/questions.yaml new file mode 100644 index 00000000000..5b7c5338bbb --- /dev/null +++ b/incubator/sabnzbd/5.1.0/questions.yaml @@ -0,0 +1,403 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/incubator/sabnzbd/5.1.0/templates/common.yaml b/incubator/sabnzbd/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/sabnzbd/5.1.0/test_values.yaml b/incubator/sabnzbd/5.1.0/test_values.yaml new file mode 100644 index 00000000000..314240a80f0 --- /dev/null +++ b/incubator/sabnzbd/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for Sabnzbd. + +image: + repository: ghcr.io/truecharts/sabnzbd + pullPolicy: IfNotPresent + tag: v3.2.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/sabnzbd/5.1.0/values.yaml b/incubator/sabnzbd/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/tvheadend/6.1.0/CONFIG.md b/incubator/tvheadend/6.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/tvheadend/6.1.0/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/6.1.0/Chart.lock b/incubator/tvheadend/6.1.0/Chart.lock new file mode 100644 index 00000000000..68f37369f3e --- /dev/null +++ b/incubator/tvheadend/6.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:03.57116105Z" diff --git a/incubator/tvheadend/6.1.0/Chart.yaml b/incubator/tvheadend/6.1.0/Chart.yaml new file mode 100644 index 00000000000..ea998c886b9 --- /dev/null +++ b/incubator/tvheadend/6.1.0/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: TVheadend - a TV streaming server and digital video recorder +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/tvheadend +- https://github.com/k8s-at-home/charts/tree/master/charts/tvheadend +- https://github.com/tvheadend/tvheadend +type: application +upstream_version: 1.1.2 +version: 6.1.0 diff --git a/incubator/tvheadend/6.1.0/README.md b/incubator/tvheadend/6.1.0/README.md new file mode 100644 index 00000000000..63f3c617835 --- /dev/null +++ b/incubator/tvheadend/6.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.1.5](https://img.shields.io/badge/Version-4.1.5-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) + +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 | 3.5.5 | + +## 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/6.1.0/app-readme.md b/incubator/tvheadend/6.1.0/app-readme.md new file mode 100644 index 00000000000..972a532e256 --- /dev/null +++ b/incubator/tvheadend/6.1.0/app-readme.md @@ -0,0 +1,3 @@ +TVheadend - a TV streaming server and digital video recorder +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +TVheadend - a TV streaming server and digital video recorder diff --git a/incubator/tvheadend/6.1.0/charts/common-5.1.1.tgz b/incubator/tvheadend/6.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/tvheadend/6.1.0/ix_values.yaml b/incubator/tvheadend/6.1.0/ix_values.yaml new file mode 100644 index 00000000000..9f7637469cc --- /dev/null +++ b/incubator/tvheadend/6.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/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/6.1.0/questions.yaml b/incubator/tvheadend/6.1.0/questions.yaml new file mode 100644 index 00000000000..8da4755664a --- /dev/null +++ b/incubator/tvheadend/6.1.0/questions.yaml @@ -0,0 +1,452 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/tvheadend/6.1.0/templates/common.yaml b/incubator/tvheadend/6.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/tvheadend/6.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/tvheadend/6.1.0/test_values.yaml b/incubator/tvheadend/6.1.0/test_values.yaml new file mode 100644 index 00000000000..c811504f384 --- /dev/null +++ b/incubator/tvheadend/6.1.0/test_values.yaml @@ -0,0 +1,40 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/tvheadend/6.1.0/values.yaml b/incubator/tvheadend/6.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/unifi/5.1.0/CONFIG.md b/incubator/unifi/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/unifi/5.1.0/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/5.1.0/Chart.lock b/incubator/unifi/5.1.0/Chart.lock new file mode 100644 index 00000000000..df47251bcc6 --- /dev/null +++ b/incubator/unifi/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:52:04.385448939Z" diff --git a/incubator/unifi/5.1.0/Chart.yaml b/incubator/unifi/5.1.0/Chart.yaml new file mode 100644 index 00000000000..3f7eaba42b5 --- /dev/null +++ b/incubator/unifi/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Ubiquiti Network's Unifi Controller +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/unifi +- https://github.com/jacobalberty/unifi-docker +- https://unifi-network.ui.com +type: application +upstream_version: 1.5.1 +version: 5.1.0 diff --git a/incubator/unifi/5.1.0/README.md b/incubator/unifi/5.1.0/README.md new file mode 100644 index 00000000000..048495cac86 --- /dev/null +++ b/incubator/unifi/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/incubator/unifi/5.1.0/app-readme.md new file mode 100644 index 00000000000..0e6732e4033 --- /dev/null +++ b/incubator/unifi/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Ubiquiti Network's Unifi Controller +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Ubiquiti Network's Unifi Controller diff --git a/incubator/unifi/5.1.0/charts/common-5.1.1.tgz b/incubator/unifi/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/incubator/unifi/5.1.0/ix_values.yaml b/incubator/unifi/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..9fa028d1b5e --- /dev/null +++ b/incubator/unifi/5.1.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jacobalberty/unifi + tag: 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/5.1.0/questions.yaml b/incubator/unifi/5.1.0/questions.yaml new file mode 100644 index 00000000000..e5feb21d758 --- /dev/null +++ b/incubator/unifi/5.1.0/questions.yaml @@ -0,0 +1,552 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" + +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/incubator/unifi/5.1.0/templates/common.yaml b/incubator/unifi/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/incubator/unifi/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/incubator/unifi/5.1.0/test_values.yaml b/incubator/unifi/5.1.0/test_values.yaml new file mode 100644 index 00000000000..b558a83b366 --- /dev/null +++ b/incubator/unifi/5.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# 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: + 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/incubator/unifi/5.1.0/values.yaml b/incubator/unifi/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/collabora-online/5.1.0/CONFIG.md b/stable/collabora-online/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/collabora-online/5.1.0/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/5.1.0/Chart.lock b/stable/collabora-online/5.1.0/Chart.lock new file mode 100644 index 00000000000..9d4b5ce96a0 --- /dev/null +++ b/stable/collabora-online/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:15.433741873Z" diff --git a/stable/collabora-online/5.1.0/Chart.yaml b/stable/collabora-online/5.1.0/Chart.yaml new file mode 100644 index 00000000000..efd19c95b1f --- /dev/null +++ b/stable/collabora-online/5.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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://github.com/truecharts/apps/tree/master/stable/collabora-online +- https://github.com/k8s-at-home/charts/tree/master/charts/collabora-online +- https://hub.docker.com/r/collabora/code +- https://www.collaboraoffice.com/code/docker/ +type: application +version: 5.1.0 diff --git a/stable/collabora-online/5.1.0/README.md b/stable/collabora-online/5.1.0/README.md new file mode 100644 index 00000000000..f034c0bb4c1 --- /dev/null +++ b/stable/collabora-online/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/collabora-online/5.1.0/app-readme.md new file mode 100644 index 00000000000..f25a2567984 --- /dev/null +++ b/stable/collabora-online/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"Collabora Online Development Edition \u2013 an awesome, Online Office\ diff --git a/stable/collabora-online/5.1.0/charts/common-5.1.1.tgz b/stable/collabora-online/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/collabora-online/5.1.0/ix_values.yaml b/stable/collabora-online/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..8ad90d54acf --- /dev/null +++ b/stable/collabora-online/5.1.0/ix_values.yaml @@ -0,0 +1,14 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: collabora/code + tag: 6.4.8.6 + 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/5.1.0/questions.yaml b/stable/collabora-online/5.1.0/questions.yaml new file mode 100644 index 00000000000..1681fc40624 --- /dev/null +++ b/stable/collabora-online/5.1.0/questions.yaml @@ -0,0 +1,305 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +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 + # 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: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: domain + label: "Domains will be 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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/stable/collabora-online/5.1.0/templates/common.yaml b/stable/collabora-online/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/collabora-online/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/collabora-online/5.1.0/test_values.yaml b/stable/collabora-online/5.1.0/test_values.yaml new file mode 100644 index 00000000000..0db75729120 --- /dev/null +++ b/stable/collabora-online/5.1.0/test_values.yaml @@ -0,0 +1,22 @@ +image: + repository: collabora/code + tag: 6.4.8.6 + 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: + server_name: collabora\.domain\.tld diff --git a/stable/collabora-online/5.1.0/values.yaml b/stable/collabora-online/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/deepstack-cpu/3.1.0/CONFIG.md b/stable/deepstack-cpu/3.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/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/3.1.0/Chart.lock b/stable/deepstack-cpu/3.1.0/Chart.lock new file mode 100644 index 00000000000..65c652b477c --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:16.328393639Z" diff --git a/stable/deepstack-cpu/3.1.0/Chart.yaml b/stable/deepstack-cpu/3.1.0/Chart.yaml new file mode 100644 index 00000000000..23bdf305bc3 --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/stable/deepstack-cpu +- https://github.com/johnolafenwa/DeepStack +- https://hub.docker.com/r/deepquestai/deepstack +- https://www.deepstack.cc/ +type: application +version: 3.1.0 diff --git a/stable/deepstack-cpu/3.1.0/README.md b/stable/deepstack-cpu/3.1.0/README.md new file mode 100644 index 00000000000..b082495e2fa --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.3](https://img.shields.io/badge/Version-1.0.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) + +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 | 3.5.5 | + +## 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/3.1.0/app-readme.md b/stable/deepstack-cpu/3.1.0/app-readme.md new file mode 100644 index 00000000000..26df7a8b5db --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/app-readme.md @@ -0,0 +1,3 @@ +DeepStack AI provides AI features including Face Recognition, Object Detection, Scene Recognition and custom AI Models +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +DeepStack AI provides AI features including Face Recognition, Object diff --git a/stable/deepstack-cpu/3.1.0/charts/common-5.1.1.tgz b/stable/deepstack-cpu/3.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/deepstack-cpu/3.1.0/ix_values.yaml b/stable/deepstack-cpu/3.1.0/ix_values.yaml new file mode 100644 index 00000000000..4bff0fb6e80 --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deepquestai/deepstack + pullPolicy: IfNotPresent + tag: cpu-2021.02.1 + +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/deepstack-cpu/3.1.0/questions.yaml b/stable/deepstack-cpu/3.1.0/questions.yaml new file mode 100644 index 00000000000..03af9dffa8c --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/questions.yaml @@ -0,0 +1,409 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +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 + # 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" + # Configure Enviroment Variables + - variable: env + group: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/datastore" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/stable/deepstack-cpu/3.1.0/templates/common.yaml b/stable/deepstack-cpu/3.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/deepstack-cpu/3.1.0/test_values.yaml b/stable/deepstack-cpu/3.1.0/test_values.yaml new file mode 100644 index 00000000000..196439a072e --- /dev/null +++ b/stable/deepstack-cpu/3.1.0/test_values.yaml @@ -0,0 +1,43 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/deepstack-cpu/3.1.0/values.yaml b/stable/deepstack-cpu/3.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/emby/5.1.0/CONFIG.md b/stable/emby/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/emby/5.1.0/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/5.1.0/Chart.lock b/stable/emby/5.1.0/Chart.lock new file mode 100644 index 00000000000..719640cece3 --- /dev/null +++ b/stable/emby/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:17.192590535Z" diff --git a/stable/emby/5.1.0/Chart.yaml b/stable/emby/5.1.0/Chart.yaml new file mode 100644 index 00000000000..ff0bfd5e6d6 --- /dev/null +++ b/stable/emby/5.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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://github.com/truecharts/apps/tree/master/stable/emby +- https://hub.docker.com/r/linuxserver/emby +- https://github.com/linuxserver/docker-emby.git +type: application +version: 5.1.0 diff --git a/stable/emby/5.1.0/README.md b/stable/emby/5.1.0/README.md new file mode 100644 index 00000000000..05024fa417b --- /dev/null +++ b/stable/emby/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/emby/5.1.0/app-readme.md new file mode 100644 index 00000000000..14cf8a3a658 --- /dev/null +++ b/stable/emby/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Emby Server is a home media server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Emby Server is a home media server diff --git a/stable/emby/5.1.0/charts/common-5.1.1.tgz b/stable/emby/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/emby/5.1.0/ix_values.yaml b/stable/emby/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..041b6616872 --- /dev/null +++ b/stable/emby/5.1.0/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/emby + pullPolicy: IfNotPresent + tag: v4.5.4.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/5.1.0/questions.yaml b/stable/emby/5.1.0/questions.yaml new file mode 100644 index 00000000000..1bcc720695d --- /dev/null +++ b/stable/emby/5.1.0/questions.yaml @@ -0,0 +1,404 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/emby/5.1.0/templates/common.yaml b/stable/emby/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/emby/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/emby/5.1.0/test_values.yaml b/stable/emby/5.1.0/test_values.yaml new file mode 100644 index 00000000000..c50b2d79fa9 --- /dev/null +++ b/stable/emby/5.1.0/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for emby. + +image: + repository: ghcr.io/truecharts/emby + pullPolicy: IfNotPresent + tag: v4.5.4.0 + +strategy: + type: Recreate + +# 44=video 107=render +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [44, 107] + +service: + main: + ports: + main: + port: 8096 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/emby/5.1.0/values.yaml b/stable/emby/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/esphome/5.1.0/CONFIG.md b/stable/esphome/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/esphome/5.1.0/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/5.1.0/Chart.lock b/stable/esphome/5.1.0/Chart.lock new file mode 100644 index 00000000000..26d33c8d364 --- /dev/null +++ b/stable/esphome/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:18.035600861Z" diff --git a/stable/esphome/5.1.0/Chart.yaml b/stable/esphome/5.1.0/Chart.yaml new file mode 100644 index 00000000000..7f31ced1d57 --- /dev/null +++ b/stable/esphome/5.1.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/stable/esphome +- https://github.com/k8s-at-home/charts/tree/master/charts/esphome +- https://github.com/esphome/esphome +- https://hub.docker.com/u/esphome +type: application +upstream_version: 4.3.1 +version: 5.1.0 diff --git a/stable/esphome/5.1.0/README.md b/stable/esphome/5.1.0/README.md new file mode 100644 index 00000000000..3f7ce583e47 --- /dev/null +++ b/stable/esphome/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/esphome/5.1.0/app-readme.md new file mode 100644 index 00000000000..1854a47b15a --- /dev/null +++ b/stable/esphome/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful diff --git a/stable/esphome/5.1.0/charts/common-5.1.1.tgz b/stable/esphome/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/esphome/5.1.0/ix_values.yaml b/stable/esphome/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..74246b558c1 --- /dev/null +++ b/stable/esphome/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: 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/5.1.0/questions.yaml b/stable/esphome/5.1.0/questions.yaml new file mode 100644 index 00000000000..adf84316028 --- /dev/null +++ b/stable/esphome/5.1.0/questions.yaml @@ -0,0 +1,453 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/.platformio" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/esphome/5.1.0/templates/common.yaml b/stable/esphome/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/esphome/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/esphome/5.1.0/test_values.yaml b/stable/esphome/5.1.0/test_values.yaml new file mode 100644 index 00000000000..e0062640972 --- /dev/null +++ b/stable/esphome/5.1.0/test_values.yaml @@ -0,0 +1,34 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/esphome/5.1.0/values.yaml b/stable/esphome/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/handbrake/5.1.0/CONFIG.md b/stable/handbrake/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/handbrake/5.1.0/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/5.1.0/Chart.lock b/stable/handbrake/5.1.0/Chart.lock new file mode 100644 index 00000000000..25c88daafcb --- /dev/null +++ b/stable/handbrake/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:18.904543867Z" diff --git a/stable/handbrake/5.1.0/Chart.yaml b/stable/handbrake/5.1.0/Chart.yaml new file mode 100644 index 00000000000..ee0de6f6ff3 --- /dev/null +++ b/stable/handbrake/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +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/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/truecharts/apps/tree/master/stable/handbrake +- https://github.com/jlesage/docker-handbrake +- https://hub.docker.com/r/jlesage/handbrake/ +- https://handbrake.fr/ +type: application +version: 5.1.0 diff --git a/stable/handbrake/5.1.0/README.md b/stable/handbrake/5.1.0/README.md new file mode 100644 index 00000000000..5857382e0e0 --- /dev/null +++ b/stable/handbrake/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/handbrake/5.1.0/app-readme.md new file mode 100644 index 00000000000..483e45f40d0 --- /dev/null +++ b/stable/handbrake/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HandBrake is a tool for converting video from nearly any format to a diff --git a/stable/handbrake/5.1.0/charts/common-5.1.1.tgz b/stable/handbrake/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/handbrake/5.1.0/ix_values.yaml b/stable/handbrake/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..a47a4681e9c --- /dev/null +++ b/stable/handbrake/5.1.0/ix_values.yaml @@ -0,0 +1,20 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jlesage/handbrake + tag: v1.23.2 + pullPolicy: IfNotPresent + +#All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/handbrake/5.1.0/questions.yaml b/stable/handbrake/5.1.0/questions.yaml new file mode 100644 index 00000000000..ef75735ed5b --- /dev/null +++ b/stable/handbrake/5.1.0/questions.yaml @@ -0,0 +1,575 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +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 + # 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + - variable: deviceMounts + label: "Mount Devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: devicePath + label: "Device Path" + description: "Path to the device to mount inside the container" + schema: + type: path + required: true + default: "/dev/ttyACM0" + editable: true diff --git a/stable/handbrake/5.1.0/templates/common.yaml b/stable/handbrake/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/handbrake/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/handbrake/5.1.0/test_values.yaml b/stable/handbrake/5.1.0/test_values.yaml new file mode 100644 index 00000000000..8662a4bd6cc --- /dev/null +++ b/stable/handbrake/5.1.0/test_values.yaml @@ -0,0 +1,55 @@ +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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/handbrake/5.1.0/values.yaml b/stable/handbrake/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/home-assistant/5.1.0/CONFIG.md b/stable/home-assistant/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/home-assistant/5.1.0/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/5.1.0/Chart.lock b/stable/home-assistant/5.1.0/Chart.lock new file mode 100644 index 00000000000..f440605299a --- /dev/null +++ b/stable/home-assistant/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:19.882045897Z" diff --git a/stable/home-assistant/5.1.0/Chart.yaml b/stable/home-assistant/5.1.0/Chart.yaml new file mode 100644 index 00000000000..572fb0475a1 --- /dev/null +++ b/stable/home-assistant/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: home-assistant App for TrueNAS SCALE +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/home-assistant +- https://github.com/k8s-at-home/charts/tree/master/charts/home-assistant +- https://github.com/home-assistant/home-assistant +- https://github.com/cdr/code-server +type: application +upstream_version: 5.3.0 +version: 5.1.0 diff --git a/stable/home-assistant/5.1.0/README.md b/stable/home-assistant/5.1.0/README.md new file mode 100644 index 00000000000..38e875fc8c7 --- /dev/null +++ b/stable/home-assistant/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/home-assistant/5.1.0/app-readme.md new file mode 100644 index 00000000000..822d932e2e4 --- /dev/null +++ b/stable/home-assistant/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +home-assistant App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +home-assistant App for TrueNAS SCALE diff --git a/stable/home-assistant/5.1.0/charts/common-5.1.1.tgz b/stable/home-assistant/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/home-assistant/5.1.0/ix_values.yaml b/stable/home-assistant/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..c356b9f83b5 --- /dev/null +++ b/stable/home-assistant/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.5.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/home-assistant/5.1.0/questions.yaml b/stable/home-assistant/5.1.0/questions.yaml new file mode 100644 index 00000000000..383b32ed016 --- /dev/null +++ b/stable/home-assistant/5.1.0/questions.yaml @@ -0,0 +1,421 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: git + group: "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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + - variable: deviceMounts + label: "Mount Devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: devicePath + label: "Device Path" + description: "Path to the device to mount inside the container" + schema: + type: path + required: true + default: "/dev/ttyACM0" + editable: true diff --git a/stable/home-assistant/5.1.0/templates/common.yaml b/stable/home-assistant/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/home-assistant/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/home-assistant/5.1.0/templates/secret.yaml b/stable/home-assistant/5.1.0/templates/secret.yaml new file mode 100644 index 00000000000..19f769cf59b --- /dev/null +++ b/stable/home-assistant/5.1.0/templates/secret.yaml @@ -0,0 +1,15 @@ +{{- if or .Values.git.deployKey .Values.git.deployKeyBase64 }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "common.names.fullname" . }}-deploykey + labels: + {{- include "common.labels" . | nindent 4 }} +type: Opaque +data: + {{- if .Values.git.deployKey }} + id_rsa: {{ .Values.git.deployKey | b64enc | quote }} + {{- else }} + id_rsa: {{ .Values.git.deployKeyBase64 | quote }} + {{- end }} +{{- end }} diff --git a/stable/home-assistant/5.1.0/test_values.yaml b/stable/home-assistant/5.1.0/test_values.yaml new file mode 100644 index 00000000000..68988525dc1 --- /dev/null +++ b/stable/home-assistant/5.1.0/test_values.yaml @@ -0,0 +1,101 @@ +# Default values for Home Assistant + +image: + repository: homeassistant/home-assistant + pullPolicy: IfNotPresent + tag: 2021.5.5 + +strategy: + type: Recreate + +env: {} + # TZ: + +service: + main: + ports: + main: + port: 8123 + +# # Enable devices to be discoverable +# hostNetwork: true + +# # When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet +# dnsPolicy: ClusterFirstWithHostNet + +# # Enable passing thru a USB device to Home Assistant +# securityContext: +# privileged: true + +# Allow access a Git repository by passing in a private SSH key +git: + # Raw SSH private key + deployKey: "" + # Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence. + deployKeyBase64: "" + +# Enable a prometheus-operator servicemonitor +prometheus: + serviceMonitor: + enabled: false + # interval: 1m + # additionalLabels: {} + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +# # 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 mariadb +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb +mariadb: + enabled: false + architecture: standalone + auth: + database: home-assistant + username: home-assistant + password: home-assistant-pass + rootPassword: home-assistantrootpass + primary: + persistence: + enabled: false + # storageClass: "" + +# 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/5.1.0/values.yaml b/stable/home-assistant/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jackett/5.1.0/CONFIG.md b/stable/jackett/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jackett/5.1.0/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/5.1.0/Chart.lock b/stable/jackett/5.1.0/Chart.lock new file mode 100644 index 00000000000..5e7e995faa7 --- /dev/null +++ b/stable/jackett/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:20.729892464Z" diff --git a/stable/jackett/5.1.0/Chart.yaml b/stable/jackett/5.1.0/Chart.yaml new file mode 100644 index 00000000000..e946c890fe1 --- /dev/null +++ b/stable/jackett/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/jackett +- https://github.com/k8s-at-home/charts/tree/master/charts/jackett +- https://github.com/Jackett/Jackett +- https://hub.docker.com/r/linuxserver/jackett +type: application +upstream_version: 7.0.1 +version: 5.1.0 diff --git a/stable/jackett/5.1.0/README.md b/stable/jackett/5.1.0/README.md new file mode 100644 index 00000000000..88c3c913b18 --- /dev/null +++ b/stable/jackett/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/jackett/5.1.0/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/jackett/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/jackett/5.1.0/charts/common-5.1.1.tgz b/stable/jackett/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/jackett/5.1.0/ix_values.yaml b/stable/jackett/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..a3e7980fa84 --- /dev/null +++ b/stable/jackett/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/jackett + pullPolicy: IfNotPresent + tag: v0.18.145 + +## +# Most other defaults 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/5.1.0/questions.yaml b/stable/jackett/5.1.0/questions.yaml new file mode 100644 index 00000000000..abd46184d2b --- /dev/null +++ b/stable/jackett/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/jackett/5.1.0/templates/common.yaml b/stable/jackett/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jackett/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/5.1.0/test_values.yaml b/stable/jackett/5.1.0/test_values.yaml new file mode 100644 index 00000000000..994164ee135 --- /dev/null +++ b/stable/jackett/5.1.0/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/truecharts/jackett + pullPolicy: IfNotPresent + tag: v0.18.145 + +strategy: + type: Recreate + + +service: + main: + enabled: true + ports: + main: + port: 9117 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/jackett/5.1.0/values.yaml b/stable/jackett/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/jellyfin/5.1.0/CONFIG.md b/stable/jellyfin/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/jellyfin/5.1.0/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/5.1.0/Chart.lock b/stable/jellyfin/5.1.0/Chart.lock new file mode 100644 index 00000000000..00cc2435c5f --- /dev/null +++ b/stable/jellyfin/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:21.544129752Z" diff --git a/stable/jellyfin/5.1.0/Chart.yaml b/stable/jellyfin/5.1.0/Chart.yaml new file mode 100644 index 00000000000..b7baf164e7f --- /dev/null +++ b/stable/jellyfin/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Jellyfin is a Free Software Media System +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/jellyfin +- https://github.com/k8s-at-home/charts/tree/master/charts/jellyfin +- https://hub.docker.com/r/linuxserver/Jellyfin/ +- https://github.com/jellyfin/jellyfin +type: application +upstream_version: 4.2.1 +version: 5.1.0 diff --git a/stable/jellyfin/5.1.0/README.md b/stable/jellyfin/5.1.0/README.md new file mode 100644 index 00000000000..11b93b8a0e0 --- /dev/null +++ b/stable/jellyfin/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/jellyfin/5.1.0/app-readme.md new file mode 100644 index 00000000000..64d3430474f --- /dev/null +++ b/stable/jellyfin/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Jellyfin is a Free Software Media System +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Jellyfin is a Free Software Media System diff --git a/stable/jellyfin/5.1.0/charts/common-5.1.1.tgz b/stable/jellyfin/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 zcmV)xK$E{8iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT3$Fb>2K9e|Jk&`|% zovs)rAqh1_a!5$F>g4_GzlAFS5Fjbpanh-{x*CfFHa0eZeZ$5^m`6$Ix0 zv3>8h?9Tl`9+=^GC@*lD48VN11G7y1Owt5(B2BuUm(U;Im{Pel;+?f zpCLAViq0gRq5+r?k`;q~e~igwb`^x_v`_LG3R#&x%(9|Sa)kO*SP+!=`3&sfkhUP} z-rU>-<1`(|h}FkaI7UVPDu+pglX0Jaiqmo0-?`O(y${nk&EM}n-@W~QH_C!68F#MH z;wH_bV$kV<5|2(#cB02#bb3G_ay`33iU!~O_u)>ka}aFzw!i62Ax;Ry3CbBTG=(@G z0Gy1{|0w|nX+G`%kU&ZbjWz(x@^}EOf(pv@ZzzubrwAwMjG&|!qpK^NjDsXruwLg0 zhQ-eJ-|u-~@nWJEMLNqv#PD2lJOo+fxR6DL29j2txg^YfuoLWbKKJZhKlgnE|DVHn zhKf%l0P6Yw-rn}kp3VQC@9eGl|6@GkIK6`LpaZ}Y(CdLAA^;{JoufR*5n>FUOc2O& zG{Uza9kE}dSsYVtBY4wmQQCk)%b|qe9I-MWLL;1DDm^+t0Vr#B!Zaay8pkNFfGIx# z%8df{{T+;P1X3oM3IKE3LKdfsDN4u|h#;D#Nr4DRb5IaS&}bGHh;#tp46Q6|c0EZ6 z>7_YQn$a zBT9kfXpX6*1ruD5G+%%iPcdPm&OiLb-@l}<2Vk$$VLFlm#eUH#k`|bjdEQ?M~OPa|+NBWV%B80DQO;D2Ph zy&m|l2p4o}ME~7^q6|(Lkx;_k55Ne<1!Ba@$A}Cl`O29iSmYEZZ`4u+PuOam!dvs* z_O^m@eE#+=!7=`wp?{9@5G90;EiL$6S?(2@rum|_Xs1B=9Ea#A4AWUcO3s?05RWh_ zz|91a3CaNkq9}m8EGQ=FERMhx0-O^>9U%Ua-ImZaS_6^-7)A6SIv5sA2d|VcE+#@w z2oYmrLsBp+1jjiYfg~lMU=tt`NC8|hg?I}<4hR=uj1ok-Mg(RBPR54p0t8L77!sru z>~2@glD7qCJG9X(&1SR|BT$$l0&XywFi3*IEz%h%7(Ew3=Lz^L0`LYh#swKOE|AU& zDdH#z^F>C{x?0G2zQw!3NKOX?jVSY@OP%tnCycJi;wp_6903@Hs3;_zHT4aQaEyWu zM^?#^^P}PL=htse24K4AWw0oyNhG@a3gQHyWRCMRVGM5$b4=%V5r7LpBst@04~L6{ zz*{ML2c0M2XcJugV*uV>98&^p^43lU;G4TU5WGP#f&~iBDA7ND{HF5+9IGOoCxAUD zng5WdQ}r8wAfRoXY=WM&rT!s5vfj$(UeuIuw~vxJqstSjM2MbpqKa{%6Kj;GQ#D13 zEr4#}G@~Q&1pLhC4{{Dy&RVKcOw%o{_wd5BR~#m|!Ep?(5HHk&(G({XkBcl;Lv-=t z)%nY#ix=VP^dd-L4`z&8(IM|^bEPNeN)O#;X@PoK8uh3}oKJaK z+RJwoH8#AmuV=4MUc5g$di8>HBmhPj#nBrylE1~9b4Vrwwz`5OjS!_mrz7Wz5F%7U zjPUps%vgP1TiU|(OK%FZ9^=KdG+!8%qWrZg)&s}0f}~TB&6j(j1-{Ld4V z2nI?&ogs3Q=GR~fuMyRM5a)nYXG#jLAW*h+c^uCQg7P15UJ$xue&Tg6I~ourNmxTC zoE0*z*43+b0UjA`G0diEN@f?Aqh|~0XmH}K8bXBGaDAFkce^X11LY-v=!{wNP1vbLZM_m^LCH2U?|jT+_kwCAOL@-B3(!iKm|9708XUbr|K&#delNPYwLQl)&z_qEM|7Na!Vx;XM5*) zdWFv#;G*O6Z?_)ei2`Y+Sj$nk@Uj>0VnPt6D3Ceure)kv0FXFn)*oMkVm9btJ6y*RMgyDLhRGGA(rtfl)-Xse6xq{6lMQM*{S~acBrKueALRVjHd&__w2vDaZ!Q^8UQoZ$3w#V?@ z;`sA6CTScM5~A?KMk?h;5XZ9|T}*ORP<#hqzf;=a5yUG^2sIboGeUj-BvV2`{}gk=1pdI2!VUZj zn-xROU6!5`f-AXaM4L?o*%=ni&ugX8W};Uw~`000o}n80J!@e?t|NZzPz&D=|fZ z0rOkoq%xTcz^tNz|E=}GF{jJAuc-aNXEobkz*CB*^!segg#N+B^%h7{ZikaF2!c&* z-Z5_p)$OO;T?`YjBf)HGRtodSq)EIeKeJjezeZHIktlG`;ztE*!(qwIrrBtOZ#j5e z0ERaoI$Ripur@rb)m^&0$Rgtv_)di|PfpLZD(87Rr$}h}obC#}nc#5343aC#U;j13 zIf{6{9R4>yOtE`W15VqnC?VN;Ht$xJ<^*W20WqU_Ep1lQa;r~is$6PQx`~Cb#v~6Z zCwJonr}b1x#|&?n<%|{$Q(S|y;wN3Tm0W4{o~^J{F0gSmv2wbFZJrI2>ZnUDl&MJ00=IQ&r26^ z5`i%y<;ueeK{=gDZ{NIRU)ee>tzoVA9N__jZgol7P36L5Zg`=)sWfRMC!i zKZ)#?%80;=xv$&M?+JLrffu@ylSR*c&kE=OmE*e0`YU_##9DBZv>@eT(qT5mE6&IkXn42>$yJ>;yZ{dfOF97fg*jXAwNcM@_G< zv?SMpq0jS0l_R$O5u$P`&}J+sd-C?ROVJtrvz@XdxUc#HkmPKQr-0QZVH) z3KJx%N#)Gk0pOF0mE{|o!lS*q2;;4JB^a7!WO0J?K}TDEa&ji>bBVOn8Ud`5B2Ykt z8V1_wVIpx+wMmU#hmzTOjUK1RvomZjnj_}yPiK!X|VnHI8y~`~SEfP4z zAzj=&Sc=Y5T*$GG9M#w|?ET}1;pLX$>{1|5uA<$`Wh(}x3a?0~h)mc%Yg`}>a*XFF z0fHX9Q`P#jgsJf;0vj3{n=FixgHC2~OjRxe660*lkH?%2WDA6oG*v+_j^6M#br@VC z_jJ8Nxb%tl%@}78is94`Ya@TjgvOemwR4{N1rB=rpTe7CNRdSmTRymiHJ) z4TrZv*$mUo|Jfr95Wu10_17RrFk*C;wuz9 zVMEy~W>-uSm1rHYt;|=c9wh5tGEcZV%@y5LNB~Mj5yLZ0Bc#@MX>?r)Z>|_3K6Vkx z|Iz`=8$)6dmKgTbdgNI2C>8}@lTdYS0Nx-N{hVWhUMHcxI4`JC%h_H!QaH+9P(>3J zrRnIUO@V($1F-WWR-m~Cnlg#U=Nx68d=K*7F_>j(0xl<1R?iYTd@znLIjC!#saF~| zDJC#S(V!}ws|=8i4lNC?5V=7p0Wj7#N?pRh#b!NTe228)xGgC(cqJLU#b80EC&>^< zsvbz`YXhU-C>&N#YBx_*kU=+s1a?IbPNl0)tj<1hF>v{MiXuFlvamY-O6xc*L{KEp;5e$Gw4qaZnCHGAdMo2P(_*aEUJaUassC;uQ?9XITZN_F7E^GC@QB_Y$q` zves;=7ETb%dg5J=8QOx>XO#1DeoUzxrb$6^h!e7GAPkST!pXRY=3E)>!=k|BghenU zX@vSu=>K_JX};N^zlP$M77ud5gnt3xi23ps8crae#Vf?W8qgV9soB6li^Xq?QeFpM$Dzc7{pPGVS!Zeu?U+(3CS^k+eakqbEB^Z zrZCH>ZgP4qy#>6GjC*^KI4BrJJ%K=vq>R>xggu5sk1l8SXAg4B`9i}~-Q3&+#`})p;mHv{BPfM+0s8!qfscU& z9a%-4Pk91q+%j>2?0MM=bb6WXS98Ac$gGaHVZtah%@ZWX!?GbQx~}82vUYSb-^RAwiUl z!F<8Py>m28=i>OpERPr9Du;|bBZ6}9O-b%=xP8lqM@rr>n+?Fu_V!fDS9Ts?0Csl2 zdxhCMIkN3)eD0%Y>*q5(;{2zIbnm~1aU78BA&-GJod4h5d$w(z|9rNyzrQ~J`54dL zUH{vTH~~WPMV3;LUiw<-{Mfm>>+x+%1iHMj0LF0_^gdGYLcjLE1+P#(7D1J12xH-Y=Vj@F@CXxTh8f#4Ac-pMBPQ&@pe z(>W|RG_!^P%!^V1+cTO$|57bkCIaY|r_s8graiq_06u^OClQrw+p=Be$7*a$9%QX= zt1Pv8Q<~}11$C_%1#8;VK#U-c!A6$jgp5GF2og9@r+6KlgB$ho;I9&mH1hXj}%wL3Fe3UUCv@A*4`5G@Q z%CFc@J#56IYG_4*n>4?UQy4kXtV2?dV$tyMY@dMLdMmNt-C8ae2!VfeXO+WJ}IamasV3Otko&>;W!s`mf>{=vao{y)aE ziu^BA<20(kw*+M@B9aC#_Q1{uJK6)iQ9g!M7D7L+#Naa%^;1LzaxI z8H)A7r1n}FT`Qx1qNl3=$-wD{+XHIS|8{qt+xp-3+W+%757qy`8@7|f^}SPZ{6?yF z^2~@#am066d`g^hGaEZNKZ-nT;+R=^Itps=jopg{wz8@&pLHaca11Krnbd^x->*obgQKvxZ)+1{oF+qZ#H zRtILw=5Uf&8v&bwB(8`fJOY6_3!#4$-O`CcL2dx4hkZTovH$E28RG=Hgo+|gL~{@- zbSqJJ4S|AK3&TVE5ar~jG>%Z-)!K34Qz1XfiQ18QTA4+ybsz1A_Gd@12r|o)N}#uW zG>~(RCiYOy`f|lT6-)M1F$b#HQ_8Hs6?)6Dg>q~vNbp$^7!dW%t;&Av(;OAl78x9Z zZnq8Y)iy2c8LyeZ;%{hCR_sa=ZkD~1gJJbfAarQ4iN>CYLuRtRUay3CjTVKY3m?D; z=LK;9Hv#n4+jXD!sp@~(JbdK%pXbkZ?f9SF?X~{*C=c`hy~H6(3Ka1;9>&;@G8j$} z5MQ={JZ8EZZ1a;zUGb^A`F}f$bjFStQ+6?v$#X|IMgZN0C?hCLt;_=n4=) z=kEeQdc_WVKoF+cLdqCX3P8eDiU}c^xFQ5HEQ2&3_hVkF=)XKYesMN@(c2BSJDs;l zOu415#EMi5S1|%Hya8zr;5bK!1*GBx+~k}EwiXSUe z1=0k-1ayyv;B?ppe?1zW4!1f#pI-d*`t1ey`RL7?qqB?C7eny+4LE*%c5-@g`uc1L zUjG1&&i)Smc6xTQ1rTN#nbB>=MQRQ(B^`=_&JZD^ap{s3`65CP!(=>zV+6+O9OdlX zTUG{3P*KuhL8QX&uXHEqbS{VIC;zV}e)mqPRgFg&Cn_ID(mW(a{Z%b9GYaU3o^K!5q0-fSf5PB5!J%gplBb zrGAcaK|1M(#i@x)30PRT)L^v3rR;>NPj_JfUT(7{n}?023{E0+y9J(}zdP177QK00 zz^bE3gF}(()YfUv-yH|4RL?e0jL#0e$8P43AGmVc5Kfyy(@uC}q77yiZKSydoPXC( z>uuU5#Z!$Cnt4X4Rp}ekN-E_8uLf@Ec-59{U7n3q4K3QL^jb?@N4ss!DmL?;8c|O6 zsMP51_58mo|G6RYkSaif{NLW+w(tLXcJTb!TK+%ABliDTI^0}^^aw64cJur^Q5v0& z{W`T(#{qwyZ92YN@;Zb6nxRg`2`<7MKYr{``JIeU1bQA9_^!3E{w=)BuJzAzr#+hg zclX(jz5e&N_t*FTJ<3y2zht_;T7|2QBZ#=yT-nn9E0e@%dXs!*DMfPfdK^9C zv!-B3I4=LMo;kr#F09*4m|LaJM{G3P-bXAu)7D39_O8)Kyqb$x4Y1i($>}+CT7J0sc`s24oD64N|SZ|M_EtzKUyUHeEvt( zgSGpy?c7W-Dh8 z6v*c=3yjlxl_bbc*RWW}ps!=l%NTScboxGl=yu44@H-hy*A2SYI=$L0q@``o%_+x~R1K`Y#rzVNDqdO0Y?g4Vu zm8kV9W2VUq3WyDSNgBN?dJ;S<%lO@0so|)lUzU~`IoWr*?&rrBfCWX$7B~5yS{3jC z{A-r#hebe{`$}(J&oNa#BHP};jaq?!uOfB+?%0VGE9}5Vde&GOJ*lo%#!ivT*V>3N zq;9WUtxVZox67s|PYNQ(#b}|#rZSo9A}qf^^RH_E2}f=JeR)gzc^Z{>q_1ETHtqlH zJ>NI&zuldK=j;8SM|o=1Z)hpslk(#HER6tElftitmlvS1T#y=fxr`brTJD*FbT~f)7ej)@jWEOmXtYrGx8Gv@#l~9RUE|HUlWj zXaM#E07P;e>ST6LI*$4A`P;Vy$M|=q1)ZZjLYJWD7*Ai zK(rbP_?4s;xK=nBFIKi9V%6qi94(+KitbLH9`?^H$E?D|kg)ATN2L&E@CwJ6;BtNh zvVzB8bmcmAfhp?MwhrVhKRBf`zsOY5ncY$4oYwkGR;%9n zUS4H-cUSJV@@q}I960^#0$afhu&anr64^JDHX-4?G*#!hR&2V_33hj>{T7J3y?J#; z-b!6ReAH{Ea_aKQJTx6+2TS*rW7_e% z|KL0O1cY)iC3D-@W3>)JgvX$J{`T~wD_*&(+&PX^8vycIa#Xx6SOy>iN|r`L6wY!? z7RPBq(5-bGVw|V5%!52trE5CCtI8hy$a=uvweEreVpRM{e^#J0b-@}`^XQH11Pi~y zQM2tm)55eVSS__{D1H{mn9r3XRtYz!rP8s%-+TZh9kPR?U{gY>s8`nM9t%efS#+iO z?7hQyyn-a0ltGFAn_jsML8b8*Jvbw2FVk0dp8J=C!{+7-QLc2*HIv1v2ndDjd8f>4gh;u%)$_%2t`}$=Lq5$ zMO&O9_1G)srow5WEY7-^Dn0%tM^sXfbJpGfoS`|&#i#O$*nwuraoQJ%^w{|7B-ivR zJY{h*FwSs-27AGt_Kgx8+Dd8<^sjKzFDBO8UTD4e;85$t5_-P{o=&nUGdrv)S?np)g?eH zP-}tT*4q18<$kN+s9jRZcjOy;L~RFJOx$DYP{HK|rxKvIq{ncnycQSOIz0`oNwqSW z?)U-Uqxc3c3c9>UC^xQFPAI3xqw<1lMD(+=pgG}5mAa0!C;mdtuZ`@2=beft(OJ<9cj_Y^0DulE+KQzoC~nkA$2jcNR-@dV=sGJ@L~d2@*Zh`eW>( za>soQ6xlc>mAF{50#Tm?^t-i~_^q2~X~ew8#{HfW0b|D?5hbly!!!pQI(WXjAm?oN zr;Cg8F6(rCnPJzSJ?7-McT?p1RY%B#F7c}!6de`4vOX3He!~!}b*XJI+O25JV5M2d zns3uHxfC7MmuQYHA%kFirMZe(V0*n@$DLZ>n1xxrf|S|9g~Yo&RB-|KZEc|KJKhty zlt;Hc&{ohVd{*W5K zk-glb_3QEX_tE%WnW9^3`y4qf^80hB{6_m#EnffXg=AYW#XMwD{DZ^tR1N)I=4$9_ zqvP5IoR<#d`|tkoKQ=dAp?7vhTaP`Vli|Mcb(VH%X860ilUly@z3$wVJJTQA0^0Cw zq8LN5sWxN;79@vggs;`9wd>gx$`eFT5#Y2h$DE1tX9Yp|>3Me(Y_Nb6^>I^dQ}9F=s$g|ELivf8S3ivdX;z`TJCsBvwnDu( zPB&ftWx(8nFZeqTkj_gIvxE^+5S% zm=iSr~B#UReF^_8n|Oie0Tt%`5h6xY}Z zNs#Fw4V#;)lk%0;g=*k~$G3LpPdDn<3TiW8J_F02$7{6z-*XM=K3;$Z`=467H!VhDmYPcP`)7x~7LcS(~vV}6^jkmC#|HkDQXosAM*=nsCE@IXGU8@TnOVH}F zicQnWyBux13_;$BvNw*DK`xiJ@H|$$wscCuIm9u~qxBSQf-cEt!c)J}-NR4qEk4Ep#p|UTm+%858b_DzK8H{Xu*4>9V-6-t`44|Bs2pID8y^DsDqf}IV7kp z$h$wlDYf(qm<5`X(zrAJgX>Gr;g*h{LV<}pl!scY)tJ<>pgu>4Rn+c1+nCz^87kCzVu%%R$E%Zd>FV)pk@cPgtcL) zC%h&~zBp2Xu7(|*W=j6MWLQbjCQ5Nxw>+sd8TrN0YDLm4v6R&k1vmlt_PG37)Y7e- z@vZ;~_0kM0P-kF`cEE<(5w*z|Xk^p0m(9j?qxW)@r&BP8IcD9YT3>C?8hZ3ppu{G} z>WG&{PCac@b4L4ih(pV|`VMskW3?*foMY7kosw0aCJKo~MAu#ob6e|_U-IMD|0a+s zfciyopK$+Ydw+l5_WvC0JYVa7kMU3j3XXZ0oE~3OOkj>80K+`hlD+#lXw8*^blK-= z91E*Ehe>o4XA^ifn}U7Y4%Kt*Ij?iL{;mk-JH`bL3BR_18}7fQI04-)&~1R@2~ls` zw1V$zXtQ?cMeIe~gE%|D!lgZ@}MXS4eL2@?E@?M`}hW z3A{_+nX3M}1f}l?$!L|}Sg)kD8_4$M>eT>QVWXDf3$!gnm}PmI<(MijrCX5gaM`z4 zEY&ML0e{&k9-Z73YzQagfHEn5vyAEAF3@z2^5b-x!5o3^f9(W2-*+8Oyhe%!=1Dq% z0lR9h>x>(=iFG_d;k6=0L3n$M<;YQ9YtXZjhqUXGai76vJq1O8Sec(~tzkaQQ^)^B z$kDw$fKB{=yXybj-(BDT`6!RB|A}z%x{Qcv{4$Lwu;C!y#vQn*5Il3uy!YZ68OyC$ry(_-+qK-=r%Ut_aHaiqO zxDRD3Wav5ZOX_bD*X}E=)@7%VlMtCblN)1e?)vZi)bW2lbw2(5Z`;o+=Rfxj*84w? z@~q=O*YTg9J^mBCxXoY^RpLMS4H7>2s7p4Njmd;PlVTg{A~Mz& zg2e0{Cg29gF&(}cWd`j0Ek#~nTR#qE=$95dwCvq_{9uY45DC&ZQkCyUOqg|P!##l- zJ0M!bsv@Ka-8Hl)D@IjP!(FJ-f>leq!Qtyl!j864ugZ?*Q<_(6H?e`3*xHPtYgQ=O zbhfZrBc>oP#Z=ga1uTpK%b}umR9nd6?^1owQ5M4xf$sn5g6{k7^2=5B%4R)6uRjVy zb~gt}nP98$NnzAEvlfHq+cpaZ{NTDVdg`i?#yHDOA5?8dI47?<#4G;jwgu$%Drqjb zEKf6(#|scbIw|BNk$gQ(NS?+ql|75BiL7Pmi$&(}Hc7P0aw1!8gt9nYOx1q1teI( z!)SBuYx}o<>g+$6f8i7R|F#cypI7{U2W$V|qdbgpze4$#i@-PyVJw8Vh=Y-exyYr$ zzX_S)cV4Np?JlvOJ59Yb+3OV2m0^T-BzFO{>SGBJNEsLdwc8s z-$!}w`29^669lG^xoO03OPehMDwmQ{+P>|p32Sc@mKp>FcPycaa~hz*O|73FV(UZP zj%Hk7H(*wQ41S{pf*fUOfk~P#G+V#o?KkTXINmfj0NDHUSsZKmO3XT$`e-G((76+o zhx(1{+XVBw#z}NqP+c#_$yoJMq{a+Wqi6dBIcCUhma4*(`s=I`610c=oog-c5^AGDlC~hA3@y z7g)M5EYKRiP>V#ajRTw5)w}7K6fLvP@do^>tqRe;&B%4V5ld#{pys9x%^?Jy8jH_C zOoLO^VOK6oG3XZLyLJ~TxqQVanKSOD36dNM1|z-=%!Ju?O#_S8;>_XOD;uWsod14< zMkPC4RtajPgdJ^FDq$?o13$M)ay-?#vunx5YRpy%MZcD{1SaNA_0HD2JB?_;3P|Va z6>7k`|7{0wyR}doOlLONT1$TWFX*%~0JAizroh$BDQar* z6Z&jQ+wW?%@!iTKukOCo@L1PYP2jN>95>gq=Gq%2Rb*Yw4gSI zBy{}&=LPv0lgUrKq?OIXQ=zfvQBstNIMt6OXA93fB(@}9;zS&FDK!}Tvj-Wvw3SPS zuQ}t*l4zON-Zuz!%N^u_Y&t5Uh_NCVn@B4pvlwhhOgEX8+-k)&t2(xpW8AS$;gs#P zp8rQNh9ak^_VfOHBS|Bq0!=@D?C8Jm4;^Y5XXW4bhf30z>Sr>Ov-WdI*z4`cdp<4n zzk6o^X^Q`U{>$5Oy4cb_0UmzBL+6~$qjEDvr~oS8vO5#DmOxul z$jmBzXC}b*<-Yc&z4m0hwsTRN&ORg8wF4n@`Z%g-Kn=-v-^2^e{GT~vKIQrUy=V6R z@6Pjsb^hnadDij&>-hiA8voCO=Fb_I5oz%0Jd4vY4%_J+!du+4E(MY&^F-1dTivJ_ zfhtF|%nluFR$$7DhPp;-GrL7y1=8w?QoLhoE0RU+EMcS8(jyk zO|xC!hOfEzY>lHadbYaQC1Ey9!)rtaT~|wGNvS*Wi$27){o1`s6uN7l$*#{FvoJnE zFGvYbv{T&n>VY_-WMt^zFSBwZJC*Z)e-e|FXNY{cL^y^HCmVqVhYk>pTGd z%pks9V%yw*O4s4-7I=F8?$~#Uy6FL+B~9ygN@1TvGU1^;^t*bcnSjb#?K9@U8WvVs z892n=R>S~xDX7ZCeu4;5xkDAo9EBua@PmB_ z6jUT;v{B6TEHyaHAeKs!>j?BYJLLUTJ?J`L=U`%tN9r5NiR@kItYg_Qg;C%GYJq01w>&wX0x~77XF)Iw*sa zwO9>v)=x5H)=OB`A*LOjWK;7tHsCot%73%+l4Nqi(-!E`WVjdgbDq|>#=}O(Pxs1K zXNZ*!D@QPTox}?nRlVKay|KI-J?yi0QV|#CJt^Ym7!<3R{ z{jZfLM(v$TPl6@JbXCu<0V-?1eC^reD0Mhzom*TGoQ#>Al!aKb!yC9LK$fEs$^lG( zSrCu-jpDdq8%ILWD8S@hDSWwiBBXz+keX%`w9~p?jHVe`oZuWJ=$3deVq!`a92{zC z<~5Irj*Kj8ZL~QH`R*-KKo0d}e5IuDWgMXGsJhlRj2nR|itude`B>oJ(MvqVGQd~7 zw<3IN0Sm*r3tG^QKHHdh;f2~ zPH-}OKO||6I!|P_;&;bGDlLmnFvg_M{?F0x1XsW3efEF(VlwX2|H+@lJn5H!u3&gQ z%UCQ!(fKwgZnDm|!4fD{{X5O^xbyA*zw-pVgE>xT1vou2E*93j}} z#q;#HPB1URG(!D90xJ^h|ILe|lUFZ-Y4j=Ds9*m(`v*Jr{lB~0JL~&@ALV%>^7?c- zfB8k-pSlz51>3)FObE$}LBEfuL1 zouUkm(cs%}!GFoN$CylJS3#Ig`&0wufvtU*WksLl2=%A1ASmy13jKGd^W+J51+hGe z(&>Bv;-;?`Q;1{m0ldv)@S*bo^m@G>;Qz=!*!!{-@By&@7|=Id9h#zqB3mZ>9DvLJ zKHLd*4ub98_9ZLI6@1$C-_Qbl0F+YT12_>I74)wn%rU#&i#EwH;QyEZ7=N)}oe$vr z$I}z=0pNtfxZFSZ?vkVT0i3_}eR=!pX!tkq0Tl9b*~{+s_HI{wcb?z*z{8(EfXiQg zb(FL=*jkkJ7h^ZFr4cGnK1Vsrd-BWnuO`C19-NU$x2f8WRV_&qR98uw93Q|{n$nqZ z$xN8q8guYL^QPu4JPzkUJfnrQ}@P)Yk|_%bjCDp#^igH0U2aUZoitfnyWQ zUhq74R$EVA2cq3R)t(Td^78bSHL0aRrv>|?N&%jpw1;ltG>cKd@}srsjRH%xAoYg{ zzrQ*lvFtTq=S-by15sQ?ur!UeyU{CTYB4yu+|aVAfF{i#oGeqB|F-#tE(ISfMsgkLx@(v z_@ro*p}a_wz9`)bW84m4MUb-Xd3Q~&@fAUo-Xv`(Aj{9PR;4XAY+U9Aqo|@&oxQkt ze{}Nd^vsQH6F6Jf8vcFw{?+S~w=Z8f;Z=ErAf&VO4bIVc2J`5?!*2ufO@Qm~3P>jD z6!le&R`4q0zY}Z+yW6|l+u!Xz*C5FA*}mnRk3D=zrYiJ&l)L&z&C;_h{IXW)nTfou zby6ndR^`jI4lWVE@-LKy9Z3*8GP{OZ%3M%RnurX3{;Fk;Jx`etzGaf)TsxBEL9%iU zfk!CmnFX9!>xnOXELf@FO00>i0ewK1(AnE+=xy}zI#ql{#rwW$b~~lIQTeqpb2!Vi znGQxW2oEy)jycyz0vLvbG!#~%yR^Z<) zOm}|7^);?>HcQw|XK~yLOMY2fxy9&NsIDqY&_Y!4(Sm>0dX`2l7_uW{k*_2_-77Ui zdAQ1pxmCQuIcrrTU7lqfM&r-gbRu`&f{)iW;g}=aXvcA7_Dv=Z^l$+?>$10)aHuFXfhP`eN~>yNp_?_8Z)R^TeKYMmG4*~I-6V23SK5?p z_NBD(oVeh(a*tTI`Lw66bv==9A-Zl0@@OXo$ss}Gg#+<7X&mEZ{5Fdq(KHP`QIvDq zIM2d3N_KinJ)NT&Ny{vvBdXN%n=ht_zz7luW(CFlmkEley(kR}Fy9IG^=&h4cPUBp zn>3An>#NdzaUEOH=hZep(`K=X|1U_F;2iK1>_+`@eg;dwX{NkNw?e>;2zH zc|>rB+6Bf_#@RMHUv=pmz{$AV>3r4I=5j%DM8ZkV<_sP!`o#ZaAZ20o@O&NiuW-^YCf$z?aAj##N`PmtU*duzRs;S{)ZFTY zA6vGu1-iYExAd{|)hNvYkMAWRr7#cqC{WI%e{hzP7t|ErsJ6r^l*vf9z-wD**tr{1+LMeoMj~t(dt)L zlZODZ9C;h&dj=+;zcw}jml6$dkDGLj zv}IXG`M6k~Upbf+1+*HcqBWOdQ!pPFheeD~25`c?{5l)q@XF$L$+ql@HFL*mZ^_yp z8yljF)@*Cdu)Z*c#ipuX!2dpEAK#~=_b8d`tc5jD!T3(5Bprx! zWvZr$$PaM}EB)~xGNNS@^zP{8+ZS5V7Wg`w7=UgaRNgVQH|y%%19Xgn4%h`)Z_tSUK{@Rq~k=%NM4oE`t?#cdYj5EH$dp4m}0U@lAEp}=bYll88$xVM1acW<{(r`6szEsC?( zCokTg9ld(-ApKC#yf{j4WYliLT~ZuR{(i>B<)3%|yt6L&|L4ble(b?$ij&J0=m|g+ zIZaXF^(BI@@GV1*3C{{XOcE}E)E28yKf$U+{@?k_)8o^Nm1bKN-03SDTst6)9$z)k zl($wAw(>YAEl@Njy;aFYAs=A$A}>+f1+{{mHZs=#?Pb~-;?3OlW`l)nBV znOD{IQj2{BGp>JLqm9Zc*lf_aMP+^eOKwekvCL`R$An(kqw=V6>FXW5Fx@ z!gKonYAf`-IJH7#U>4A<4@$%LTOhsG0hQM;{`!CECxO^k3V_6m4@e!W>TbI6F=$>7 z*$cw9bzZ^j7eSU^!J+Ez3I@%KWUkvYuVA*iIYSAvl7rY~*@)O){!lepvw8S8HYsZC z9hZH>YYupFfl{WH00*Gk<+76YhQD{~Rs51iDTjtHj^DhvD1{&YTB;SYVUo{$?drVh z56G!`k6UtSLD(&wtChsqv{{~*3?62uSh$HomE(EXq^sH&AbcK6`p}7PGj&r4F$QUX z5Cim=mLpUZM-*h60djM#a;j_r8)}KUx`vgRbXDfMBBx^kFst!7hyR8`GdP*?h1J3d z(O=8hl6qH<+q)xM8-VT5s$jw!hof4LGfn;@FYhO-&?7~<*A zm`u1peWh|nFWJ79Y`V{brz=Iua~=br&UUt zQi%Rj3J4tqX63PyE~N-7#~!G2FkH005R=Q{d2DWm&Sq~b?4xiA%f47MQCBa#jd*6U zw_R4uZdeZYV2R#YlhWIuzueF<;T}tUFm;Hv`cSJr=z^d|i!g2?SwWf5o8dxPdNIon zgNDOZlLNxK(0fU zX94N&rH%tykSpf_%LZ0H5@><=qD}?!?pKZlmMB{%18s7-j|NtVO8>lAWT;RytyQh1 zI_-!6(YHsH?kz>$s2eyh+U+_PE*P0pC8LstxZz*7OBxzB~qkpW&rdARv)*t zRv?q-ie6vzEM`V^K#_NxE(}tzwZp>*lnLthFKr8FXIBF;ds$xdfc3oK>(=tv+uRte_ z&HZpfP(Feoy8C#iuMxp`jL9nBl}nnR#xWX+P>cxLU~O#yXRpj|(7AW5O*)2Tn}O!> zQC@;x+r+a6N&U4cR>E3I|NM`k|4-5!|4z-}_!$XssvgA-CM3vX-7y3HL^ z)=Rb5`%oRk)HUm=AeHe_-fKGd3qDlKV^Pk7C6O_8ay}SVfc=(>_ye%B&A<9FCMjdeU8em-BeRKN9oB!&<#P>Ii9y+v&T zx|`M3%0o0)&TCI|WdTofYV)KShni7w+F7dz;#Y{|IQ(3axW@e_lbM=Ubw%KDetCTU z_AS9N{+%U}JV$wm5(3Al4S#OOk$o*39&G!Vtm?zS>cm|)%x2vIIN1K^7BalaS7@5% zi%;CInnn(vuhO+C1K1sa=f2(@r_(E(v{Mi6KRA!mYdN4>pq>D0$#;Lrx3q^&z81Vr z#3VS`H!oqGd^2G25}xzZI3ZOx-1{vHgL23%%pBw|+xx{VEYOx&pFIcOeg%irPS~ig z%NNDb9OZC~v{j+OW65$3p4E?fTQRB@(w5f0&9&?BlRbw2Ph3;+u-Shb{eRDQp4<1o zK70ObckTasjOR=7|A`A{9@^h$gZ(r4_e9^@`SU7-s`~G$v~>9ER#W%A+P-KLxLs>M zrG;@`+Ws!0Yg>c>G^m?iADF%~bNF zIAb3#??X4>nl8F*VNG}@4xN#YMQ9J17@>XCp&zM@ak=UO{xpkMBd)}-O5i_>)h))M z<-r0$>Sf%_Qcy4BR<@9`>}d_{H?tT?J6vQ=eL$wq;Yj4!@=DlOA(9=NYov`B4WhU{1S zYW!N#?_HTTZqQ!$w_A^;h|3$Q?jOJERcJ*Mby}+^!ZJVHdndO+rR0u!H#5~xwKq&_ zv`bNI6+z|54Z~(^c_Y^0ciWBH!97%o2T(@2(q)UZHuYuiS<2z8oQ?MY#WEu8?Cw2l zCt=M2_oLvLr~^QoS&P?)6R)d^%?A~k45hI)(TaxF0Gl=%Z%`dNA_vn-FKyE0lj?D)DSW4}#IEV*ldh z@ZQqiE9@^`4&|$Q|CKiyteV{vtfCEg{Z|(+hqWG~^E{p7sK$5oNep}vE169HICR)= zwG|6RwL|`A&r#bW1Q|ud)5g#Q{Pen`0cT=YH$FPa&(bo}>=#G!&qFj1rFfaoM*K&H@+mF~I^6GnORpX(4x}Oe{5D)Y}Q#6Q4f_6b6KC)F~L%alLP3NdUNr+ZAw7nMg|E5=^Y5j0! z@&Be*wPx|pm`r}s)A+4oe3*Fv)opV;$6A}>O$JM~hRP0g*l*vAd~?_*)2y96$mr(` z9r&|Y3BRRRJ`3TeG`$wq!T+XLmSxa`Gm`c+L0r4*N~ixamV$=W{m!2F0W~|~YIy}u z!d4t5k(Nditm>Te@(t09SzsCd@#kFEf@}kmbGo9O4DRSZ4f$n}u|T?*{G9Z6RoM{~ zkohm$R9KP*JFC)Q$DqM77~W?VmYdtY1ftFarhneUH=jx>wUjtEE@B{s!$>RYPczCh zL>Ar6V2EHImgzS=UZqM-(^jqcl9@X3UpAjc+GzysHG!oyfTbk=5)!|)q;D_bmzL~HO7xbJ z{2ph(y}G-YH;uZx*4ZD@Tq>pw3TacG5z%<9=Gwo)Nxzs-8QKe(B%P!;3Fy56`v>0* z_7A?3N%H@hRKL(!^v}ev2$@+O9UYa&O|mo^qHvaDvN%o?f^PlBO!X{vwNq7a0gU7H z<~+x99HTLMQG_sNhePGHeg+WF$>}eOo+crGD1OY-S@zIW8*#9Q2L}g_MWTa)0}qMV zm(@x1W|kZkZwr(^G?8)%`0)GhzkdueegFOUo|&Y+JOG)FlIRo7syc%C>OAsHq=aB_wfzfPiK0Dd{)(%oT5Zq z^HQo*4d$gRwzRb<(5bb{Byh_lJC=R@wAPqv#%T3^hEwPS;P<3CfYwX@`HFDor^y}beG_8hm0ux}5! zehRHk$NI5QGS?2nYZ$^9{o{w>12Y=~ui^30%NIS`h#xh4+Y@zqA$`^JaU(V@6<_`| z2={6bU2~pgIgd-|t;Bw6ELCHzA0E=xx5U}UvJoQzu?Djyc>eyU9<_G1z&(+9AT!dm z|I+B8bN~HEqy4vcu)S-?e?Qya-&xy#kMVpl_Fo!3xUr{!{8L$WY1Gn;(+T9T*$n#8 zKV<^*`zUk%kW5+(X!m2)>TvG+`WTD>*fA8J425`v`5ETgOWtyMJHno>76_Poe=>F8 zL2sk3m6o;FQm-Os*_*9~+pBYbGJe0+Q&|!0AR;0+X@30$EDHA2u8ai7&b4tt6=wI% zkdv~D6-!7!rLUb}e_(+C&UL4Qm5D9=*sfRIzsIUG_qwz>aKB}Ek`(7@jKjs3vIrZN zVfQ$m6$Ir!;M}r$DMLv(N$$CLTD5V%b#F8w&qSSB*Q~yR$qdGtPtn<0BuDV@EKQtk ziT7)E@Ndfw)Eu}UGdPMOOi_dJvDz8Gulunk7*RA)%O8dW5*#*cGC&93D#%q*O8UvF z2n?vXW){*I)FOdX9O}7JDhOQGBH+tXqM{EjJxEzjA^v{7kRNCvm%$$t;4-UC4>YM? z;bJt4jk1b;h=DKH%KgKvuyYYNtYK|`;gq0hxqjy=K>SjH)x5j|lQ=M(Sg+XZ;9g>` zw^qMWHh6;bYQ6fp+~N6&T4O@qoKcX#r5n4&%qPGcwgU!&{mBYmc2;MQ-`@Y2C4W3x zlXmRTb=Z(i5uK;~r(E7ON5;xCVr-gp*+ts~c0Ybr)@1UhKQwEamxqy-;Y;d-SKT&% zI#*Or3y+$@h%DNkG-O>@@~8CHdHO6_EpY}m;{E7e6Xo!N11CRSIQ;# zOO5%1R?*Nj?#}oR)h1SD@k?`ElL_9BgH9JE|5O;!H%5HNvW@7m5^R6DQUZn{DvDPr z{r(2Q=;s_0^a>`6>g>b6qXF3Y(T$=W?QuUW3)a(zLiF-Jy1Ffl_C6*td31R> z7aM{IR5_qW+eQr`vQa-TQ@2;Q-Mz?Ga^7= zd|flqc_SXi%JsA_mhCYk`my(ZczrATk>%36@vT=Ti!|t3k2LZBvv5c zkq+eWkd2bgT<(|JPtC+F6T8e6ZV`lv3Hej~(dQ~h@cI)A@fX5~@f_v-Bw`$_V5;3q ztax2OuTX?%Q&5w{8UK!6;wdIRxl-PW&mXrH#M@!%aI2uTfF&SfIeCSp0=@)6gDI0(V&Q!MY+w-B7+c*Ee|)=cg`bXXZj&=MMzMpw9FK(Va{=(}2&58i!+ zrjG(z(@jKJa_65mB<$u|>($JaU`neV<1gG9XVIWe_^I3s1JLD}C#(XpP5PZovz@N9 zRn9+`XxA@tSHSij^7xPFadhRPs-~!t=HJ=~S-TP;T-v<7RgA?}Nk_gzS2@3Og7X#HthfqAt44!b(A`=_d|5Wi zAJkFhxNo%XatzSQ0+0-h-*D`4Qq^9K;cTb&Hqtr-YMo_{1QHryB%3)rGf_MhpQ7GhZNtjzT0BxctS?86WMKBJ@hENGPS}t@f=07=h&&!W?N|j_ zWazLE6$%y|TJ7fmbOm)av3I16U)LBv%YQcjT{?JO_hC+X^_qbH#W?sLPjHr_(Nb{g z;1UdTGj4>3+ckiQm`NY#7hISU>jdW~z z47{YC>+Q;V+~+=(ynY_*G0y*s`<5R%2SCI9Z+i#ND(C;7@9nP7|3Ai4fBt_ol}Gs> zFB5>c8~mZO0oY*wOc?=0-`iycs1T}}8K6o_t(DK7#m&8=*A(N(GA4#WyjrcE?_=J3}-fw4{<`-KuunPXisjs3N&X+iH7{m(`Yyg!dta7n!Cti96IJhU1!QZ6>AP(m zNm@QKa9j~d=C1Ig$*zR7vGid0g(rW|_>{St+XMkH{)zIuYRu(`%<{xzp@A=sTd(99 z^zv#A6FLW^=f^6qo5^ezF5&z0nCILi*PAX=sV9ExyDj)~TKgI)m(Vh2-~A%&JWoj) zrtv+cm{)*F_-)hbx@C=oG63C+<8$k*M;7A{6Z+nhGQ!7>G6D6F!(67dpDr%Wmt=mb zHCA`|=7!4&1f#j(lI^`cS)G`)uDdn<<;&&NYj*k2>{1TCkDJL!bAMiTlq4x(mr6Z= zLhj{eS}PXN)p?r+vl2!637A`(<{px}wQcXg*qhN{WsvT=B!_5(uLGQnb5s<;_3R4e z2_mQna4J2ULjNy{aDtdQ(xs+(p@MC}C*qbKYOUGjXJVJyc+@gYwG9i)3T^My(V5B; z@xgi@G!QKVgXvr5zyqvr|LwUJnwP9n6peCgi2Y8=ZWtw*CN35HpY6EfQ9 zYPfw}fFvbgl+Kc*hRpRi$~A=f=R|G?~K~M}pYq5P+|XCT!OGaqDOO Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/jellyfin/5.1.0/ix_values.yaml b/stable/jellyfin/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..13fabd7f7fe --- /dev/null +++ b/stable/jellyfin/5.1.0/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jellyfin/jellyfin + pullPolicy: IfNotPresent + tag: 10.7.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/5.1.0/questions.yaml b/stable/jellyfin/5.1.0/questions.yaml new file mode 100644 index 00000000000..7a115c8b0f0 --- /dev/null +++ b/stable/jellyfin/5.1.0/questions.yaml @@ -0,0 +1,404 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/jellyfin/5.1.0/templates/common.yaml b/stable/jellyfin/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/jellyfin/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jellyfin/5.1.0/test_values.yaml b/stable/jellyfin/5.1.0/test_values.yaml new file mode 100644 index 00000000000..d12fe40141d --- /dev/null +++ b/stable/jellyfin/5.1.0/test_values.yaml @@ -0,0 +1,33 @@ +# 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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/jellyfin/5.1.0/values.yaml b/stable/jellyfin/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/kms/5.1.0/CONFIG.md b/stable/kms/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/kms/5.1.0/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/5.1.0/Chart.lock b/stable/kms/5.1.0/Chart.lock new file mode 100644 index 00000000000..e010bb33317 --- /dev/null +++ b/stable/kms/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:22.384239731Z" diff --git a/stable/kms/5.1.0/Chart.yaml b/stable/kms/5.1.0/Chart.yaml new file mode 100644 index 00000000000..ec1206985a4 --- /dev/null +++ b/stable/kms/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: minimal +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Private Windows Activation Server for development and testing +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/kms +- https://github.com/SystemRage/py-kms +type: application +version: 5.1.0 diff --git a/stable/kms/5.1.0/README.md b/stable/kms/5.1.0/README.md new file mode 100644 index 00000000000..decd88d45fd --- /dev/null +++ b/stable/kms/5.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/kms/5.1.0/app-readme.md new file mode 100644 index 00000000000..79791f43227 --- /dev/null +++ b/stable/kms/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Private Windows Activation Server for development and testing +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Private Windows Activation Server for development and testing diff --git a/stable/kms/5.1.0/charts/common-5.1.1.tgz b/stable/kms/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/kms/5.1.0/ix_values.yaml b/stable/kms/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..05f3f76e0a3 --- /dev/null +++ b/stable/kms/5.1.0/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/kms/5.1.0/questions.yaml b/stable/kms/5.1.0/questions.yaml new file mode 100644 index 00000000000..af208706726 --- /dev/null +++ b/stable/kms/5.1.0/questions.yaml @@ -0,0 +1,277 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/stable/kms/5.1.0/templates/common.yaml b/stable/kms/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/kms/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/kms/5.1.0/test_values.yaml b/stable/kms/5.1.0/test_values.yaml new file mode 100644 index 00000000000..8e468550958 --- /dev/null +++ b/stable/kms/5.1.0/test_values.yaml @@ -0,0 +1,15 @@ +# Default values for KMS. + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: minimal + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 1688 diff --git a/stable/kms/5.1.0/values.yaml b/stable/kms/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/lidarr/5.1.0/CONFIG.md b/stable/lidarr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/lidarr/5.1.0/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/5.1.0/Chart.lock b/stable/lidarr/5.1.0/Chart.lock new file mode 100644 index 00000000000..c79cd5f3fcc --- /dev/null +++ b/stable/lidarr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:23.320726399Z" diff --git a/stable/lidarr/5.1.0/Chart.yaml b/stable/lidarr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..794b11e73e0 --- /dev/null +++ b/stable/lidarr/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Looks and smells like Sonarr but made for music +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/lidarr +- https://github.com/k8s-at-home/charts/tree/master/charts/lidarr +- https://github.com/Lidarr/Lidarr +- https://hub.docker.com/r/linuxserver/lidarr +type: application +upstream_version: 7.1.0 +version: 5.1.0 diff --git a/stable/lidarr/5.1.0/README.md b/stable/lidarr/5.1.0/README.md new file mode 100644 index 00000000000..b6f601f4c4c --- /dev/null +++ b/stable/lidarr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/lidarr/5.1.0/app-readme.md new file mode 100644 index 00000000000..399c4eb028a --- /dev/null +++ b/stable/lidarr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Looks and smells like Sonarr but made for music +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Looks and smells like Sonarr but made for music diff --git a/stable/lidarr/5.1.0/charts/common-5.1.1.tgz b/stable/lidarr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/lidarr/5.1.0/ix_values.yaml b/stable/lidarr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..d35da434166 --- /dev/null +++ b/stable/lidarr/5.1.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/stable/lidarr/5.1.0/questions.yaml new file mode 100644 index 00000000000..c8444d880ba --- /dev/null +++ b/stable/lidarr/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/lidarr/5.1.0/templates/common.yaml b/stable/lidarr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/lidarr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/lidarr/5.1.0/test_values.yaml b/stable/lidarr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..00488d10b52 --- /dev/null +++ b/stable/lidarr/5.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Lidarr. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/lidarr/5.1.0/values.yaml b/stable/lidarr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/5.1.0/CONFIG.md b/stable/ombi/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/ombi/5.1.0/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/5.1.0/Chart.lock b/stable/ombi/5.1.0/Chart.lock new file mode 100644 index 00000000000..e649bee3e74 --- /dev/null +++ b/stable/ombi/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:24.135008887Z" diff --git a/stable/ombi/5.1.0/Chart.yaml b/stable/ombi/5.1.0/Chart.yaml new file mode 100644 index 00000000000..ce0eca03799 --- /dev/null +++ b/stable/ombi/5.1.0/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Want a Movie or TV Show on Plex or Emby? Use Ombi! +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/ombi +- https://github.com/k8s-at-home/charts/tree/master/charts/ombi +- https://github.com/tidusjar/Ombi +- https://hub.docker.com/r/linuxserver/ombi +type: application +upstream_version: 8.0.1 +version: 5.1.0 diff --git a/stable/ombi/5.1.0/README.md b/stable/ombi/5.1.0/README.md new file mode 100644 index 00000000000..879b01a66ab --- /dev/null +++ b/stable/ombi/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/ombi/5.1.0/app-readme.md new file mode 100644 index 00000000000..b573c95c432 --- /dev/null +++ b/stable/ombi/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Want a Movie or TV Show on Plex or Emby? Use Ombi! +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Want a Movie or TV Show on Plex or Emby? Use Ombi! diff --git a/stable/ombi/5.1.0/charts/common-5.1.1.tgz b/stable/ombi/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/ombi/5.1.0/ix_values.yaml b/stable/ombi/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..d85d31dce20 --- /dev/null +++ b/stable/ombi/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1396 + +## +# Most other defaults 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/5.1.0/questions.yaml b/stable/ombi/5.1.0/questions.yaml new file mode 100644 index 00000000000..0cd2d6d1841 --- /dev/null +++ b/stable/ombi/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/ombi/5.1.0/templates/common.yaml b/stable/ombi/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/ombi/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/ombi/5.1.0/test_values.yaml b/stable/ombi/5.1.0/test_values.yaml new file mode 100644 index 00000000000..1e71c7bd929 --- /dev/null +++ b/stable/ombi/5.1.0/test_values.yaml @@ -0,0 +1,43 @@ +# Default values for Ombi. + +image: + repository: ghcr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: v4.0.1396 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 3579 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +# 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/5.1.0/values.yaml b/stable/ombi/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/plex/4.1.0/CONFIG.md b/stable/plex/4.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/plex/4.1.0/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/4.1.0/Chart.lock b/stable/plex/4.1.0/Chart.lock new file mode 100644 index 00000000000..87f4a7dc693 --- /dev/null +++ b/stable/plex/4.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:25.007022127Z" diff --git a/stable/plex/4.1.0/Chart.yaml b/stable/plex/4.1.0/Chart.yaml new file mode 100644 index 00000000000..7b961a4160e --- /dev/null +++ b/stable/plex/4.1.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Plex Media Server +home: https://github.com/truecharts/apps/tree/master/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: +- https://github.com/truecharts/apps/tree/master/stable/plex +type: application +upstream_version: 4.2.1 +version: 4.1.0 diff --git a/stable/plex/4.1.0/README.md b/stable/plex/4.1.0/README.md new file mode 100644 index 00000000000..b0edfa0be5f --- /dev/null +++ b/stable/plex/4.1.0/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 2.1.5](https://img.shields.io/badge/Version-2.1.5-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)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## 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/4.1.0/app-readme.md b/stable/plex/4.1.0/app-readme.md new file mode 100644 index 00000000000..4d5dfd7c1f2 --- /dev/null +++ b/stable/plex/4.1.0/app-readme.md @@ -0,0 +1,3 @@ +Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Plex Media Server diff --git a/stable/plex/4.1.0/charts/common-5.1.1.tgz b/stable/plex/4.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/plex/4.1.0/ix_values.yaml b/stable/plex/4.1.0/ix_values.yaml new file mode 100644 index 00000000000..ee4e47d723d --- /dev/null +++ b/stable/plex/4.1.0/ix_values.yaml @@ -0,0 +1,22 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/plex + pullPolicy: IfNotPresent + tag: v1.22.3.4523-d0ce30438 + +# 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/plex/4.1.0/questions.yaml b/stable/plex/4.1.0/questions.yaml new file mode 100644 index 00000000000..144af694bc1 --- /dev/null +++ b/stable/plex/4.1.0/questions.yaml @@ -0,0 +1,422 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: 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: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Specify GPU configuration + - variable: scaleGPU + label: "GPU Configuration" + group: "Resources and Devices" + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/plex/4.1.0/templates/common.yaml b/stable/plex/4.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/plex/4.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/plex/4.1.0/test_values.yaml b/stable/plex/4.1.0/test_values.yaml new file mode 100644 index 00000000000..3cdcd873c1a --- /dev/null +++ b/stable/plex/4.1.0/test_values.yaml @@ -0,0 +1,33 @@ +# Default values for Plex. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/plex/4.1.0/values.yaml b/stable/plex/4.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/radarr/5.1.0/CONFIG.md b/stable/radarr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/radarr/5.1.0/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/5.1.0/Chart.lock b/stable/radarr/5.1.0/Chart.lock new file mode 100644 index 00000000000..9d6f20d2f57 --- /dev/null +++ b/stable/radarr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:25.906421762Z" diff --git a/stable/radarr/5.1.0/Chart.yaml b/stable/radarr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..fdc4b0588af --- /dev/null +++ b/stable/radarr/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: "A fork of Sonarr to work with movies \xE0 la Couchpotato" +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/radarr +- https://github.com/k8s-at-home/charts/tree/master/charts/radarr +- https://github.com/Radarr/Radarr +- https://hub.docker.com/r/linuxserver/radarr +type: application +upstream_version: 9.1.0 +version: 5.1.0 diff --git a/stable/radarr/5.1.0/README.md b/stable/radarr/5.1.0/README.md new file mode 100644 index 00000000000..65b66307447 --- /dev/null +++ b/stable/radarr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/radarr/5.1.0/app-readme.md new file mode 100644 index 00000000000..a48f3396005 --- /dev/null +++ b/stable/radarr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +A fork of Sonarr to work with movies à la Couchpotato +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +"A fork of Sonarr to work with movies \xE0 la Couchpotato" diff --git a/stable/radarr/5.1.0/charts/common-5.1.1.tgz b/stable/radarr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/radarr/5.1.0/ix_values.yaml b/stable/radarr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..d072268cac7 --- /dev/null +++ b/stable/radarr/5.1.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/radarr + pullPolicy: IfNotPresent + tag: v3.2.0.5048 + +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/5.1.0/questions.yaml b/stable/radarr/5.1.0/questions.yaml new file mode 100644 index 00000000000..e32bd38cc46 --- /dev/null +++ b/stable/radarr/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/radarr/5.1.0/templates/common.yaml b/stable/radarr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/radarr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/radarr/5.1.0/test_values.yaml b/stable/radarr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..e0c08d1333f --- /dev/null +++ b/stable/radarr/5.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/truecharts/radarr + pullPolicy: IfNotPresent + tag: v3.2.0.5048 + +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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/radarr/5.1.0/values.yaml b/stable/radarr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/sonarr/5.1.0/CONFIG.md b/stable/sonarr/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/sonarr/5.1.0/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/5.1.0/Chart.lock b/stable/sonarr/5.1.0/Chart.lock new file mode 100644 index 00000000000..ef86bf8eb83 --- /dev/null +++ b/stable/sonarr/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:26.745480853Z" diff --git a/stable/sonarr/5.1.0/Chart.yaml b/stable/sonarr/5.1.0/Chart.yaml new file mode 100644 index 00000000000..549244a3694 --- /dev/null +++ b/stable/sonarr/5.1.0/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Smart PVR for newsgroup and bittorrent users +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/sonarr +- https://github.com/k8s-at-home/charts/tree/master/charts/sonarr +- https://github.com/Sonarr/Sonarr +- https://hub.docker.com/r/linuxserver/sonarr +type: application +upstream_version: 9.1.0 +version: 5.1.0 diff --git a/stable/sonarr/5.1.0/README.md b/stable/sonarr/5.1.0/README.md new file mode 100644 index 00000000000..d9948719ae4 --- /dev/null +++ b/stable/sonarr/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/sonarr/5.1.0/app-readme.md new file mode 100644 index 00000000000..07c189ecff0 --- /dev/null +++ b/stable/sonarr/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Smart PVR for newsgroup and bittorrent users +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Smart PVR for newsgroup and bittorrent users diff --git a/stable/sonarr/5.1.0/charts/common-5.1.1.tgz b/stable/sonarr/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 zcmV)xK$E{8iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHciT3$Fb>2K9e|Jk&`|% zovs)rAqh1_a!5$F>g4_GzlAFS5Fjbpanh-{x*CfFHa0eZeZ$5^m`6$Ix0 zv3>8h?9Tl`9+=^GC@*lD48VN11G7y1Owt5(B2BuUm(U;Im{Pel;+?f zpCLAViq0gRq5+r?k`;q~e~igwb`^x_v`_LG3R#&x%(9|Sa)kO*SP+!=`3&sfkhUP} z-rU>-<1`(|h}FkaI7UVPDu+pglX0Jaiqmo0-?`O(y${nk&EM}n-@W~QH_C!68F#MH z;wH_bV$kV<5|2(#cB02#bb3G_ay`33iU!~O_u)>ka}aFzw!i62Ax;Ry3CbBTG=(@G z0Gy1{|0w|nX+G`%kU&ZbjWz(x@^}EOf(pv@ZzzubrwAwMjG&|!qpK^NjDsXruwLg0 zhQ-eJ-|u-~@nWJEMLNqv#PD2lJOo+fxR6DL29j2txg^YfuoLWbKKJZhKlgnE|DVHn zhKf%l0P6Yw-rn}kp3VQC@9eGl|6@GkIK6`LpaZ}Y(CdLAA^;{JoufR*5n>FUOc2O& zG{Uza9kE}dSsYVtBY4wmQQCk)%b|qe9I-MWLL;1DDm^+t0Vr#B!Zaay8pkNFfGIx# z%8df{{T+;P1X3oM3IKE3LKdfsDN4u|h#;D#Nr4DRb5IaS&}bGHh;#tp46Q6|c0EZ6 z>7_YQn$a zBT9kfXpX6*1ruD5G+%%iPcdPm&OiLb-@l}<2Vk$$VLFlm#eUH#k`|bjdEQ?M~OPa|+NBWV%B80DQO;D2Ph zy&m|l2p4o}ME~7^q6|(Lkx;_k55Ne<1!Ba@$A}Cl`O29iSmYEZZ`4u+PuOam!dvs* z_O^m@eE#+=!7=`wp?{9@5G90;EiL$6S?(2@rum|_Xs1B=9Ea#A4AWUcO3s?05RWh_ zz|91a3CaNkq9}m8EGQ=FERMhx0-O^>9U%Ua-ImZaS_6^-7)A6SIv5sA2d|VcE+#@w z2oYmrLsBp+1jjiYfg~lMU=tt`NC8|hg?I}<4hR=uj1ok-Mg(RBPR54p0t8L77!sru z>~2@glD7qCJG9X(&1SR|BT$$l0&XywFi3*IEz%h%7(Ew3=Lz^L0`LYh#swKOE|AU& zDdH#z^F>C{x?0G2zQw!3NKOX?jVSY@OP%tnCycJi;wp_6903@Hs3;_zHT4aQaEyWu zM^?#^^P}PL=htse24K4AWw0oyNhG@a3gQHyWRCMRVGM5$b4=%V5r7LpBst@04~L6{ zz*{ML2c0M2XcJugV*uV>98&^p^43lU;G4TU5WGP#f&~iBDA7ND{HF5+9IGOoCxAUD zng5WdQ}r8wAfRoXY=WM&rT!s5vfj$(UeuIuw~vxJqstSjM2MbpqKa{%6Kj;GQ#D13 zEr4#}G@~Q&1pLhC4{{Dy&RVKcOw%o{_wd5BR~#m|!Ep?(5HHk&(G({XkBcl;Lv-=t z)%nY#ix=VP^dd-L4`z&8(IM|^bEPNeN)O#;X@PoK8uh3}oKJaK z+RJwoH8#AmuV=4MUc5g$di8>HBmhPj#nBrylE1~9b4Vrwwz`5OjS!_mrz7Wz5F%7U zjPUps%vgP1TiU|(OK%FZ9^=KdG+!8%qWrZg)&s}0f}~TB&6j(j1-{Ld4V z2nI?&ogs3Q=GR~fuMyRM5a)nYXG#jLAW*h+c^uCQg7P15UJ$xue&Tg6I~ourNmxTC zoE0*z*43+b0UjA`G0diEN@f?Aqh|~0XmH}K8bXBGaDAFkce^X11LY-v=!{wNP1vbLZM_m^LCH2U?|jT+_kwCAOL@-B3(!iKm|9708XUbr|K&#delNPYwLQl)&z_qEM|7Na!Vx;XM5*) zdWFv#;G*O6Z?_)ei2`Y+Sj$nk@Uj>0VnPt6D3Ceure)kv0FXFn)*oMkVm9btJ6y*RMgyDLhRGGA(rtfl)-Xse6xq{6lMQM*{S~acBrKueALRVjHd&__w2vDaZ!Q^8UQoZ$3w#V?@ z;`sA6CTScM5~A?KMk?h;5XZ9|T}*ORP<#hqzf;=a5yUG^2sIboGeUj-BvV2`{}gk=1pdI2!VUZj zn-xROU6!5`f-AXaM4L?o*%=ni&ugX8W};Uw~`000o}n80J!@e?t|NZzPz&D=|fZ z0rOkoq%xTcz^tNz|E=}GF{jJAuc-aNXEobkz*CB*^!segg#N+B^%h7{ZikaF2!c&* z-Z5_p)$OO;T?`YjBf)HGRtodSq)EIeKeJjezeZHIktlG`;ztE*!(qwIrrBtOZ#j5e z0ERaoI$Ripur@rb)m^&0$Rgtv_)di|PfpLZD(87Rr$}h}obC#}nc#5343aC#U;j13 zIf{6{9R4>yOtE`W15VqnC?VN;Ht$xJ<^*W20WqU_Ep1lQa;r~is$6PQx`~Cb#v~6Z zCwJonr}b1x#|&?n<%|{$Q(S|y;wN3Tm0W4{o~^J{F0gSmv2wbFZJrI2>ZnUDl&MJ00=IQ&r26^ z5`i%y<;ueeK{=gDZ{NIRU)ee>tzoVA9N__jZgol7P36L5Zg`=)sWfRMC!i zKZ)#?%80;=xv$&M?+JLrffu@ylSR*c&kE=OmE*e0`YU_##9DBZv>@eT(qT5mE6&IkXn42>$yJ>;yZ{dfOF97fg*jXAwNcM@_G< zv?SMpq0jS0l_R$O5u$P`&}J+sd-C?ROVJtrvz@XdxUc#HkmPKQr-0QZVH) z3KJx%N#)Gk0pOF0mE{|o!lS*q2;;4JB^a7!WO0J?K}TDEa&ji>bBVOn8Ud`5B2Ykt z8V1_wVIpx+wMmU#hmzTOjUK1RvomZjnj_}yPiK!X|VnHI8y~`~SEfP4z zAzj=&Sc=Y5T*$GG9M#w|?ET}1;pLX$>{1|5uA<$`Wh(}x3a?0~h)mc%Yg`}>a*XFF z0fHX9Q`P#jgsJf;0vj3{n=FixgHC2~OjRxe660*lkH?%2WDA6oG*v+_j^6M#br@VC z_jJ8Nxb%tl%@}78is94`Ya@TjgvOemwR4{N1rB=rpTe7CNRdSmTRymiHJ) z4TrZv*$mUo|Jfr95Wu10_17RrFk*C;wuz9 zVMEy~W>-uSm1rHYt;|=c9wh5tGEcZV%@y5LNB~Mj5yLZ0Bc#@MX>?r)Z>|_3K6Vkx z|Iz`=8$)6dmKgTbdgNI2C>8}@lTdYS0Nx-N{hVWhUMHcxI4`JC%h_H!QaH+9P(>3J zrRnIUO@V($1F-WWR-m~Cnlg#U=Nx68d=K*7F_>j(0xl<1R?iYTd@znLIjC!#saF~| zDJC#S(V!}ws|=8i4lNC?5V=7p0Wj7#N?pRh#b!NTe228)xGgC(cqJLU#b80EC&>^< zsvbz`YXhU-C>&N#YBx_*kU=+s1a?IbPNl0)tj<1hF>v{MiXuFlvamY-O6xc*L{KEp;5e$Gw4qaZnCHGAdMo2P(_*aEUJaUassC;uQ?9XITZN_F7E^GC@QB_Y$q` zves;=7ETb%dg5J=8QOx>XO#1DeoUzxrb$6^h!e7GAPkST!pXRY=3E)>!=k|BghenU zX@vSu=>K_JX};N^zlP$M77ud5gnt3xi23ps8crae#Vf?W8qgV9soB6li^Xq?QeFpM$Dzc7{pPGVS!Zeu?U+(3CS^k+eakqbEB^Z zrZCH>ZgP4qy#>6GjC*^KI4BrJJ%K=vq>R>xggu5sk1l8SXAg4B`9i}~-Q3&+#`})p;mHv{BPfM+0s8!qfscU& z9a%-4Pk91q+%j>2?0MM=bb6WXS98Ac$gGaHVZtah%@ZWX!?GbQx~}82vUYSb-^RAwiUl z!F<8Py>m28=i>OpERPr9Du;|bBZ6}9O-b%=xP8lqM@rr>n+?Fu_V!fDS9Ts?0Csl2 zdxhCMIkN3)eD0%Y>*q5(;{2zIbnm~1aU78BA&-GJod4h5d$w(z|9rNyzrQ~J`54dL zUH{vTH~~WPMV3;LUiw<-{Mfm>>+x+%1iHMj0LF0_^gdGYLcjLE1+P#(7D1J12xH-Y=Vj@F@CXxTh8f#4Ac-pMBPQ&@pe z(>W|RG_!^P%!^V1+cTO$|57bkCIaY|r_s8graiq_06u^OClQrw+p=Be$7*a$9%QX= zt1Pv8Q<~}11$C_%1#8;VK#U-c!A6$jgp5GF2og9@r+6KlgB$ho;I9&mH1hXj}%wL3Fe3UUCv@A*4`5G@Q z%CFc@J#56IYG_4*n>4?UQy4kXtV2?dV$tyMY@dMLdMmNt-C8ae2!VfeXO+WJ}IamasV3Otko&>;W!s`mf>{=vao{y)aE ziu^BA<20(kw*+M@B9aC#_Q1{uJK6)iQ9g!M7D7L+#Naa%^;1LzaxI z8H)A7r1n}FT`Qx1qNl3=$-wD{+XHIS|8{qt+xp-3+W+%757qy`8@7|f^}SPZ{6?yF z^2~@#am066d`g^hGaEZNKZ-nT;+R=^Itps=jopg{wz8@&pLHaca11Krnbd^x->*obgQKvxZ)+1{oF+qZ#H zRtILw=5Uf&8v&bwB(8`fJOY6_3!#4$-O`CcL2dx4hkZTovH$E28RG=Hgo+|gL~{@- zbSqJJ4S|AK3&TVE5ar~jG>%Z-)!K34Qz1XfiQ18QTA4+ybsz1A_Gd@12r|o)N}#uW zG>~(RCiYOy`f|lT6-)M1F$b#HQ_8Hs6?)6Dg>q~vNbp$^7!dW%t;&Av(;OAl78x9Z zZnq8Y)iy2c8LyeZ;%{hCR_sa=ZkD~1gJJbfAarQ4iN>CYLuRtRUay3CjTVKY3m?D; z=LK;9Hv#n4+jXD!sp@~(JbdK%pXbkZ?f9SF?X~{*C=c`hy~H6(3Ka1;9>&;@G8j$} z5MQ={JZ8EZZ1a;zUGb^A`F}f$bjFStQ+6?v$#X|IMgZN0C?hCLt;_=n4=) z=kEeQdc_WVKoF+cLdqCX3P8eDiU}c^xFQ5HEQ2&3_hVkF=)XKYesMN@(c2BSJDs;l zOu415#EMi5S1|%Hya8zr;5bK!1*GBx+~k}EwiXSUe z1=0k-1ayyv;B?ppe?1zW4!1f#pI-d*`t1ey`RL7?qqB?C7eny+4LE*%c5-@g`uc1L zUjG1&&i)Smc6xTQ1rTN#nbB>=MQRQ(B^`=_&JZD^ap{s3`65CP!(=>zV+6+O9OdlX zTUG{3P*KuhL8QX&uXHEqbS{VIC;zV}e)mqPRgFg&Cn_ID(mW(a{Z%b9GYaU3o^K!5q0-fSf5PB5!J%gplBb zrGAcaK|1M(#i@x)30PRT)L^v3rR;>NPj_JfUT(7{n}?023{E0+y9J(}zdP177QK00 zz^bE3gF}(()YfUv-yH|4RL?e0jL#0e$8P43AGmVc5Kfyy(@uC}q77yiZKSydoPXC( z>uuU5#Z!$Cnt4X4Rp}ekN-E_8uLf@Ec-59{U7n3q4K3QL^jb?@N4ss!DmL?;8c|O6 zsMP51_58mo|G6RYkSaif{NLW+w(tLXcJTb!TK+%ABliDTI^0}^^aw64cJur^Q5v0& z{W`T(#{qwyZ92YN@;Zb6nxRg`2`<7MKYr{``JIeU1bQA9_^!3E{w=)BuJzAzr#+hg zclX(jz5e&N_t*FTJ<3y2zht_;T7|2QBZ#=yT-nn9E0e@%dXs!*DMfPfdK^9C zv!-B3I4=LMo;kr#F09*4m|LaJM{G3P-bXAu)7D39_O8)Kyqb$x4Y1i($>}+CT7J0sc`s24oD64N|SZ|M_EtzKUyUHeEvt( zgSGpy?c7W-Dh8 z6v*c=3yjlxl_bbc*RWW}ps!=l%NTScboxGl=yu44@H-hy*A2SYI=$L0q@``o%_+x~R1K`Y#rzVNDqdO0Y?g4Vu zm8kV9W2VUq3WyDSNgBN?dJ;S<%lO@0so|)lUzU~`IoWr*?&rrBfCWX$7B~5yS{3jC z{A-r#hebe{`$}(J&oNa#BHP};jaq?!uOfB+?%0VGE9}5Vde&GOJ*lo%#!ivT*V>3N zq;9WUtxVZox67s|PYNQ(#b}|#rZSo9A}qf^^RH_E2}f=JeR)gzc^Z{>q_1ETHtqlH zJ>NI&zuldK=j;8SM|o=1Z)hpslk(#HER6tElftitmlvS1T#y=fxr`brTJD*FbT~f)7ej)@jWEOmXtYrGx8Gv@#l~9RUE|HUlWj zXaM#E07P;e>ST6LI*$4A`P;Vy$M|=q1)ZZjLYJWD7*Ai zK(rbP_?4s;xK=nBFIKi9V%6qi94(+KitbLH9`?^H$E?D|kg)ATN2L&E@CwJ6;BtNh zvVzB8bmcmAfhp?MwhrVhKRBf`zsOY5ncY$4oYwkGR;%9n zUS4H-cUSJV@@q}I960^#0$afhu&anr64^JDHX-4?G*#!hR&2V_33hj>{T7J3y?J#; z-b!6ReAH{Ea_aKQJTx6+2TS*rW7_e% z|KL0O1cY)iC3D-@W3>)JgvX$J{`T~wD_*&(+&PX^8vycIa#Xx6SOy>iN|r`L6wY!? z7RPBq(5-bGVw|V5%!52trE5CCtI8hy$a=uvweEreVpRM{e^#J0b-@}`^XQH11Pi~y zQM2tm)55eVSS__{D1H{mn9r3XRtYz!rP8s%-+TZh9kPR?U{gY>s8`nM9t%efS#+iO z?7hQyyn-a0ltGFAn_jsML8b8*Jvbw2FVk0dp8J=C!{+7-QLc2*HIv1v2ndDjd8f>4gh;u%)$_%2t`}$=Lq5$ zMO&O9_1G)srow5WEY7-^Dn0%tM^sXfbJpGfoS`|&#i#O$*nwuraoQJ%^w{|7B-ivR zJY{h*FwSs-27AGt_Kgx8+Dd8<^sjKzFDBO8UTD4e;85$t5_-P{o=&nUGdrv)S?np)g?eH zP-}tT*4q18<$kN+s9jRZcjOy;L~RFJOx$DYP{HK|rxKvIq{ncnycQSOIz0`oNwqSW z?)U-Uqxc3c3c9>UC^xQFPAI3xqw<1lMD(+=pgG}5mAa0!C;mdtuZ`@2=beft(OJ<9cj_Y^0DulE+KQzoC~nkA$2jcNR-@dV=sGJ@L~d2@*Zh`eW>( za>soQ6xlc>mAF{50#Tm?^t-i~_^q2~X~ew8#{HfW0b|D?5hbly!!!pQI(WXjAm?oN zr;Cg8F6(rCnPJzSJ?7-McT?p1RY%B#F7c}!6de`4vOX3He!~!}b*XJI+O25JV5M2d zns3uHxfC7MmuQYHA%kFirMZe(V0*n@$DLZ>n1xxrf|S|9g~Yo&RB-|KZEc|KJKhty zlt;Hc&{ohVd{*W5K zk-glb_3QEX_tE%WnW9^3`y4qf^80hB{6_m#EnffXg=AYW#XMwD{DZ^tR1N)I=4$9_ zqvP5IoR<#d`|tkoKQ=dAp?7vhTaP`Vli|Mcb(VH%X860ilUly@z3$wVJJTQA0^0Cw zq8LN5sWxN;79@vggs;`9wd>gx$`eFT5#Y2h$DE1tX9Yp|>3Me(Y_Nb6^>I^dQ}9F=s$g|ELivf8S3ivdX;z`TJCsBvwnDu( zPB&ftWx(8nFZeqTkj_gIvxE^+5S% zm=iSr~B#UReF^_8n|Oie0Tt%`5h6xY}Z zNs#Fw4V#;)lk%0;g=*k~$G3LpPdDn<3TiW8J_F02$7{6z-*XM=K3;$Z`=467H!VhDmYPcP`)7x~7LcS(~vV}6^jkmC#|HkDQXosAM*=nsCE@IXGU8@TnOVH}F zicQnWyBux13_;$BvNw*DK`xiJ@H|$$wscCuIm9u~qxBSQf-cEt!c)J}-NR4qEk4Ep#p|UTm+%858b_DzK8H{Xu*4>9V-6-t`44|Bs2pID8y^DsDqf}IV7kp z$h$wlDYf(qm<5`X(zrAJgX>Gr;g*h{LV<}pl!scY)tJ<>pgu>4Rn+c1+nCz^87kCzVu%%R$E%Zd>FV)pk@cPgtcL) zC%h&~zBp2Xu7(|*W=j6MWLQbjCQ5Nxw>+sd8TrN0YDLm4v6R&k1vmlt_PG37)Y7e- z@vZ;~_0kM0P-kF`cEE<(5w*z|Xk^p0m(9j?qxW)@r&BP8IcD9YT3>C?8hZ3ppu{G} z>WG&{PCac@b4L4ih(pV|`VMskW3?*foMY7kosw0aCJKo~MAu#ob6e|_U-IMD|0a+s zfciyopK$+Ydw+l5_WvC0JYVa7kMU3j3XXZ0oE~3OOkj>80K+`hlD+#lXw8*^blK-= z91E*Ehe>o4XA^ifn}U7Y4%Kt*Ij?iL{;mk-JH`bL3BR_18}7fQI04-)&~1R@2~ls` zw1V$zXtQ?cMeIe~gE%|D!lgZ@}MXS4eL2@?E@?M`}hW z3A{_+nX3M}1f}l?$!L|}Sg)kD8_4$M>eT>QVWXDf3$!gnm}PmI<(MijrCX5gaM`z4 zEY&ML0e{&k9-Z73YzQagfHEn5vyAEAF3@z2^5b-x!5o3^f9(W2-*+8Oyhe%!=1Dq% z0lR9h>x>(=iFG_d;k6=0L3n$M<;YQ9YtXZjhqUXGai76vJq1O8Sec(~tzkaQQ^)^B z$kDw$fKB{=yXybj-(BDT`6!RB|A}z%x{Qcv{4$Lwu;C!y#vQn*5Il3uy!YZ68OyC$ry(_-+qK-=r%Ut_aHaiqO zxDRD3Wav5ZOX_bD*X}E=)@7%VlMtCblN)1e?)vZi)bW2lbw2(5Z`;o+=Rfxj*84w? z@~q=O*YTg9J^mBCxXoY^RpLMS4H7>2s7p4Njmd;PlVTg{A~Mz& zg2e0{Cg29gF&(}cWd`j0Ek#~nTR#qE=$95dwCvq_{9uY45DC&ZQkCyUOqg|P!##l- zJ0M!bsv@Ka-8Hl)D@IjP!(FJ-f>leq!Qtyl!j864ugZ?*Q<_(6H?e`3*xHPtYgQ=O zbhfZrBc>oP#Z=ga1uTpK%b}umR9nd6?^1owQ5M4xf$sn5g6{k7^2=5B%4R)6uRjVy zb~gt}nP98$NnzAEvlfHq+cpaZ{NTDVdg`i?#yHDOA5?8dI47?<#4G;jwgu$%Drqjb zEKf6(#|scbIw|BNk$gQ(NS?+ql|75BiL7Pmi$&(}Hc7P0aw1!8gt9nYOx1q1teI( z!)SBuYx}o<>g+$6f8i7R|F#cypI7{U2W$V|qdbgpze4$#i@-PyVJw8Vh=Y-exyYr$ zzX_S)cV4Np?JlvOJ59Yb+3OV2m0^T-BzFO{>SGBJNEsLdwc8s z-$!}w`29^669lG^xoO03OPehMDwmQ{+P>|p32Sc@mKp>FcPycaa~hz*O|73FV(UZP zj%Hk7H(*wQ41S{pf*fUOfk~P#G+V#o?KkTXINmfj0NDHUSsZKmO3XT$`e-G((76+o zhx(1{+XVBw#z}NqP+c#_$yoJMq{a+Wqi6dBIcCUhma4*(`s=I`610c=oog-c5^AGDlC~hA3@y z7g)M5EYKRiP>V#ajRTw5)w}7K6fLvP@do^>tqRe;&B%4V5ld#{pys9x%^?Jy8jH_C zOoLO^VOK6oG3XZLyLJ~TxqQVanKSOD36dNM1|z-=%!Ju?O#_S8;>_XOD;uWsod14< zMkPC4RtajPgdJ^FDq$?o13$M)ay-?#vunx5YRpy%MZcD{1SaNA_0HD2JB?_;3P|Va z6>7k`|7{0wyR}doOlLONT1$TWFX*%~0JAizroh$BDQar* z6Z&jQ+wW?%@!iTKukOCo@L1PYP2jN>95>gq=Gq%2Rb*Yw4gSI zBy{}&=LPv0lgUrKq?OIXQ=zfvQBstNIMt6OXA93fB(@}9;zS&FDK!}Tvj-Wvw3SPS zuQ}t*l4zON-Zuz!%N^u_Y&t5Uh_NCVn@B4pvlwhhOgEX8+-k)&t2(xpW8AS$;gs#P zp8rQNh9ak^_VfOHBS|Bq0!=@D?C8Jm4;^Y5XXW4bhf30z>Sr>Ov-WdI*z4`cdp<4n zzk6o^X^Q`U{>$5Oy4cb_0UmzBL+6~$qjEDvr~oS8vO5#DmOxul z$jmBzXC}b*<-Yc&z4m0hwsTRN&ORg8wF4n@`Z%g-Kn=-v-^2^e{GT~vKIQrUy=V6R z@6Pjsb^hnadDij&>-hiA8voCO=Fb_I5oz%0Jd4vY4%_J+!du+4E(MY&^F-1dTivJ_ zfhtF|%nluFR$$7DhPp;-GrL7y1=8w?QoLhoE0RU+EMcS8(jyk zO|xC!hOfEzY>lHadbYaQC1Ey9!)rtaT~|wGNvS*Wi$27){o1`s6uN7l$*#{FvoJnE zFGvYbv{T&n>VY_-WMt^zFSBwZJC*Z)e-e|FXNY{cL^y^HCmVqVhYk>pTGd z%pks9V%yw*O4s4-7I=F8?$~#Uy6FL+B~9ygN@1TvGU1^;^t*bcnSjb#?K9@U8WvVs z892n=R>S~xDX7ZCeu4;5xkDAo9EBua@PmB_ z6jUT;v{B6TEHyaHAeKs!>j?BYJLLUTJ?J`L=U`%tN9r5NiR@kItYg_Qg;C%GYJq01w>&wX0x~77XF)Iw*sa zwO9>v)=x5H)=OB`A*LOjWK;7tHsCot%73%+l4Nqi(-!E`WVjdgbDq|>#=}O(Pxs1K zXNZ*!D@QPTox}?nRlVKay|KI-J?yi0QV|#CJt^Ym7!<3R{ z{jZfLM(v$TPl6@JbXCu<0V-?1eC^reD0Mhzom*TGoQ#>Al!aKb!yC9LK$fEs$^lG( zSrCu-jpDdq8%ILWD8S@hDSWwiBBXz+keX%`w9~p?jHVe`oZuWJ=$3deVq!`a92{zC z<~5Irj*Kj8ZL~QH`R*-KKo0d}e5IuDWgMXGsJhlRj2nR|itude`B>oJ(MvqVGQd~7 zw<3IN0Sm*r3tG^QKHHdh;f2~ zPH-}OKO||6I!|P_;&;bGDlLmnFvg_M{?F0x1XsW3efEF(VlwX2|H+@lJn5H!u3&gQ z%UCQ!(fKwgZnDm|!4fD{{X5O^xbyA*zw-pVgE>xT1vou2E*93j}} z#q;#HPB1URG(!D90xJ^h|ILe|lUFZ-Y4j=Ds9*m(`v*Jr{lB~0JL~&@ALV%>^7?c- zfB8k-pSlz51>3)FObE$}LBEfuL1 zouUkm(cs%}!GFoN$CylJS3#Ig`&0wufvtU*WksLl2=%A1ASmy13jKGd^W+J51+hGe z(&>Bv;-;?`Q;1{m0ldv)@S*bo^m@G>;Qz=!*!!{-@By&@7|=Id9h#zqB3mZ>9DvLJ zKHLd*4ub98_9ZLI6@1$C-_Qbl0F+YT12_>I74)wn%rU#&i#EwH;QyEZ7=N)}oe$vr z$I}z=0pNtfxZFSZ?vkVT0i3_}eR=!pX!tkq0Tl9b*~{+s_HI{wcb?z*z{8(EfXiQg zb(FL=*jkkJ7h^ZFr4cGnK1Vsrd-BWnuO`C19-NU$x2f8WRV_&qR98uw93Q|{n$nqZ z$xN8q8guYL^QPu4JPzkUJfnrQ}@P)Yk|_%bjCDp#^igH0U2aUZoitfnyWQ zUhq74R$EVA2cq3R)t(Td^78bSHL0aRrv>|?N&%jpw1;ltG>cKd@}srsjRH%xAoYg{ zzrQ*lvFtTq=S-by15sQ?ur!UeyU{CTYB4yu+|aVAfF{i#oGeqB|F-#tE(ISfMsgkLx@(v z_@ro*p}a_wz9`)bW84m4MUb-Xd3Q~&@fAUo-Xv`(Aj{9PR;4XAY+U9Aqo|@&oxQkt ze{}Nd^vsQH6F6Jf8vcFw{?+S~w=Z8f;Z=ErAf&VO4bIVc2J`5?!*2ufO@Qm~3P>jD z6!le&R`4q0zY}Z+yW6|l+u!Xz*C5FA*}mnRk3D=zrYiJ&l)L&z&C;_h{IXW)nTfou zby6ndR^`jI4lWVE@-LKy9Z3*8GP{OZ%3M%RnurX3{;Fk;Jx`etzGaf)TsxBEL9%iU zfk!CmnFX9!>xnOXELf@FO00>i0ewK1(AnE+=xy}zI#ql{#rwW$b~~lIQTeqpb2!Vi znGQxW2oEy)jycyz0vLvbG!#~%yR^Z<) zOm}|7^);?>HcQw|XK~yLOMY2fxy9&NsIDqY&_Y!4(Sm>0dX`2l7_uW{k*_2_-77Ui zdAQ1pxmCQuIcrrTU7lqfM&r-gbRu`&f{)iW;g}=aXvcA7_Dv=Z^l$+?>$10)aHuFXfhP`eN~>yNp_?_8Z)R^TeKYMmG4*~I-6V23SK5?p z_NBD(oVeh(a*tTI`Lw66bv==9A-Zl0@@OXo$ss}Gg#+<7X&mEZ{5Fdq(KHP`QIvDq zIM2d3N_KinJ)NT&Ny{vvBdXN%n=ht_zz7luW(CFlmkEley(kR}Fy9IG^=&h4cPUBp zn>3An>#NdzaUEOH=hZep(`K=X|1U_F;2iK1>_+`@eg;dwX{NkNw?e>;2zH zc|>rB+6Bf_#@RMHUv=pmz{$AV>3r4I=5j%DM8ZkV<_sP!`o#ZaAZ20o@O&NiuW-^YCf$z?aAj##N`PmtU*duzRs;S{)ZFTY zA6vGu1-iYExAd{|)hNvYkMAWRr7#cqC{WI%e{hzP7t|ErsJ6r^l*vf9z-wD**tr{1+LMeoMj~t(dt)L zlZODZ9C;h&dj=+;zcw}jml6$dkDGLj zv}IXG`M6k~Upbf+1+*HcqBWOdQ!pPFheeD~25`c?{5l)q@XF$L$+ql@HFL*mZ^_yp z8yljF)@*Cdu)Z*c#ipuX!2dpEAK#~=_b8d`tc5jD!T3(5Bprx! zWvZr$$PaM}EB)~xGNNS@^zP{8+ZS5V7Wg`w7=UgaRNgVQH|y%%19Xgn4%h`)Z_tSUK{@Rq~k=%NM4oE`t?#cdYj5EH$dp4m}0U@lAEp}=bYll88$xVM1acW<{(r`6szEsC?( zCokTg9ld(-ApKC#yf{j4WYliLT~ZuR{(i>B<)3%|yt6L&|L4ble(b?$ij&J0=m|g+ zIZaXF^(BI@@GV1*3C{{XOcE}E)E28yKf$U+{@?k_)8o^Nm1bKN-03SDTst6)9$z)k zl($wAw(>YAEl@Njy;aFYAs=A$A}>+f1+{{mHZs=#?Pb~-;?3OlW`l)nBV znOD{IQj2{BGp>JLqm9Zc*lf_aMP+^eOKwekvCL`R$An(kqw=V6>FXW5Fx@ z!gKonYAf`-IJH7#U>4A<4@$%LTOhsG0hQM;{`!CECxO^k3V_6m4@e!W>TbI6F=$>7 z*$cw9bzZ^j7eSU^!J+Ez3I@%KWUkvYuVA*iIYSAvl7rY~*@)O){!lepvw8S8HYsZC z9hZH>YYupFfl{WH00*Gk<+76YhQD{~Rs51iDTjtHj^DhvD1{&YTB;SYVUo{$?drVh z56G!`k6UtSLD(&wtChsqv{{~*3?62uSh$HomE(EXq^sH&AbcK6`p}7PGj&r4F$QUX z5Cim=mLpUZM-*h60djM#a;j_r8)}KUx`vgRbXDfMBBx^kFst!7hyR8`GdP*?h1J3d z(O=8hl6qH<+q)xM8-VT5s$jw!hof4LGfn;@FYhO-&?7~<*A zm`u1peWh|nFWJ79Y`V{brz=Iua~=br&UUt zQi%Rj3J4tqX63PyE~N-7#~!G2FkH005R=Q{d2DWm&Sq~b?4xiA%f47MQCBa#jd*6U zw_R4uZdeZYV2R#YlhWIuzueF<;T}tUFm;Hv`cSJr=z^d|i!g2?SwWf5o8dxPdNIon zgNDOZlLNxK(0fU zX94N&rH%tykSpf_%LZ0H5@><=qD}?!?pKZlmMB{%18s7-j|NtVO8>lAWT;RytyQh1 zI_-!6(YHsH?kz>$s2eyh+U+_PE*P0pC8LstxZz*7OBxzB~qkpW&rdARv)*t zRv?q-ie6vzEM`V^K#_NxE(}tzwZp>*lnLthFKr8FXIBF;ds$xdfc3oK>(=tv+uRte_ z&HZpfP(Feoy8C#iuMxp`jL9nBl}nnR#xWX+P>cxLU~O#yXRpj|(7AW5O*)2Tn}O!> zQC@;x+r+a6N&U4cR>E3I|NM`k|4-5!|4z-}_!$XssvgA-CM3vX-7y3HL^ z)=Rb5`%oRk)HUm=AeHe_-fKGd3qDlKV^Pk7C6O_8ay}SVfc=(>_ye%B&A<9FCMjdeU8em-BeRKN9oB!&<#P>Ii9y+v&T zx|`M3%0o0)&TCI|WdTofYV)KShni7w+F7dz;#Y{|IQ(3axW@e_lbM=Ubw%KDetCTU z_AS9N{+%U}JV$wm5(3Al4S#OOk$o*39&G!Vtm?zS>cm|)%x2vIIN1K^7BalaS7@5% zi%;CInnn(vuhO+C1K1sa=f2(@r_(E(v{Mi6KRA!mYdN4>pq>D0$#;Lrx3q^&z81Vr z#3VS`H!oqGd^2G25}xzZI3ZOx-1{vHgL23%%pBw|+xx{VEYOx&pFIcOeg%irPS~ig z%NNDb9OZC~v{j+OW65$3p4E?fTQRB@(w5f0&9&?BlRbw2Ph3;+u-Shb{eRDQp4<1o zK70ObckTasjOR=7|A`A{9@^h$gZ(r4_e9^@`SU7-s`~G$v~>9ER#W%A+P-KLxLs>M zrG;@`+Ws!0Yg>c>G^m?iADF%~bNF zIAb3#??X4>nl8F*VNG}@4xN#YMQ9J17@>XCp&zM@ak=UO{xpkMBd)}-O5i_>)h))M z<-r0$>Sf%_Qcy4BR<@9`>}d_{H?tT?J6vQ=eL$wq;Yj4!@=DlOA(9=NYov`B4WhU{1S zYW!N#?_HTTZqQ!$w_A^;h|3$Q?jOJERcJ*Mby}+^!ZJVHdndO+rR0u!H#5~xwKq&_ zv`bNI6+z|54Z~(^c_Y^0ciWBH!97%o2T(@2(q)UZHuYuiS<2z8oQ?MY#WEu8?Cw2l zCt=M2_oLvLr~^QoS&P?)6R)d^%?A~k45hI)(TaxF0Gl=%Z%`dNA_vn-FKyE0lj?D)DSW4}#IEV*ldh z@ZQqiE9@^`4&|$Q|CKiyteV{vtfCEg{Z|(+hqWG~^E{p7sK$5oNep}vE169HICR)= zwG|6RwL|`A&r#bW1Q|ud)5g#Q{Pen`0cT=YH$FPa&(bo}>=#G!&qFj1rFfaoM*K&H@+mF~I^6GnORpX(4x}Oe{5D)Y}Q#6Q4f_6b6KC)F~L%alLP3NdUNr+ZAw7nMg|E5=^Y5j0! z@&Be*wPx|pm`r}s)A+4oe3*Fv)opV;$6A}>O$JM~hRP0g*l*vAd~?_*)2y96$mr(` z9r&|Y3BRRRJ`3TeG`$wq!T+XLmSxa`Gm`c+L0r4*N~ixamV$=W{m!2F0W~|~YIy}u z!d4t5k(Nditm>Te@(t09SzsCd@#kFEf@}kmbGo9O4DRSZ4f$n}u|T?*{G9Z6RoM{~ zkohm$R9KP*JFC)Q$DqM77~W?VmYdtY1ftFarhneUH=jx>wUjtEE@B{s!$>RYPczCh zL>Ar6V2EHImgzS=UZqM-(^jqcl9@X3UpAjc+GzysHG!oyfTbk=5)!|)q;D_bmzL~HO7xbJ z{2ph(y}G-YH;uZx*4ZD@Tq>pw3TacG5z%<9=Gwo)Nxzs-8QKe(B%P!;3Fy56`v>0* z_7A?3N%H@hRKL(!^v}ev2$@+O9UYa&O|mo^qHvaDvN%o?f^PlBO!X{vwNq7a0gU7H z<~+x99HTLMQG_sNhePGHeg+WF$>}eOo+crGD1OY-S@zIW8*#9Q2L}g_MWTa)0}qMV zm(@x1W|kZkZwr(^G?8)%`0)GhzkdueegFOUo|&Y+JOG)FlIRo7syc%C>OAsHq=aB_wfzfPiK0Dd{)(%oT5Zq z^HQo*4d$gRwzRb<(5bb{Byh_lJC=R@wAPqv#%T3^hEwPS;P<3CfYwX@`HFDor^y}beG_8hm0ux}5! zehRHk$NI5QGS?2nYZ$^9{o{w>12Y=~ui^30%NIS`h#xh4+Y@zqA$`^JaU(V@6<_`| z2={6bU2~pgIgd-|t;Bw6ELCHzA0E=xx5U}UvJoQzu?Djyc>eyU9<_G1z&(+9AT!dm z|I+B8bN~HEqy4vcu)S-?e?Qya-&xy#kMVpl_Fo!3xUr{!{8L$WY1Gn;(+T9T*$n#8 zKV<^*`zUk%kW5+(X!m2)>TvG+`WTD>*fA8J425`v`5ETgOWtyMJHno>76_Poe=>F8 zL2sk3m6o;FQm-Os*_*9~+pBYbGJe0+Q&|!0AR;0+X@30$EDHA2u8ai7&b4tt6=wI% zkdv~D6-!7!rLUb}e_(+C&UL4Qm5D9=*sfRIzsIUG_qwz>aKB}Ek`(7@jKjs3vIrZN zVfQ$m6$Ir!;M}r$DMLv(N$$CLTD5V%b#F8w&qSSB*Q~yR$qdGtPtn<0BuDV@EKQtk ziT7)E@Ndfw)Eu}UGdPMOOi_dJvDz8Gulunk7*RA)%O8dW5*#*cGC&93D#%q*O8UvF z2n?vXW){*I)FOdX9O}7JDhOQGBH+tXqM{EjJxEzjA^v{7kRNCvm%$$t;4-UC4>YM? z;bJt4jk1b;h=DKH%KgKvuyYYNtYK|`;gq0hxqjy=K>SjH)x5j|lQ=M(Sg+XZ;9g>` zw^qMWHh6;bYQ6fp+~N6&T4O@qoKcX#r5n4&%qPGcwgU!&{mBYmc2;MQ-`@Y2C4W3x zlXmRTb=Z(i5uK;~r(E7ON5;xCVr-gp*+ts~c0Ybr)@1UhKQwEamxqy-;Y;d-SKT&% zI#*Or3y+$@h%DNkG-O>@@~8CHdHO6_EpY}m;{E7e6Xo!N11CRSIQ;# zOO5%1R?*Nj?#}oR)h1SD@k?`ElL_9BgH9JE|5O;!H%5HNvW@7m5^R6DQUZn{DvDPr z{r(2Q=;s_0^a>`6>g>b6qXF3Y(T$=W?QuUW3)a(zLiF-Jy1Ffl_C6*td31R> z7aM{IR5_qW+eQr`vQa-TQ@2;Q-Mz?Ga^7= zd|flqc_SXi%JsA_mhCYk`my(ZczrATk>%36@vT=Ti!|t3k2LZBvv5c zkq+eWkd2bgT<(|JPtC+F6T8e6ZV`lv3Hej~(dQ~h@cI)A@fX5~@f_v-Bw`$_V5;3q ztax2OuTX?%Q&5w{8UK!6;wdIRxl-PW&mXrH#M@!%aI2uTfF&SfIeCSp0=@)6gDI0(V&Q!MY+w-B7+c*Ee|)=cg`bXXZj&=MMzMpw9FK(Va{=(}2&58i!+ zrjG(z(@jKJa_65mB<$u|>($JaU`neV<1gG9XVIWe_^I3s1JLD}C#(XpP5PZovz@N9 zRn9+`XxA@tSHSij^7xPFadhRPs-~!t=HJ=~S-TP;T-v<7RgA?}Nk_gzS2@3Og7X#HthfqAt44!b(A`=_d|5Wi zAJkFhxNo%XatzSQ0+0-h-*D`4Qq^9K;cTb&Hqtr-YMo_{1QHryB%3)rGf_MhpQ7GhZNtjzT0BxctS?86WMKBJ@hENGPS}t@f=07=h&&!W?N|j_ zWazLE6$%y|TJ7fmbOm)av3I16U)LBv%YQcjT{?JO_hC+X^_qbH#W?sLPjHr_(Nb{g z;1UdTGj4>3+ckiQm`NY#7hISU>jdW~z z47{YC>+Q;V+~+=(ynY_*G0y*s`<5R%2SCI9Z+i#ND(C;7@9nP7|3Ai4fBt_ol}Gs> zFB5>c8~mZO0oY*wOc?=0-`iycs1T}}8K6o_t(DK7#m&8=*A(N(GA4#WyjrcE?_=J3}-fw4{<`-KuunPXisjs3N&X+iH7{m(`Yyg!dta7n!Cti96IJhU1!QZ6>AP(m zNm@QKa9j~d=C1Ig$*zR7vGid0g(rW|_>{St+XMkH{)zIuYRu(`%<{xzp@A=sTd(99 z^zv#A6FLW^=f^6qo5^ezF5&z0nCILi*PAX=sV9ExyDj)~TKgI)m(Vh2-~A%&JWoj) zrtv+cm{)*F_-)hbx@C=oG63C+<8$k*M;7A{6Z+nhGQ!7>G6D6F!(67dpDr%Wmt=mb zHCA`|=7!4&1f#j(lI^`cS)G`)uDdn<<;&&NYj*k2>{1TCkDJL!bAMiTlq4x(mr6Z= zLhj{eS}PXN)p?r+vl2!637A`(<{px}wQcXg*qhN{WsvT=B!_5(uLGQnb5s<;_3R4e z2_mQna4J2ULjNy{aDtdQ(xs+(p@MC}C*qbKYOUGjXJVJyc+@gYwG9i)3T^My(V5B; z@xgi@G!QKVgXvr5zyqvr|LwUJnwP9n6peCgi2Y8=ZWtw*CN35HpY6EfQ9 zYPfw}fFvbgl+Kc*hRpRi$~A=f=R|G?~K~M}pYq5P+|XCT!OGaqDOO Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/sonarr/5.1.0/ix_values.yaml b/stable/sonarr/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..7e80aefc35e --- /dev/null +++ b/stable/sonarr/5.1.0/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/stable/sonarr/5.1.0/questions.yaml new file mode 100644 index 00000000000..82797711700 --- /dev/null +++ b/stable/sonarr/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/sonarr/5.1.0/templates/common.yaml b/stable/sonarr/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/sonarr/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/sonarr/5.1.0/test_values.yaml b/stable/sonarr/5.1.0/test_values.yaml new file mode 100644 index 00000000000..41f7eb4bc9a --- /dev/null +++ b/stable/sonarr/5.1.0/test_values.yaml @@ -0,0 +1,51 @@ +# Default values for Sonarr. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/sonarr/5.1.0/values.yaml b/stable/sonarr/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/syncthing/5.2.0/CONFIG.md b/stable/syncthing/5.2.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/syncthing/5.2.0/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/5.2.0/Chart.lock b/stable/syncthing/5.2.0/Chart.lock new file mode 100644 index 00000000000..8dcb796a01a --- /dev/null +++ b/stable/syncthing/5.2.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:27.563125875Z" diff --git a/stable/syncthing/5.2.0/Chart.yaml b/stable/syncthing/5.2.0/Chart.yaml new file mode 100644 index 00000000000..106f47ac4e8 --- /dev/null +++ b/stable/syncthing/5.2.0/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: P2P file synchronization application +home: https://github.com/truecharts/apps/tree/master/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: 5.2.0 diff --git a/stable/syncthing/5.2.0/README.md b/stable/syncthing/5.2.0/README.md new file mode 100644 index 00000000000..fdc91d9c281 --- /dev/null +++ b/stable/syncthing/5.2.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.2.0/app-readme.md b/stable/syncthing/5.2.0/app-readme.md new file mode 100644 index 00000000000..7eaa0780e0e --- /dev/null +++ b/stable/syncthing/5.2.0/app-readme.md @@ -0,0 +1,3 @@ +P2P file synchronization application +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +P2P file synchronization application diff --git a/stable/syncthing/5.2.0/charts/common-5.1.1.tgz b/stable/syncthing/5.2.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/syncthing/5.2.0/ix_values.yaml b/stable/syncthing/5.2.0/ix_values.yaml new file mode 100644 index 00000000000..7e23af4fd52 --- /dev/null +++ b/stable/syncthing/5.2.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.16" + +## +# Most other defaults 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/5.2.0/questions.yaml b/stable/syncthing/5.2.0/questions.yaml new file mode 100644 index 00000000000..1c6046374a0 --- /dev/null +++ b/stable/syncthing/5.2.0/questions.yaml @@ -0,0 +1,657 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/syncthing/5.2.0/templates/common.yaml b/stable/syncthing/5.2.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/syncthing/5.2.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/syncthing/5.2.0/test_values.yaml b/stable/syncthing/5.2.0/test_values.yaml new file mode 100644 index 00000000000..832d9dfe8d9 --- /dev/null +++ b/stable/syncthing/5.2.0/test_values.yaml @@ -0,0 +1,41 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: "1.16" + +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 + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + mountPath: "/var/syncthing/" diff --git a/stable/syncthing/5.2.0/values.yaml b/stable/syncthing/5.2.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/tautulli/5.1.0/CONFIG.md b/stable/tautulli/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/tautulli/5.1.0/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/5.1.0/Chart.lock b/stable/tautulli/5.1.0/Chart.lock new file mode 100644 index 00000000000..a36657799d2 --- /dev/null +++ b/stable/tautulli/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:28.408700648Z" diff --git a/stable/tautulli/5.1.0/Chart.yaml b/stable/tautulli/5.1.0/Chart.yaml new file mode 100644 index 00000000000..7e2a30ef5ec --- /dev/null +++ b/stable/tautulli/5.1.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: A Python based monitoring and tracking tool for Plex Media Server +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/tautulli +- https://github.com/k8s-at-home/charts/tree/master/charts/tautulli +- https://github.com/Tautulli/Tautulli +- https://hub.docker.com/r/tautulli/tautulli +type: application +upstream_version: 7.0.1 +version: 5.1.0 diff --git a/stable/tautulli/5.1.0/README.md b/stable/tautulli/5.1.0/README.md new file mode 100644 index 00000000000..6fcf22415ef --- /dev/null +++ b/stable/tautulli/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/tautulli/5.1.0/app-readme.md new file mode 100644 index 00000000000..4286929041b --- /dev/null +++ b/stable/tautulli/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +A Python based monitoring and tracking tool for Plex Media Server +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A Python based monitoring and tracking tool for Plex Media Server diff --git a/stable/tautulli/5.1.0/charts/common-5.1.1.tgz b/stable/tautulli/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/tautulli/5.1.0/ix_values.yaml b/stable/tautulli/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..cc4f3b00702 --- /dev/null +++ b/stable/tautulli/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/stable/tautulli/5.1.0/questions.yaml new file mode 100644 index 00000000000..8830902072a --- /dev/null +++ b/stable/tautulli/5.1.0/questions.yaml @@ -0,0 +1,395 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/tautulli/5.1.0/templates/common.yaml b/stable/tautulli/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/tautulli/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/tautulli/5.1.0/test_values.yaml b/stable/tautulli/5.1.0/test_values.yaml new file mode 100644 index 00000000000..e6708c206c0 --- /dev/null +++ b/stable/tautulli/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for Tautulli. + +image: + repository: ghcr.io/truecharts/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" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/tautulli/5.1.0/values.yaml b/stable/tautulli/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/traefik/4.0.3/Chart.lock b/stable/traefik/4.0.3/Chart.lock index 0f1ac94ec43..5bd8ba544c0 100644 --- a/stable/traefik/4.0.3/Chart.lock +++ b/stable/traefik/4.0.3/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://helm.traefik.io/traefik version: 9.19.1 digest: sha256:6837d576d0a80cb63dcd82a8dd3a2e7e5ea10f710b1ef1d5c29ce3af4eb3fbfe -generated: "2021-05-28T21:09:58.562284663Z" +generated: "2021-05-28T21:51:29.708091051Z" diff --git a/stable/transmission/5.1.0/CONFIG.md b/stable/transmission/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/transmission/5.1.0/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/5.1.0/Chart.lock b/stable/transmission/5.1.0/Chart.lock new file mode 100644 index 00000000000..2d6e4f415ce --- /dev/null +++ b/stable/transmission/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:31.833697382Z" diff --git a/stable/transmission/5.1.0/Chart.yaml b/stable/transmission/5.1.0/Chart.yaml new file mode 100644 index 00000000000..8bfce0afe98 --- /dev/null +++ b/stable/transmission/5.1.0/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: API Support for your favorite torrent trackers. +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/stable/transmission +- https://github.com/transmission/transmission +- https://hub.docker.com/r/linuxserver/transmission +type: application +version: 5.1.0 diff --git a/stable/transmission/5.1.0/README.md b/stable/transmission/5.1.0/README.md new file mode 100644 index 00000000000..2baf31e54cb --- /dev/null +++ b/stable/transmission/5.1.0/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/transmission/5.1.0/app-readme.md new file mode 100644 index 00000000000..7e8f54afb7e --- /dev/null +++ b/stable/transmission/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/transmission/5.1.0/charts/common-5.1.1.tgz b/stable/transmission/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/transmission/5.1.0/ix_values.yaml b/stable/transmission/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..b2df0adc6ed --- /dev/null +++ b/stable/transmission/5.1.0/ix_values.yaml @@ -0,0 +1,50 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/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/5.1.0/questions.yaml b/stable/transmission/5.1.0/questions.yaml new file mode 100644 index 00000000000..10196da8dc6 --- /dev/null +++ b/stable/transmission/5.1.0/questions.yaml @@ -0,0 +1,723 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: transmissionConfig + group: "Configuration" + label: "Transmission Settings" + schema: + type: dict + attrs: + - variable: alt-speed-down + label: "alt-speed-down" + schema: + type: int + default: 50 + - variable: alt-speed-enabled + label: "alt-speed-enabled" + schema: + type: boolean + default: false + - variable: alt-speed-time-begin + label: "alt-speed-time-begin" + schema: + type: int + default: 540 + - variable: alt-speed-time-day + label: "alt-speed-time-day" + schema: + type: int + default: 127 + - variable: alt-speed-time-enabled + label: "alt-speed-time-enabled" + schema: + type: boolean + default: false + - variable: alt-speed-time-end + label: "alt-speed-time-end" + schema: + type: int + default: 1020 + - variable: alt-speed-up + label: "alt-speed-up" + schema: + type: int + default: 50 + - variable: blocklist-enabled + label: "blocklist-enabled" + schema: + type: boolean + default: true + - variable: blocklist-url + label: "blocklist-url" + schema: + type: string + default: "http://john.bitsurge.net/public/biglist.p2p.gz" + - variable: download-dir + label: "download-dir" + schema: + type: string + default: "/downloads/complete" + - variable: download-queue-enabled + label: "download-queue-enabled" + schema: + type: boolean + default: true + - variable: download-queue-size + label: "download-queue-size" + schema: + type: int + default: 5 + - variable: encryption + label: "encryption" + schema: + type: int + default: 1 + - variable: idle-seeding-limit + label: "idle-seeding-limit" + schema: + type: int + default: 30 + - variable: idle-seeding-limit-enabled + label: "idle-seeding-limit-enabled" + schema: + type: boolean + default: false + - variable: incomplete-dir + label: "incomplete-dir" + schema: + type: string + default: "/downloads/incomplete" + - variable: incomplete-dir-enabled + label: "incomplete-dir-enabled" + schema: + type: boolean + default: true + - variable: peer-limit-global + label: "peer-limit-global" + schema: + type: int + default: 200 + - variable: peer-limit-per-torrent + label: "peer-limit-per-torrent" + schema: + type: int + default: 50 + - variable: queue-stalled-enabled + label: "queue-stalled-enabled" + schema: + type: boolean + default: true + - variable: queue-stalled-minutes + label: "queue-stalled-minutes" + schema: + type: int + default: 30 + - variable: ratio-limit + label: "ratio-limit" + schema: + type: int + default: 2 + - variable: ratio-limit-enabled + label: "ratio-limit-enabled" + schema: + type: boolean + default: false + - variable: scrape-paused-torrents-enabled + label: "scrape-paused-torrents-enabled" + schema: + type: boolean + default: true + - variable: script-torrent-done-enabled + label: "script-torrent-done-enabled" + schema: + type: boolean + default: false + - variable: script-torrent-done-filename + label: "script-torrent-done-filename" + schema: + type: string + default: "" + - variable: seed-queue-enabled + label: "seed-queue-enabled" + schema: + type: boolean + default: false + - variable: seed-queue-size + label: "seed-queue-size" + schema: + type: int + default: 10 + - variable: speed-limit-down + label: "speed-limit-down" + schema: + type: int + default: 100 + - variable: speed-limit-down-enabled + label: "speed-limit-down-enabled" + schema: + type: boolean + default: false + - variable: speed-limit-up + label: "speed-limit-up" + schema: + type: int + default: 100 + - variable: speed-limit-up-enabled + label: "speed-limit-up-enabled" + schema: + type: boolean + default: false + - variable: start-added-torrents + label: "start-added-torrents" + schema: + type: boolean + default: true + - variable: trash-original-torrent-files + label: "trash-original-torrent-files" + schema: + type: boolean + default: false + - variable: upload-slots-per-torrent + label: "upload-slots-per-torrent" + schema: + type: int + default: 14 + - variable: env + group: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/transmission/5.1.0/templates/_configmap.tpl b/stable/transmission/5.1.0/templates/_configmap.tpl new file mode 100644 index 00000000000..c12a54c92f1 --- /dev/null +++ b/stable/transmission/5.1.0/templates/_configmap.tpl @@ -0,0 +1,14 @@ +{{/* Define the configmap */}} +{{- define "transmission.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-config + labels: + {{- include "common.labels" . | nindent 4 }} +data: + settings.json: | + {{- $dict := merge .Values.transmissionConfig .Values.transmissionFixedConfig }} + {{- $dict | mustToPrettyJson | nindent 4 }} +{{- end -}} diff --git a/stable/transmission/5.1.0/templates/common.yaml b/stable/transmission/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..c43b236c179 --- /dev/null +++ b/stable/transmission/5.1.0/templates/common.yaml @@ -0,0 +1,35 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Append the configMap to the additionalVolumes */}} +{{- define "transmission.configmap.volume" -}} +name: transmission-settings +configMap: + name: {{ template "common.names.fullname" . }}-config +{{- end -}} + +{{- $volume := include "transmission.configmap.volume" . | fromYaml -}} +{{- if $volume -}} + {{- $additionalVolumes := append .Values.additionalVolumes $volume }} + {{- $_ := set .Values "additionalVolumes" (deepCopy $additionalVolumes) -}} +{{- end -}} + +{{/* Append the configMap volume to the additionalVolumeMounts */}} +{{- define "transmission.configmap.volumeMount" -}} +name: transmission-settings +mountPath: /config/settings.json +subPath: settings.json +{{- end -}} + +{{- $volumeMount := include "transmission.configmap.volumeMount" . | fromYaml -}} +{{- if $volumeMount -}} + {{- $additionalVolumeMounts := append .Values.additionalVolumeMounts $volumeMount }} + {{- $_ := set .Values "additionalVolumeMounts" (deepCopy $additionalVolumeMounts) -}} +{{- end -}} + + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render the configmap */}} +{{ include "transmission.configmap" . }} diff --git a/stable/transmission/5.1.0/test_values.yaml b/stable/transmission/5.1.0/test_values.yaml new file mode 100644 index 00000000000..58bb783f4dc --- /dev/null +++ b/stable/transmission/5.1.0/test_values.yaml @@ -0,0 +1,82 @@ +# Default values for Transmission. + +image: + repository: ghcr.io/truecharts/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 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + + +## TrueCharts Values + +transmissionConfig: + 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 + +transmissionFixedConfig: + 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 diff --git a/stable/transmission/5.1.0/values.yaml b/stable/transmission/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/truecommand/5.1.0/CONFIG.md b/stable/truecommand/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/truecommand/5.1.0/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/5.1.0/Chart.lock b/stable/truecommand/5.1.0/Chart.lock new file mode 100644 index 00000000000..d004f22982f --- /dev/null +++ b/stable/truecommand/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:32.613124121Z" diff --git a/stable/truecommand/5.1.0/Chart.yaml b/stable/truecommand/5.1.0/Chart.yaml new file mode 100644 index 00000000000..b4a3d1d23ed --- /dev/null +++ b/stable/truecommand/5.1.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: nightly +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Aggregated management of TrueNAS devices +home: https://github.com/truecharts/apps/tree/master/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://github.com/truecharts/apps/tree/master/incubator/truecommand +- https://hub.docker.com/r/ixsystems/truecommand +type: application +version: 5.1.0 diff --git a/stable/truecommand/5.1.0/README.md b/stable/truecommand/5.1.0/README.md new file mode 100644 index 00000000000..8caf3b92df3 --- /dev/null +++ b/stable/truecommand/5.1.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/truecommand/5.1.0/app-readme.md new file mode 100644 index 00000000000..8e1468487fc --- /dev/null +++ b/stable/truecommand/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Aggregated management of TrueNAS devices +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Aggregated management of TrueNAS devices diff --git a/stable/truecommand/5.1.0/charts/common-5.1.1.tgz b/stable/truecommand/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/truecommand/5.1.0/ix_values.yaml b/stable/truecommand/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..d2b8ab2a54e --- /dev/null +++ b/stable/truecommand/5.1.0/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: nightly + +## +# Most other defaults 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/5.1.0/questions.yaml b/stable/truecommand/5.1.0/questions.yaml new file mode 100644 index 00000000000..e06adb341bb --- /dev/null +++ b/stable/truecommand/5.1.0/questions.yaml @@ -0,0 +1,356 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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 + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true diff --git a/stable/truecommand/5.1.0/templates/common.yaml b/stable/truecommand/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/truecommand/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/truecommand/5.1.0/test_values.yaml b/stable/truecommand/5.1.0/test_values.yaml new file mode 100644 index 00000000000..ce50c30fda0 --- /dev/null +++ b/stable/truecommand/5.1.0/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for Jackett. + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: nightly + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + data: + enabled: true + mountPath: "/data" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/stable/truecommand/5.1.0/values.yaml b/stable/truecommand/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/vaultwarden/2.1.0/CONFIG.md b/stable/vaultwarden/2.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/vaultwarden/2.1.0/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/2.1.0/Chart.lock b/stable/vaultwarden/2.1.0/Chart.lock new file mode 100644 index 00000000000..acf6c796f1e --- /dev/null +++ b/stable/vaultwarden/2.1.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.7 +digest: sha256:e2ddf1eb47883e84f1eb77398e69b897fed2bcf0e1d0b4cfb7706c526d127af7 +generated: "2021-05-28T21:51:36.261423759Z" diff --git a/stable/vaultwarden/2.1.0/Chart.yaml b/stable/vaultwarden/2.1.0/Chart.yaml new file mode 100644 index 00000000000..efa7f636e6e --- /dev/null +++ b/stable/vaultwarden/2.1.0/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.7 +deprecated: false +description: Unofficial Bitwarden compatible server written in Rust +home: https://github.com/truecharts/apps/tree/master/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/truecharts/apps/tree/master/incubator/bitwarden +- https://github.com/k8s-at-home/charts/tree/master/charts/stable/bitwardenrs +- https://github.com/dani-garcia/vaultwarden +type: application +version: 2.1.0 diff --git a/stable/vaultwarden/2.1.0/README.md b/stable/vaultwarden/2.1.0/README.md new file mode 100644 index 00000000000..f3497af5baf --- /dev/null +++ b/stable/vaultwarden/2.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.2.5](https://img.shields.io/badge/Version-1.2.5-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 Vaultwarden 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.2 | +| https://truecharts.org/ | common | 3.5.5 | + +## 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/2.1.0/app-readme.md b/stable/vaultwarden/2.1.0/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/2.1.0/app-readme.md @@ -0,0 +1,3 @@ +Unofficial Bitwarden compatible server written in Rust +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Unofficial Bitwarden compatible server written in Rust diff --git a/stable/vaultwarden/2.1.0/charts/common-5.1.1.tgz b/stable/vaultwarden/2.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/2.1.0/charts/postgresql-10.4.7.tgz b/stable/vaultwarden/2.1.0/charts/postgresql-10.4.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0b4f01d9da3ebb45062df41ba3db847ac6a86a81 GIT binary patch literal 48732 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 Y+uGK)_K(`H00030|3e1=qyV-B09e9RcK`qY literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/2.1.0/ix_values.yaml b/stable/vaultwarden/2.1.0/ix_values.yaml new file mode 100644 index 00000000000..5054d940525 --- /dev/null +++ b/stable/vaultwarden/2.1.0/ix_values.yaml @@ -0,0 +1,54 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: bitwardenrs/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: bitwardenconfig + - secretRef: + name: bitwardensecret + + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: false + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + retries: 30 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: homeassistant + postgresqlDatabase: homeassistant + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/vaultwarden/2.1.0/questions.yaml b/stable/vaultwarden/2.1.0/questions.yaml new file mode 100644 index 00000000000..7a8a648f0d3 --- /dev/null +++ b/stable/vaultwarden/2.1.0/questions.yaml @@ -0,0 +1,925 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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" + # Configure Bitwarden: + - variable: bitwardenrs + label: "" + group: "Configuration" + schema: + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: admin + label: "Admin Portal" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: ssl + label: "Enable SSL connection" + schema: + type: boolean + default: true + - variable: port + label: "SMTP port" + description: "Usually: 25 without SSL, 587 with SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: port + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebsockets + label: "Enable Websocket Connections" + description: "Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications" + schema: + type: boolean + default: true + hidden: true + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + default: "" + - variable: env + group: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + hidden: true + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36000 + required: true + - variable: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3012 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36001 + required: true + ## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: nameOverride + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/vaultwarden/2.1.0/templates/_configmap.tpl b/stable/vaultwarden/2.1.0/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/2.1.0/templates/_configmap.tpl @@ -0,0 +1,116 @@ +{{/* Define the configmap */}} +{{- define "vaultwarden.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: vaultwardenconfig +data: + ROCKET_PORT: "8080" + SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} + {{- if .Values.vaultwarden.signupDomains }} + SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} + {{- end }} + {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} + SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} + {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} + REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} + {{- if .Values.vaultwarden.emailAttempts }} + EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} + {{- end }} + {{- if .Values.vaultwarden.emailTokenExpiration }} + EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} + {{- end }} + INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} + {{- if .Values.vaultwarden.defaultInviteName }} + INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} + {{- end }} + SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} + WEBSOCKET_ENABLED: {{ .Values.vaultwarden.enableWebsockets | quote }} + WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} + ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} + {{- if .Values.vaultwarden.attachmentLimitOrg }} + ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} + {{- end }} + {{- if .Values.vaultwarden.attachmentLimitUser }} + USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} + {{- end }} + {{- if .Values.vaultwarden.hibpApiKey }} + HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} + {{- end }} + {{- include "vaultwarden.dbTypeValid" . }} + {{- if .Values.database.retries }} + DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} + {{- end }} + {{- if .Values.database.maxConnections }} + DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.smtp.enabled true }} + SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} + SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} + {{- if .Values.vaultwarden.smtp.fromName }} + SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.ssl }} + SMTP_SSL: {{ .Values.vaultwarden.smtp.ssl | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.port }} + SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.authMechanism }} + SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.heloName }} + HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.timeout }} + SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidHostname }} + SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidCertificate }} + SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.log.file }} + LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} + {{- end }} + {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} + EXTENDED_LOGGING: "true" + {{- end }} + {{- if .Values.vaultwarden.log.level }} + {{- include "vaultwarden.logLevelValid" . }} + LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} + {{- end }} + {{- if .Values.vaultwarden.log.timeFormat }} + LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.disableDownload }} + DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} + {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} + ICON_CACHE_TTL: "0" + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.icons.cache }} + ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.cacheFailed }} + ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.admin.enabled true }} + {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} + DISABLE_ADMIN_TOKEN: "true" + {{- end }} + {{- end }} + {{- if eq .Values.vaultwarden.yubico.enabled true }} + {{- if .Values.vaultwarden.yubico.server }} + YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} + {{- end }} + {{- end }} + {{- if eq .Values.database.type "sqlite" }} + ENABLE_DB_WAL: {{ .Values.database.wal | quote }} + {{- else }} + ENABLE_DB_WAL: "false" + {{- end }} +{{- end -}} diff --git a/stable/vaultwarden/2.1.0/templates/_secrets.tpl b/stable/vaultwarden/2.1.0/templates/_secrets.tpl new file mode 100644 index 00000000000..ac57e81471d --- /dev/null +++ b/stable/vaultwarden/2.1.0/templates/_secrets.tpl @@ -0,0 +1,59 @@ +{{/* Define the secrets */}} +{{- define "vaultwarden.secrets" -}} + +{{- $adminToken := "" }} +{{- if eq .Values.vaultwarden.admin.enabled true }} +{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | b64enc | quote }} +{{- end -}} + +{{- $smtpUser := "" }} +{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} +{{- $smtpUser = .Values.vaultwarden.smtp.user | b64enc | quote }} +{{- end -}} + +{{- $yubicoClientId := "" }} +{{- if eq .Values.vaultwarden.yubico.enabled true }} +{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | b64enc | quote }} +{{- end -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + name: vaultwardensecret +data: + {{- if ne $adminToken "" }} + ADMIN_TOKEN: {{ $adminToken }} + {{- end }} + {{- if ne $smtpUser "" }} + SMTP_USERNAME: {{ $smtpUser }} + SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | b64enc | quote }} + {{- end }} + {{- if ne $yubicoClientId "" }} + YUBICO_CLIENT_ID: {{ $yubicoClientId }} + YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | b64enc | quote }} + {{- end }} + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} +type: Opaque +{{- end -}} diff --git a/stable/vaultwarden/2.1.0/templates/_validate.tpl b/stable/vaultwarden/2.1.0/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/2.1.0/templates/_validate.tpl @@ -0,0 +1,17 @@ +{{/* +Ensure valid DB type is select, defaults to SQLite +*/}} +{{- define "vaultwarden.dbTypeValid" -}} +{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} +{{- required "Invalid database type" nil }} +{{- end -}} +{{- end -}} + +{{/* +Ensure log type is valid +*/}} +{{- define "vaultwarden.logLevelValid" -}} +{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} +{{- required "Invalid log level" nil }} +{{- end }} +{{- end }} diff --git a/stable/vaultwarden/2.1.0/templates/common.yaml b/stable/vaultwarden/2.1.0/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/2.1.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for vaultwarden */}} +{{- include "vaultwarden.configmap" . }} + +{{/* Render secrets for vaultwarden */}} +{{- include "vaultwarden.secrets" . }} diff --git a/stable/vaultwarden/2.1.0/test_values.yaml b/stable/vaultwarden/2.1.0/test_values.yaml new file mode 100644 index 00000000000..b20f2d50840 --- /dev/null +++ b/stable/vaultwarden/2.1.0/test_values.yaml @@ -0,0 +1,183 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + ws: + ports: + ws: + enabled: true + port: 3012 + +env: {} + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 + +# Set Bitwarden_rs application variables +vaultwarden: + # Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # Verify e-mail before login is enabled. SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications + # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. + enableWebsockets: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # ssl: true + ## SMTP port. Defaults to 25 without SSL, 587 with SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 + +persistence: + data: + enabled: true + mountPath: "/data" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + db: + nameOverride: "db" + enabled: true + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + dbbackup: + enabled: true + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/stable/vaultwarden/2.1.0/values.yaml b/stable/vaultwarden/2.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/5.1.0/CONFIG.md b/stable/zwavejs2mqtt/5.1.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/zwavejs2mqtt/5.1.0/Chart.lock b/stable/zwavejs2mqtt/5.1.0/Chart.lock new file mode 100644 index 00000000000..dada1e13188 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +digest: sha256:a6bbaa259896eb374ead464ba706e5f1fc1cc24daf530671efcb2dd71c1b01c5 +generated: "2021-05-28T21:51:40.243024197Z" diff --git a/stable/zwavejs2mqtt/5.1.0/Chart.yaml b/stable/zwavejs2mqtt/5.1.0/Chart.yaml new file mode 100644 index 00000000000..676de3c4884 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 5.1.1 +deprecated: false +description: Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS + and Vue +home: https://github.com/truecharts/apps/tree/master/stable/zwavejs2mqtt +icon: https://raw.githubusercontent.com/zwave-js/zwavejs2mqtt/master/static/logo.png +keywords: +- zwavejs2mqtt +- zwave-js +- z-wave +- zwave +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 35702532+tprelog@users.noreply.github.com + name: tprelog + url: truecharts.org +name: zwavejs2mqtt +sources: +- https://github.com/truecharts/apps/tree/master/stable/zwavejs2mqtt +- https://github.com/k8s-at-home/charts/tree/master/charts/zwavejs2mqtt +- https://github.com/zwave-js/zwavejs2mqtt +- https://hub.docker.com/r/zwavejs/zwavejs2mqtt +type: application +upstream_version: 1.1.0 +version: 5.1.0 diff --git a/stable/zwavejs2mqtt/5.1.0/README.md b/stable/zwavejs2mqtt/5.1.0/README.md new file mode 100644 index 00000000000..a3862ca4c46 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-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 | 3.5.5 | + +## 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/5.1.0/app-readme.md b/stable/zwavejs2mqtt/5.1.0/app-readme.md new file mode 100644 index 00000000000..4bb94a1a5a3 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/app-readme.md @@ -0,0 +1,3 @@ +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS diff --git a/stable/zwavejs2mqtt/5.1.0/charts/common-5.1.1.tgz b/stable/zwavejs2mqtt/5.1.0/charts/common-5.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b16b8c08b44fa786d7aa5bf9480b05984c595bb5 GIT binary patch literal 23043 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 Wte?;F{C@!e0RR7>f60*megXhU*JmRD literal 0 HcmV?d00001 diff --git a/stable/zwavejs2mqtt/5.1.0/ix_values.yaml b/stable/zwavejs2mqtt/5.1.0/ix_values.yaml new file mode 100644 index 00000000000..1fad889c04f --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/ix_values.yaml @@ -0,0 +1,66 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content 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.4.0 + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + 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/5.1.0/questions.yaml b/stable/zwavejs2mqtt/5.1.0/questions.yaml new file mode 100644 index 00000000000..faf53992bce --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/questions.yaml @@ -0,0 +1,536 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure Network and Services for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Ingress Configuration" + description: "Ingress Configuration" + - name: "Security" + description: "Configure security context" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + 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: "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: "Configuration" + schema: + type: list + default: [] + 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 Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: service + group: "Networking" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: 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" + 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: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/src/app/store" + hidden: true + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: hostPathMounts + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + hidden: true + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + description: "Path on the host to mount inside the container, ignored when emptyDir is enabled" + schema: + type: hostpath + required: true + - variable: deviceMounts + label: "Mount Devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: emptyDir + label: "EmptyDir Volume" + schema: + type: dict + attrs: + - variable: enabled + label: "Use emptyDir volume" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: medium + label: "EmptyDir Medium" + schema: + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: devicePath + label: "Device Path" + description: "Path to the device to mount inside the container" + schema: + type: path + required: true + default: "/dev/ttyACM0" + editable: true + # Enable privileged + - variable: securityContext + group: "Security" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Security" + 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" diff --git a/stable/zwavejs2mqtt/5.1.0/templates/common.yaml b/stable/zwavejs2mqtt/5.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/zwavejs2mqtt/5.1.0/test_values.yaml b/stable/zwavejs2mqtt/5.1.0/test_values.yaml new file mode 100644 index 00000000000..0191ffe5da2 --- /dev/null +++ b/stable/zwavejs2mqtt/5.1.0/test_values.yaml @@ -0,0 +1,117 @@ +# 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.4.0 + +strategy: + type: Recreate + +# 5=tty 20=dialout 24=cdrom +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + supplementalGroups: [5, 20, 24] + +# # See more environment variables in the zwavejs2mqtt documentation +# https://zwave-js.github.io/zwavejs2mqtt/#/guide/env-vars +env: {} + # OZW_NETWORK_KEY: + +probes: + liveness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + readiness: + enabled: true + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + startup: + enabled: false + # custom: true + # spec: + # failureThreshold: 5 + # httpGet: + # path: /health + # port: http + # httpHeaders: + # - name: Accept + # value: text/plain + # initialDelaySeconds: 30 + # periodSeconds: 10 + # timeoutSeconds: 10 + +service: + main: + ports: + main: + port: 8091 + ws: + enabled: true + type: ClusterIP + ports: + ws: + enabled: true + port: 3000 + protocol: TCP + +# Privileged may be required if USB controller is accessed directly through the host machine +# securityContext: +# privileged: true + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +# Path to your zwave device in the container +additionalVolumeMounts: [] +# - name: usb +# mountPath: /dev/serial/by-id/usb-0658_0200-if00 + +# Path to your zwave device on the host +additionalVolumes: [] +# - name: usb +# hostPath: +# path: /dev/serial/by-id/usb-0658_0200-if00 + +# affinity: +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - zwave-controller diff --git a/stable/zwavejs2mqtt/5.1.0/values.yaml b/stable/zwavejs2mqtt/5.1.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d