From bfc305913cdb6de286c27d1e386967e9370ba345 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Thu, 1 Jul 2021 20:26:22 +0200 Subject: [PATCH] KAH Port project (#635) * add tooling to automate kah->truecharts porting somewhat * small tweak for tooling * another small tooling fix * some more tweaking to the tooling * initial temporary output * process and output fixes * More chart.yaml fixes * pushing more fixes * small fixes * some little fixes * another fix catched * regenerate docs * some more cleaning/tweaking * remove more prometheus related Apps for now * processing questions.yaml up to hyperion-ng * questions.yaml till owncloud-ocis * Finish questions.yaml setup and polish * fix some deconz indent issues * no message * fix healtchecks questions.yaml * another fix * ser2sock fix * move apps to normal trains --- .vs/VSWorkspaceState.json | 6 + .vs/apps/v16/.suo | Bin 0 -> 10752 bytes .vs/slnx.sqlite | Bin 0 -> 233472 bytes charts/deprecated/nzbhydra/CONFIG.md | 1 + charts/deprecated/nzbhydra/README.md | 5 +- charts/develop/prototype-gui/CONFIG.md | 1 + charts/develop/prototype-gui/Chart.yaml | 2 +- charts/develop/prototype-gui/README.md | 7 +- charts/incubator/airsonic/CONFIG.md | 1 + charts/incubator/airsonic/README.md | 5 +- charts/incubator/appdaemon/CONFIG.md | 1 + charts/incubator/appdaemon/README.md | 5 +- charts/incubator/bazarr/CONFIG.md | 1 + charts/incubator/bazarr/README.md | 5 +- charts/incubator/booksonic-air/.helmignore | 26 + charts/incubator/booksonic-air/CONFIG.md | 9 + charts/incubator/booksonic-air/Chart.yaml | 22 + charts/incubator/booksonic-air/README.md | 55 + .../incubator/booksonic-air/SCALE/item.yaml | 3 + .../booksonic-air/SCALE/ix_values.yaml | 15 + .../booksonic-air/SCALE/questions.yaml | 640 ++++++++++++ .../booksonic-air/templates/common.yaml | 1 + charts/incubator/booksonic-air/values.yaml | 47 + charts/incubator/calibre-web/CONFIG.md | 1 + charts/incubator/calibre-web/README.md | 5 +- charts/incubator/calibre/.helmignore | 26 + charts/incubator/calibre/CONFIG.md | 9 + charts/incubator/calibre/Chart.yaml | 21 + charts/incubator/calibre/README.md | 55 + charts/incubator/calibre/SCALE/item.yaml | 3 + charts/incubator/calibre/SCALE/ix_values.yaml | 15 + charts/incubator/calibre/SCALE/questions.yaml | 757 ++++++++++++++ .../incubator/calibre/templates/common.yaml | 3 + charts/incubator/calibre/values.yaml | 58 ++ charts/incubator/deconz/.helmignore | 26 + charts/incubator/deconz/CONFIG.md | 9 + charts/incubator/deconz/Chart.yaml | 24 + charts/incubator/deconz/README.md | 55 + charts/incubator/deconz/SCALE/item.yaml | 3 + charts/incubator/deconz/SCALE/ix_values.yaml | 15 + charts/incubator/deconz/SCALE/questions.yaml | 861 ++++++++++++++++ charts/incubator/deconz/templates/common.yaml | 1 + charts/incubator/deconz/values.yaml | 72 ++ charts/incubator/deluge/CONFIG.md | 1 + charts/incubator/deluge/README.md | 5 +- charts/incubator/dizquetv/.helmignore | 26 + charts/incubator/dizquetv/CONFIG.md | 9 + charts/incubator/dizquetv/Chart.yaml | 22 + charts/incubator/dizquetv/README.md | 55 + charts/incubator/dizquetv/SCALE/item.yaml | 3 + .../incubator/dizquetv/SCALE/ix_values.yaml | 15 + .../incubator/dizquetv/SCALE/questions.yaml | 640 ++++++++++++ .../incubator/dizquetv/templates/common.yaml | 1 + charts/incubator/dizquetv/values.yaml | 40 + charts/incubator/duplicati/CONFIG.md | 9 + charts/incubator/duplicati/Chart.yaml | 21 + charts/incubator/duplicati/README.md | 55 + charts/incubator/duplicati/SCALE/item.yaml | 3 + .../incubator/duplicati/SCALE/ix_values.yaml | 15 + .../incubator/duplicati/SCALE/questions.yaml | 640 ++++++++++++ .../incubator/duplicati/templates/common.yaml | 1 + charts/incubator/duplicati/values.yaml | 43 + charts/incubator/fireflyiii/CONFIG.md | 1 + charts/incubator/fireflyiii/README.md | 7 +- charts/incubator/flaresolverr/.helmignore | 26 + charts/incubator/flaresolverr/CONFIG.md | 9 + charts/incubator/flaresolverr/Chart.yaml | 22 + charts/incubator/flaresolverr/README.md | 55 + charts/incubator/flaresolverr/SCALE/item.yaml | 3 + .../flaresolverr/SCALE/ix_values.yaml | 15 + .../flaresolverr/SCALE/questions.yaml | 667 ++++++++++++ .../flaresolverr/templates/common.yaml | 1 + charts/incubator/flaresolverr/values.yaml | 28 + charts/incubator/flood/.helmignore | 26 + charts/incubator/flood/CONFIG.md | 9 + charts/incubator/flood/Chart.yaml | 24 + charts/incubator/flood/README.md | 55 + charts/incubator/flood/SCALE/item.yaml | 3 + charts/incubator/flood/SCALE/ix_values.yaml | 15 + charts/incubator/flood/SCALE/questions.yaml | 674 ++++++++++++ charts/incubator/flood/ci/ct-values.yaml | 5 + charts/incubator/flood/templates/common.yaml | 1 + charts/incubator/flood/values.yaml | 36 + charts/incubator/focalboard/.helmignore | 26 + charts/incubator/focalboard/CONFIG.md | 9 + charts/incubator/focalboard/Chart.yaml | 24 + charts/incubator/focalboard/README.md | 56 + charts/incubator/focalboard/SCALE/item.yaml | 3 + .../incubator/focalboard/SCALE/ix_values.yaml | 15 + .../incubator/focalboard/SCALE/questions.yaml | 667 ++++++++++++ .../focalboard/templates/common.yaml | 1 + charts/incubator/focalboard/values.yaml | 36 + charts/incubator/freshrss/CONFIG.md | 1 + charts/incubator/freshrss/README.md | 5 +- charts/incubator/gaps/CONFIG.md | 1 + charts/incubator/gaps/README.md | 5 +- charts/incubator/gonic/.helmignore | 26 + charts/incubator/gonic/CONFIG.md | 9 + charts/incubator/gonic/Chart.yaml | 22 + charts/incubator/gonic/README.md | 55 + charts/incubator/gonic/SCALE/item.yaml | 3 + charts/incubator/gonic/SCALE/ix_values.yaml | 15 + charts/incubator/gonic/SCALE/questions.yaml | 667 ++++++++++++ charts/incubator/gonic/ci/ct-values.yaml | 21 + charts/incubator/gonic/templates/common.yaml | 1 + charts/incubator/gonic/values.yaml | 44 + charts/incubator/grocy/CONFIG.md | 1 + charts/incubator/grocy/README.md | 5 +- charts/incubator/haste-server/CONFIG.md | 1 + charts/incubator/haste-server/README.md | 5 +- charts/incubator/healthchecks/.helmignore | 26 + charts/incubator/healthchecks/CONFIG.md | 9 + charts/incubator/healthchecks/Chart.yaml | 23 + charts/incubator/healthchecks/README.md | 55 + charts/incubator/healthchecks/SCALE/item.yaml | 3 + .../healthchecks/SCALE/ix_values.yaml | 15 + .../healthchecks/SCALE/questions.yaml | 701 +++++++++++++ .../healthchecks/templates/common.yaml | 1 + charts/incubator/healthchecks/values.yaml | 41 + charts/incubator/heimdall/CONFIG.md | 1 + charts/incubator/heimdall/README.md | 7 +- charts/incubator/hyperion-ng/.helmignore | 26 + charts/incubator/hyperion-ng/CONFIG.md | 9 + charts/incubator/hyperion-ng/Chart.yaml | 22 + charts/incubator/hyperion-ng/README.md | 55 + charts/incubator/hyperion-ng/SCALE/item.yaml | 3 + .../hyperion-ng/SCALE/ix_values.yaml | 15 + .../hyperion-ng/SCALE/questions.yaml | 973 ++++++++++++++++++ .../hyperion-ng/templates/common.yaml | 1 + charts/incubator/hyperion-ng/values.yaml | 53 + charts/incubator/komga/.helmignore | 26 + charts/incubator/komga/CONFIG.md | 9 + charts/incubator/komga/Chart.yaml | 24 + charts/incubator/komga/README.md | 55 + charts/incubator/komga/SCALE/item.yaml | 3 + charts/incubator/komga/SCALE/ix_values.yaml | 15 + charts/incubator/komga/SCALE/questions.yaml | 777 ++++++++++++++ charts/incubator/komga/templates/common.yaml | 1 + charts/incubator/komga/values.yaml | 37 + charts/incubator/lazylibrarian/CONFIG.md | 1 + charts/incubator/lazylibrarian/README.md | 5 +- charts/incubator/librespeed/.helmignore | 26 + charts/incubator/librespeed/CONFIG.md | 9 + charts/incubator/librespeed/Chart.yaml | 23 + charts/incubator/librespeed/README.md | 56 + charts/incubator/librespeed/SCALE/item.yaml | 3 + .../incubator/librespeed/SCALE/ix_values.yaml | 15 + .../incubator/librespeed/SCALE/questions.yaml | 679 ++++++++++++ charts/incubator/librespeed/ci/ct-values.yaml | 2 + .../librespeed/templates/common.yaml | 1 + charts/incubator/librespeed/values.yaml | 46 + charts/incubator/lychee/CONFIG.md | 1 + charts/incubator/lychee/README.md | 5 +- charts/incubator/mealie/CONFIG.md | 1 + charts/incubator/mealie/README.md | 5 +- charts/incubator/mosquitto/CONFIG.md | 1 + charts/incubator/mosquitto/README.md | 5 +- charts/incubator/mylar/.helmignore | 26 + charts/incubator/mylar/CONFIG.md | 9 + charts/incubator/mylar/Chart.yaml | 21 + charts/incubator/mylar/README.md | 56 + charts/incubator/mylar/SCALE/item.yaml | 3 + charts/incubator/mylar/SCALE/ix_values.yaml | 15 + charts/incubator/mylar/SCALE/questions.yaml | 679 ++++++++++++ charts/incubator/mylar/templates/common.yaml | 1 + charts/incubator/mylar/values.yaml | 45 + charts/incubator/navidrome/CONFIG.md | 1 + charts/incubator/navidrome/README.md | 5 +- charts/incubator/node-red/CONFIG.md | 1 + charts/incubator/node-red/README.md | 5 +- charts/incubator/nullserv/.helmignore | 26 + charts/incubator/nullserv/CONFIG.md | 9 + charts/incubator/nullserv/Chart.yaml | 20 + charts/incubator/nullserv/README.md | 54 + charts/incubator/nullserv/SCALE/item.yaml | 3 + .../incubator/nullserv/SCALE/ix_values.yaml | 26 + .../incubator/nullserv/SCALE/questions.yaml | 771 ++++++++++++++ .../incubator/nullserv/templates/common.yaml | 1 + charts/incubator/nullserv/values.yaml | 49 + charts/incubator/nzbget/CONFIG.md | 1 + charts/incubator/nzbget/README.md | 5 +- charts/incubator/octoprint/.helmignore | 26 + charts/incubator/octoprint/CONFIG.md | 9 + charts/incubator/octoprint/Chart.yaml | 23 + charts/incubator/octoprint/README.md | 55 + charts/incubator/octoprint/SCALE/item.yaml | 3 + .../incubator/octoprint/SCALE/ix_values.yaml | 15 + .../incubator/octoprint/SCALE/questions.yaml | 725 +++++++++++++ .../incubator/octoprint/templates/common.yaml | 1 + charts/incubator/octoprint/values.yaml | 53 + charts/incubator/omada-controller/.helmignore | 26 + charts/incubator/omada-controller/CONFIG.md | 9 + charts/incubator/omada-controller/Chart.yaml | 21 + charts/incubator/omada-controller/README.md | 55 + .../omada-controller/SCALE/item.yaml | 3 + .../omada-controller/SCALE/ix_values.yaml | 15 + .../omada-controller/SCALE/questions.yaml | 667 ++++++++++++ .../omada-controller/templates/common.yaml | 1 + charts/incubator/omada-controller/values.yaml | 35 + charts/incubator/organizr/CONFIG.md | 1 + charts/incubator/organizr/README.md | 5 +- charts/incubator/overseerr/.helmignore | 26 + charts/incubator/overseerr/CONFIG.md | 9 + charts/incubator/overseerr/Chart.yaml | 24 + charts/incubator/overseerr/README.md | 55 + charts/incubator/overseerr/SCALE/item.yaml | 3 + .../incubator/overseerr/SCALE/ix_values.yaml | 15 + .../incubator/overseerr/SCALE/questions.yaml | 673 ++++++++++++ .../incubator/overseerr/templates/common.yaml | 1 + charts/incubator/overseerr/values.yaml | 38 + charts/incubator/owncast/.helmignore | 26 + charts/incubator/owncast/CONFIG.md | 9 + charts/incubator/owncast/Chart.yaml | 24 + charts/incubator/owncast/README.md | 55 + charts/incubator/owncast/SCALE/item.yaml | 3 + charts/incubator/owncast/SCALE/ix_values.yaml | 15 + charts/incubator/owncast/SCALE/questions.yaml | 765 ++++++++++++++ .../incubator/owncast/templates/common.yaml | 1 + charts/incubator/owncast/values.yaml | 41 + charts/incubator/owncloud-ocis/.helmignore | 26 + charts/incubator/owncloud-ocis/CONFIG.md | 9 + charts/incubator/owncloud-ocis/Chart.yaml | 28 + charts/incubator/owncloud-ocis/README.md | 55 + .../incubator/owncloud-ocis/SCALE/item.yaml | 3 + .../owncloud-ocis/SCALE/ix_values.yaml | 15 + .../owncloud-ocis/SCALE/questions.yaml | 667 ++++++++++++ .../owncloud-ocis/templates/common.yaml | 1 + charts/incubator/owncloud-ocis/values.yaml | 39 + charts/incubator/photoprism/.helmignore | 26 + charts/incubator/photoprism/CONFIG.md | 9 + charts/incubator/photoprism/Chart.yaml | 24 + charts/incubator/photoprism/README.md | 55 + charts/incubator/photoprism/SCALE/item.yaml | 3 + .../incubator/photoprism/SCALE/ix_values.yaml | 15 + .../incubator/photoprism/SCALE/questions.yaml | 704 +++++++++++++ .../photoprism/templates/common.yaml | 1 + charts/incubator/photoprism/values.yaml | 54 + charts/incubator/piaware/.helmignore | 26 + charts/incubator/piaware/CONFIG.md | 9 + charts/incubator/piaware/Chart.yaml | 22 + charts/incubator/piaware/README.md | 54 + charts/incubator/piaware/SCALE/item.yaml | 3 + charts/incubator/piaware/SCALE/ix_values.yaml | 15 + charts/incubator/piaware/SCALE/questions.yaml | 707 +++++++++++++ charts/incubator/piaware/ci/ct-values.yaml | 3 + .../incubator/piaware/templates/common.yaml | 1 + charts/incubator/piaware/values.yaml | 55 + charts/incubator/podgrab/CONFIG.md | 1 + charts/incubator/podgrab/README.md | 5 +- .../incubator/pretend-youre-xyzzy/.helmignore | 26 + .../incubator/pretend-youre-xyzzy/CONFIG.md | 9 + .../incubator/pretend-youre-xyzzy/Chart.yaml | 24 + .../incubator/pretend-youre-xyzzy/README.md | 55 + .../pretend-youre-xyzzy/SCALE/item.yaml | 3 + .../pretend-youre-xyzzy/SCALE/ix_values.yaml | 15 + .../pretend-youre-xyzzy/SCALE/questions.yaml | 551 ++++++++++ .../pretend-youre-xyzzy/templates/common.yaml | 1 + .../incubator/pretend-youre-xyzzy/values.yaml | 22 + .../incubator/protonmail-bridge/.helmignore | 26 + charts/incubator/protonmail-bridge/CONFIG.md | 9 + charts/incubator/protonmail-bridge/Chart.yaml | 22 + charts/incubator/protonmail-bridge/README.md | 55 + .../protonmail-bridge/SCALE/item.yaml | 3 + .../protonmail-bridge/SCALE/ix_values.yaml | 21 + .../protonmail-bridge/SCALE/questions.yaml | 680 ++++++++++++ .../protonmail-bridge/templates/common.yaml | 1 + .../incubator/protonmail-bridge/values.yaml | 40 + charts/incubator/prowlarr/CONFIG.md | 1 + charts/incubator/prowlarr/README.md | 5 +- charts/incubator/pyload/.helmignore | 26 + charts/incubator/pyload/CONFIG.md | 9 + charts/incubator/pyload/Chart.yaml | 22 + charts/incubator/pyload/README.md | 55 + charts/incubator/pyload/SCALE/item.yaml | 3 + charts/incubator/pyload/SCALE/ix_values.yaml | 15 + charts/incubator/pyload/SCALE/questions.yaml | 679 ++++++++++++ charts/incubator/pyload/templates/common.yaml | 1 + charts/incubator/pyload/values.yaml | 41 + charts/incubator/qbittorrent/CONFIG.md | 1 + charts/incubator/qbittorrent/README.md | 7 +- charts/incubator/readarr/CONFIG.md | 1 + charts/incubator/readarr/README.md | 5 +- charts/incubator/reg/CONFIG.md | 1 + charts/incubator/reg/README.md | 5 +- charts/incubator/sabnzbd/CONFIG.md | 1 + charts/incubator/sabnzbd/README.md | 5 +- charts/incubator/ser2sock/.helmignore | 26 + charts/incubator/ser2sock/CONFIG.md | 9 + charts/incubator/ser2sock/Chart.yaml | 21 + charts/incubator/ser2sock/README.md | 55 + charts/incubator/ser2sock/SCALE/item.yaml | 3 + .../incubator/ser2sock/SCALE/ix_values.yaml | 15 + .../incubator/ser2sock/SCALE/questions.yaml | 728 +++++++++++++ .../incubator/ser2sock/templates/common.yaml | 1 + charts/incubator/ser2sock/values.yaml | 63 ++ charts/incubator/stash/.helmignore | 26 + charts/incubator/stash/CONFIG.md | 9 + charts/incubator/stash/Chart.yaml | 21 + charts/incubator/stash/README.md | 55 + charts/incubator/stash/SCALE/item.yaml | 3 + charts/incubator/stash/SCALE/ix_values.yaml | 15 + charts/incubator/stash/SCALE/questions.yaml | 672 ++++++++++++ charts/incubator/stash/ci/ct-values.yaml | 15 + charts/incubator/stash/templates/common.yaml | 1 + charts/incubator/stash/values.yaml | 44 + charts/incubator/thelounge/CONFIG.md | 1 + charts/incubator/thelounge/README.md | 5 +- charts/incubator/tvheadend/CONFIG.md | 1 + charts/incubator/tvheadend/README.md | 5 +- charts/incubator/unifi/CONFIG.md | 1 + charts/incubator/unifi/README.md | 5 +- charts/incubator/unpackerr/CONFIG.md | 1 + charts/incubator/unpackerr/README.md | 5 +- charts/incubator/xteve/.helmignore | 26 + charts/incubator/xteve/CONFIG.md | 9 + charts/incubator/xteve/Chart.yaml | 24 + charts/incubator/xteve/README.md | 55 + charts/incubator/xteve/SCALE/item.yaml | 3 + charts/incubator/xteve/SCALE/ix_values.yaml | 15 + charts/incubator/xteve/SCALE/questions.yaml | 667 ++++++++++++ charts/incubator/xteve/templates/common.yaml | 1 + charts/incubator/xteve/values.yaml | 33 + charts/non-free/resilio-sync/.helmignore | 26 + charts/non-free/resilio-sync/CONFIG.md | 9 + charts/non-free/resilio-sync/Chart.yaml | 23 + charts/non-free/resilio-sync/README.md | 54 + charts/non-free/resilio-sync/SCALE/item.yaml | 3 + .../resilio-sync/SCALE/ix_values.yaml | 15 + .../resilio-sync/SCALE/questions.yaml | 875 ++++++++++++++++ .../resilio-sync/templates/common.yaml | 1 + charts/non-free/resilio-sync/values.yaml | 72 ++ charts/stable/collabora-online/CONFIG.md | 1 + charts/stable/collabora-online/README.md | 8 +- charts/stable/deepstack-cpu/CONFIG.md | 1 + charts/stable/deepstack-cpu/README.md | 5 +- charts/stable/emby/CONFIG.md | 1 + charts/stable/emby/README.md | 5 +- charts/stable/esphome/CONFIG.md | 1 + charts/stable/esphome/README.md | 5 +- charts/stable/handbrake/CONFIG.md | 1 + charts/stable/handbrake/README.md | 5 +- charts/stable/home-assistant/CONFIG.md | 1 + charts/stable/home-assistant/README.md | 5 +- charts/stable/jackett/CONFIG.md | 1 + charts/stable/jackett/README.md | 5 +- charts/stable/jellyfin/CONFIG.md | 1 + charts/stable/jellyfin/README.md | 5 +- charts/stable/kms/CONFIG.md | 1 + charts/stable/kms/README.md | 5 +- charts/stable/lidarr/CONFIG.md | 1 + charts/stable/lidarr/README.md | 5 +- charts/stable/ombi/CONFIG.md | 1 + charts/stable/ombi/README.md | 5 +- charts/stable/plex/CONFIG.md | 1 + charts/stable/plex/README.md | 7 +- charts/stable/radarr/CONFIG.md | 1 + charts/stable/radarr/README.md | 5 +- charts/stable/sonarr/CONFIG.md | 1 + charts/stable/sonarr/README.md | 5 +- charts/stable/syncthing/CONFIG.md | 1 + charts/stable/syncthing/README.md | 5 +- charts/stable/tautulli/CONFIG.md | 1 + charts/stable/tautulli/README.md | 5 +- charts/stable/traefik/CONFIG.md | 1 + charts/stable/traefik/README.md | 5 +- charts/stable/transmission/CONFIG.md | 1 + charts/stable/transmission/README.md | 5 +- charts/stable/truecommand/CONFIG.md | 1 + charts/stable/truecommand/README.md | 5 +- charts/stable/vaultwarden/CONFIG.md | 1 + charts/stable/vaultwarden/README.md | 7 +- charts/stable/zwavejs2mqtt/CONFIG.md | 1 + charts/stable/zwavejs2mqtt/README.md | 5 +- tools/input/.gitkeep | 0 tools/output/.gitkeep | 0 tools/placeholder/SCALE/item.yaml | 3 + tools/placeholder/SCALE/ix_values.yaml | 15 + tools/placeholder/SCALE/questions.yaml | 667 ++++++++++++ tools/process.sh | 40 + 379 files changed, 26668 insertions(+), 108 deletions(-) create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/apps/v16/.suo create mode 100644 .vs/slnx.sqlite create mode 100644 charts/incubator/booksonic-air/.helmignore create mode 100644 charts/incubator/booksonic-air/CONFIG.md create mode 100644 charts/incubator/booksonic-air/Chart.yaml create mode 100644 charts/incubator/booksonic-air/README.md create mode 100644 charts/incubator/booksonic-air/SCALE/item.yaml create mode 100644 charts/incubator/booksonic-air/SCALE/ix_values.yaml create mode 100644 charts/incubator/booksonic-air/SCALE/questions.yaml create mode 100644 charts/incubator/booksonic-air/templates/common.yaml create mode 100644 charts/incubator/booksonic-air/values.yaml create mode 100644 charts/incubator/calibre/.helmignore create mode 100644 charts/incubator/calibre/CONFIG.md create mode 100644 charts/incubator/calibre/Chart.yaml create mode 100644 charts/incubator/calibre/README.md create mode 100644 charts/incubator/calibre/SCALE/item.yaml create mode 100644 charts/incubator/calibre/SCALE/ix_values.yaml create mode 100644 charts/incubator/calibre/SCALE/questions.yaml create mode 100644 charts/incubator/calibre/templates/common.yaml create mode 100644 charts/incubator/calibre/values.yaml create mode 100644 charts/incubator/deconz/.helmignore create mode 100644 charts/incubator/deconz/CONFIG.md create mode 100644 charts/incubator/deconz/Chart.yaml create mode 100644 charts/incubator/deconz/README.md create mode 100644 charts/incubator/deconz/SCALE/item.yaml create mode 100644 charts/incubator/deconz/SCALE/ix_values.yaml create mode 100644 charts/incubator/deconz/SCALE/questions.yaml create mode 100644 charts/incubator/deconz/templates/common.yaml create mode 100644 charts/incubator/deconz/values.yaml create mode 100644 charts/incubator/dizquetv/.helmignore create mode 100644 charts/incubator/dizquetv/CONFIG.md create mode 100644 charts/incubator/dizquetv/Chart.yaml create mode 100644 charts/incubator/dizquetv/README.md create mode 100644 charts/incubator/dizquetv/SCALE/item.yaml create mode 100644 charts/incubator/dizquetv/SCALE/ix_values.yaml create mode 100644 charts/incubator/dizquetv/SCALE/questions.yaml create mode 100644 charts/incubator/dizquetv/templates/common.yaml create mode 100644 charts/incubator/dizquetv/values.yaml create mode 100644 charts/incubator/duplicati/CONFIG.md create mode 100644 charts/incubator/duplicati/Chart.yaml create mode 100644 charts/incubator/duplicati/README.md create mode 100644 charts/incubator/duplicati/SCALE/item.yaml create mode 100644 charts/incubator/duplicati/SCALE/ix_values.yaml create mode 100644 charts/incubator/duplicati/SCALE/questions.yaml create mode 100644 charts/incubator/duplicati/templates/common.yaml create mode 100644 charts/incubator/duplicati/values.yaml create mode 100644 charts/incubator/flaresolverr/.helmignore create mode 100644 charts/incubator/flaresolverr/CONFIG.md create mode 100644 charts/incubator/flaresolverr/Chart.yaml create mode 100644 charts/incubator/flaresolverr/README.md create mode 100644 charts/incubator/flaresolverr/SCALE/item.yaml create mode 100644 charts/incubator/flaresolverr/SCALE/ix_values.yaml create mode 100644 charts/incubator/flaresolverr/SCALE/questions.yaml create mode 100644 charts/incubator/flaresolverr/templates/common.yaml create mode 100644 charts/incubator/flaresolverr/values.yaml create mode 100644 charts/incubator/flood/.helmignore create mode 100644 charts/incubator/flood/CONFIG.md create mode 100644 charts/incubator/flood/Chart.yaml create mode 100644 charts/incubator/flood/README.md create mode 100644 charts/incubator/flood/SCALE/item.yaml create mode 100644 charts/incubator/flood/SCALE/ix_values.yaml create mode 100644 charts/incubator/flood/SCALE/questions.yaml create mode 100644 charts/incubator/flood/ci/ct-values.yaml create mode 100644 charts/incubator/flood/templates/common.yaml create mode 100644 charts/incubator/flood/values.yaml create mode 100644 charts/incubator/focalboard/.helmignore create mode 100644 charts/incubator/focalboard/CONFIG.md create mode 100644 charts/incubator/focalboard/Chart.yaml create mode 100644 charts/incubator/focalboard/README.md create mode 100644 charts/incubator/focalboard/SCALE/item.yaml create mode 100644 charts/incubator/focalboard/SCALE/ix_values.yaml create mode 100644 charts/incubator/focalboard/SCALE/questions.yaml create mode 100644 charts/incubator/focalboard/templates/common.yaml create mode 100644 charts/incubator/focalboard/values.yaml create mode 100644 charts/incubator/gonic/.helmignore create mode 100644 charts/incubator/gonic/CONFIG.md create mode 100644 charts/incubator/gonic/Chart.yaml create mode 100644 charts/incubator/gonic/README.md create mode 100644 charts/incubator/gonic/SCALE/item.yaml create mode 100644 charts/incubator/gonic/SCALE/ix_values.yaml create mode 100644 charts/incubator/gonic/SCALE/questions.yaml create mode 100644 charts/incubator/gonic/ci/ct-values.yaml create mode 100644 charts/incubator/gonic/templates/common.yaml create mode 100644 charts/incubator/gonic/values.yaml create mode 100644 charts/incubator/healthchecks/.helmignore create mode 100644 charts/incubator/healthchecks/CONFIG.md create mode 100644 charts/incubator/healthchecks/Chart.yaml create mode 100644 charts/incubator/healthchecks/README.md create mode 100644 charts/incubator/healthchecks/SCALE/item.yaml create mode 100644 charts/incubator/healthchecks/SCALE/ix_values.yaml create mode 100644 charts/incubator/healthchecks/SCALE/questions.yaml create mode 100644 charts/incubator/healthchecks/templates/common.yaml create mode 100644 charts/incubator/healthchecks/values.yaml create mode 100644 charts/incubator/hyperion-ng/.helmignore create mode 100644 charts/incubator/hyperion-ng/CONFIG.md create mode 100644 charts/incubator/hyperion-ng/Chart.yaml create mode 100644 charts/incubator/hyperion-ng/README.md create mode 100644 charts/incubator/hyperion-ng/SCALE/item.yaml create mode 100644 charts/incubator/hyperion-ng/SCALE/ix_values.yaml create mode 100644 charts/incubator/hyperion-ng/SCALE/questions.yaml create mode 100644 charts/incubator/hyperion-ng/templates/common.yaml create mode 100644 charts/incubator/hyperion-ng/values.yaml create mode 100644 charts/incubator/komga/.helmignore create mode 100644 charts/incubator/komga/CONFIG.md create mode 100644 charts/incubator/komga/Chart.yaml create mode 100644 charts/incubator/komga/README.md create mode 100644 charts/incubator/komga/SCALE/item.yaml create mode 100644 charts/incubator/komga/SCALE/ix_values.yaml create mode 100644 charts/incubator/komga/SCALE/questions.yaml create mode 100644 charts/incubator/komga/templates/common.yaml create mode 100644 charts/incubator/komga/values.yaml create mode 100644 charts/incubator/librespeed/.helmignore create mode 100644 charts/incubator/librespeed/CONFIG.md create mode 100644 charts/incubator/librespeed/Chart.yaml create mode 100644 charts/incubator/librespeed/README.md create mode 100644 charts/incubator/librespeed/SCALE/item.yaml create mode 100644 charts/incubator/librespeed/SCALE/ix_values.yaml create mode 100644 charts/incubator/librespeed/SCALE/questions.yaml create mode 100644 charts/incubator/librespeed/ci/ct-values.yaml create mode 100644 charts/incubator/librespeed/templates/common.yaml create mode 100644 charts/incubator/librespeed/values.yaml create mode 100644 charts/incubator/mylar/.helmignore create mode 100644 charts/incubator/mylar/CONFIG.md create mode 100644 charts/incubator/mylar/Chart.yaml create mode 100644 charts/incubator/mylar/README.md create mode 100644 charts/incubator/mylar/SCALE/item.yaml create mode 100644 charts/incubator/mylar/SCALE/ix_values.yaml create mode 100644 charts/incubator/mylar/SCALE/questions.yaml create mode 100644 charts/incubator/mylar/templates/common.yaml create mode 100644 charts/incubator/mylar/values.yaml create mode 100644 charts/incubator/nullserv/.helmignore create mode 100644 charts/incubator/nullserv/CONFIG.md create mode 100644 charts/incubator/nullserv/Chart.yaml create mode 100644 charts/incubator/nullserv/README.md create mode 100644 charts/incubator/nullserv/SCALE/item.yaml create mode 100644 charts/incubator/nullserv/SCALE/ix_values.yaml create mode 100644 charts/incubator/nullserv/SCALE/questions.yaml create mode 100644 charts/incubator/nullserv/templates/common.yaml create mode 100644 charts/incubator/nullserv/values.yaml create mode 100644 charts/incubator/octoprint/.helmignore create mode 100644 charts/incubator/octoprint/CONFIG.md create mode 100644 charts/incubator/octoprint/Chart.yaml create mode 100644 charts/incubator/octoprint/README.md create mode 100644 charts/incubator/octoprint/SCALE/item.yaml create mode 100644 charts/incubator/octoprint/SCALE/ix_values.yaml create mode 100644 charts/incubator/octoprint/SCALE/questions.yaml create mode 100644 charts/incubator/octoprint/templates/common.yaml create mode 100644 charts/incubator/octoprint/values.yaml create mode 100644 charts/incubator/omada-controller/.helmignore create mode 100644 charts/incubator/omada-controller/CONFIG.md create mode 100644 charts/incubator/omada-controller/Chart.yaml create mode 100644 charts/incubator/omada-controller/README.md create mode 100644 charts/incubator/omada-controller/SCALE/item.yaml create mode 100644 charts/incubator/omada-controller/SCALE/ix_values.yaml create mode 100644 charts/incubator/omada-controller/SCALE/questions.yaml create mode 100644 charts/incubator/omada-controller/templates/common.yaml create mode 100644 charts/incubator/omada-controller/values.yaml create mode 100644 charts/incubator/overseerr/.helmignore create mode 100644 charts/incubator/overseerr/CONFIG.md create mode 100644 charts/incubator/overseerr/Chart.yaml create mode 100644 charts/incubator/overseerr/README.md create mode 100644 charts/incubator/overseerr/SCALE/item.yaml create mode 100644 charts/incubator/overseerr/SCALE/ix_values.yaml create mode 100644 charts/incubator/overseerr/SCALE/questions.yaml create mode 100644 charts/incubator/overseerr/templates/common.yaml create mode 100644 charts/incubator/overseerr/values.yaml create mode 100644 charts/incubator/owncast/.helmignore create mode 100644 charts/incubator/owncast/CONFIG.md create mode 100644 charts/incubator/owncast/Chart.yaml create mode 100644 charts/incubator/owncast/README.md create mode 100644 charts/incubator/owncast/SCALE/item.yaml create mode 100644 charts/incubator/owncast/SCALE/ix_values.yaml create mode 100644 charts/incubator/owncast/SCALE/questions.yaml create mode 100644 charts/incubator/owncast/templates/common.yaml create mode 100644 charts/incubator/owncast/values.yaml create mode 100644 charts/incubator/owncloud-ocis/.helmignore create mode 100644 charts/incubator/owncloud-ocis/CONFIG.md create mode 100644 charts/incubator/owncloud-ocis/Chart.yaml create mode 100644 charts/incubator/owncloud-ocis/README.md create mode 100644 charts/incubator/owncloud-ocis/SCALE/item.yaml create mode 100644 charts/incubator/owncloud-ocis/SCALE/ix_values.yaml create mode 100644 charts/incubator/owncloud-ocis/SCALE/questions.yaml create mode 100644 charts/incubator/owncloud-ocis/templates/common.yaml create mode 100644 charts/incubator/owncloud-ocis/values.yaml create mode 100644 charts/incubator/photoprism/.helmignore create mode 100644 charts/incubator/photoprism/CONFIG.md create mode 100644 charts/incubator/photoprism/Chart.yaml create mode 100644 charts/incubator/photoprism/README.md create mode 100644 charts/incubator/photoprism/SCALE/item.yaml create mode 100644 charts/incubator/photoprism/SCALE/ix_values.yaml create mode 100644 charts/incubator/photoprism/SCALE/questions.yaml create mode 100644 charts/incubator/photoprism/templates/common.yaml create mode 100644 charts/incubator/photoprism/values.yaml create mode 100644 charts/incubator/piaware/.helmignore create mode 100644 charts/incubator/piaware/CONFIG.md create mode 100644 charts/incubator/piaware/Chart.yaml create mode 100644 charts/incubator/piaware/README.md create mode 100644 charts/incubator/piaware/SCALE/item.yaml create mode 100644 charts/incubator/piaware/SCALE/ix_values.yaml create mode 100644 charts/incubator/piaware/SCALE/questions.yaml create mode 100644 charts/incubator/piaware/ci/ct-values.yaml create mode 100644 charts/incubator/piaware/templates/common.yaml create mode 100644 charts/incubator/piaware/values.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/.helmignore create mode 100644 charts/incubator/pretend-youre-xyzzy/CONFIG.md create mode 100644 charts/incubator/pretend-youre-xyzzy/Chart.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/README.md create mode 100644 charts/incubator/pretend-youre-xyzzy/SCALE/item.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/SCALE/ix_values.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/SCALE/questions.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/templates/common.yaml create mode 100644 charts/incubator/pretend-youre-xyzzy/values.yaml create mode 100644 charts/incubator/protonmail-bridge/.helmignore create mode 100644 charts/incubator/protonmail-bridge/CONFIG.md create mode 100644 charts/incubator/protonmail-bridge/Chart.yaml create mode 100644 charts/incubator/protonmail-bridge/README.md create mode 100644 charts/incubator/protonmail-bridge/SCALE/item.yaml create mode 100644 charts/incubator/protonmail-bridge/SCALE/ix_values.yaml create mode 100644 charts/incubator/protonmail-bridge/SCALE/questions.yaml create mode 100644 charts/incubator/protonmail-bridge/templates/common.yaml create mode 100644 charts/incubator/protonmail-bridge/values.yaml create mode 100644 charts/incubator/pyload/.helmignore create mode 100644 charts/incubator/pyload/CONFIG.md create mode 100644 charts/incubator/pyload/Chart.yaml create mode 100644 charts/incubator/pyload/README.md create mode 100644 charts/incubator/pyload/SCALE/item.yaml create mode 100644 charts/incubator/pyload/SCALE/ix_values.yaml create mode 100644 charts/incubator/pyload/SCALE/questions.yaml create mode 100644 charts/incubator/pyload/templates/common.yaml create mode 100644 charts/incubator/pyload/values.yaml create mode 100644 charts/incubator/ser2sock/.helmignore create mode 100644 charts/incubator/ser2sock/CONFIG.md create mode 100644 charts/incubator/ser2sock/Chart.yaml create mode 100644 charts/incubator/ser2sock/README.md create mode 100644 charts/incubator/ser2sock/SCALE/item.yaml create mode 100644 charts/incubator/ser2sock/SCALE/ix_values.yaml create mode 100644 charts/incubator/ser2sock/SCALE/questions.yaml create mode 100644 charts/incubator/ser2sock/templates/common.yaml create mode 100644 charts/incubator/ser2sock/values.yaml create mode 100644 charts/incubator/stash/.helmignore create mode 100644 charts/incubator/stash/CONFIG.md create mode 100644 charts/incubator/stash/Chart.yaml create mode 100644 charts/incubator/stash/README.md create mode 100644 charts/incubator/stash/SCALE/item.yaml create mode 100644 charts/incubator/stash/SCALE/ix_values.yaml create mode 100644 charts/incubator/stash/SCALE/questions.yaml create mode 100644 charts/incubator/stash/ci/ct-values.yaml create mode 100644 charts/incubator/stash/templates/common.yaml create mode 100644 charts/incubator/stash/values.yaml create mode 100644 charts/incubator/xteve/.helmignore create mode 100644 charts/incubator/xteve/CONFIG.md create mode 100644 charts/incubator/xteve/Chart.yaml create mode 100644 charts/incubator/xteve/README.md create mode 100644 charts/incubator/xteve/SCALE/item.yaml create mode 100644 charts/incubator/xteve/SCALE/ix_values.yaml create mode 100644 charts/incubator/xteve/SCALE/questions.yaml create mode 100644 charts/incubator/xteve/templates/common.yaml create mode 100644 charts/incubator/xteve/values.yaml create mode 100644 charts/non-free/resilio-sync/.helmignore create mode 100644 charts/non-free/resilio-sync/CONFIG.md create mode 100644 charts/non-free/resilio-sync/Chart.yaml create mode 100644 charts/non-free/resilio-sync/README.md create mode 100644 charts/non-free/resilio-sync/SCALE/item.yaml create mode 100644 charts/non-free/resilio-sync/SCALE/ix_values.yaml create mode 100644 charts/non-free/resilio-sync/SCALE/questions.yaml create mode 100644 charts/non-free/resilio-sync/templates/common.yaml create mode 100644 charts/non-free/resilio-sync/values.yaml create mode 100644 tools/input/.gitkeep create mode 100644 tools/output/.gitkeep create mode 100644 tools/placeholder/SCALE/item.yaml create mode 100644 tools/placeholder/SCALE/ix_values.yaml create mode 100644 tools/placeholder/SCALE/questions.yaml create mode 100644 tools/process.sh diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 00000000000..cda41536d4a --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} diff --git a/.vs/apps/v16/.suo b/.vs/apps/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..522fccd4d70c182b049d6852337d3cde25cca5c0 GIT binary patch literal 10752 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 oO4t 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 literal 0 HcmV?d00001 diff --git a/charts/deprecated/nzbhydra/CONFIG.md b/charts/deprecated/nzbhydra/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/deprecated/nzbhydra/CONFIG.md +++ b/charts/deprecated/nzbhydra/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/deprecated/nzbhydra/README.md b/charts/deprecated/nzbhydra/README.md index c2333961dd9..eb7e83a54df 100644 --- a/charts/deprecated/nzbhydra/README.md +++ b/charts/deprecated/nzbhydra/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/develop/prototype-gui/CONFIG.md b/charts/develop/prototype-gui/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/develop/prototype-gui/CONFIG.md +++ b/charts/develop/prototype-gui/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/develop/prototype-gui/Chart.yaml b/charts/develop/prototype-gui/Chart.yaml index 9555eb4399c..bac353a4f44 100644 --- a/charts/develop/prototype-gui/Chart.yaml +++ b/charts/develop/prototype-gui/Chart.yaml @@ -6,7 +6,7 @@ dependencies: version: 6.4.6 deprecated: false description: App to test GUI prototypes -home: https://github.com/truecharts/apps/tree/master/charts/develop/prototype-gui +home: https://github.com/truechartsapps/tree/master/charts/develop/prototype-gui icon: https://truecharts.org/_static/img/jackett-icon.png keywords: - dev diff --git a/charts/develop/prototype-gui/README.md b/charts/develop/prototype-gui/README.md index 5b44b1dae6d..969b1b20525 100644 --- a/charts/develop/prototype-gui/README.md +++ b/charts/develop/prototype-gui/README.md @@ -1,12 +1,14 @@ # Introduction -![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.3.10](https://img.shields.io/badge/Version-1.3.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) App to test GUI prototypes TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. **This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + ## Requirements Kubernetes: `>=1.16.0-0` @@ -15,7 +17,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -44,6 +46,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/airsonic/CONFIG.md b/charts/incubator/airsonic/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/airsonic/CONFIG.md +++ b/charts/incubator/airsonic/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/airsonic/README.md b/charts/incubator/airsonic/README.md index 9e5471b665e..6218895d3e6 100644 --- a/charts/incubator/airsonic/README.md +++ b/charts/incubator/airsonic/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Airsonic is a Free and Open Source community driven media server @@ -21,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -50,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/appdaemon/CONFIG.md b/charts/incubator/appdaemon/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/appdaemon/CONFIG.md +++ b/charts/incubator/appdaemon/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/appdaemon/README.md b/charts/incubator/appdaemon/README.md index 2da7ab26bbb..12c1f861c57 100644 --- a/charts/incubator/appdaemon/README.md +++ b/charts/incubator/appdaemon/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 3.1.2](https://img.shields.io/badge/Version-3.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.0.8](https://img.shields.io/badge/AppVersion-v4.0.8-informational?style=flat-square) +![Version: 3.2.10](https://img.shields.io/badge/Version-3.2.10-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. @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/bazarr/CONFIG.md b/charts/incubator/bazarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/bazarr/CONFIG.md +++ b/charts/incubator/bazarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/bazarr/README.md b/charts/incubator/bazarr/README.md index 53d43687885..1c88d9aa296 100644 --- a/charts/incubator/bazarr/README.md +++ b/charts/incubator/bazarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/booksonic-air/.helmignore b/charts/incubator/booksonic-air/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/booksonic-air/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/booksonic-air/CONFIG.md b/charts/incubator/booksonic-air/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/booksonic-air/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/booksonic-air/Chart.yaml b/charts/incubator/booksonic-air/Chart.yaml new file mode 100644 index 00000000000..47f8394d1a7 --- /dev/null +++ b/charts/incubator/booksonic-air/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Booksonic is a platform for accessing the audibooks you own wherever you are +name: booksonic-air +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- booksonic +- audiobook +home: https://github.com/truechartsapps/tree/master/charts/incubator/booksonic-air +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png +sources: +- https://github.com/popeen/Booksonic-Air +- https://hub.docker.com/r/linuxserver/booksonic-air +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/booksonic-air/README.md b/charts/incubator/booksonic-air/README.md new file mode 100644 index 00000000000..d0ce48469a9 --- /dev/null +++ b/charts/incubator/booksonic-air/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Booksonic is a platform for accessing the audibooks you own wherever you are + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `booksonic-air` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `booksonic-air` 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/charts/incubator/booksonic-air/SCALE/item.yaml b/charts/incubator/booksonic-air/SCALE/item.yaml new file mode 100644 index 00000000000..2e2f38eca5b --- /dev/null +++ b/charts/incubator/booksonic-air/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/booksonic-air.png diff --git a/charts/incubator/booksonic-air/SCALE/ix_values.yaml b/charts/incubator/booksonic-air/SCALE/ix_values.yaml new file mode 100644 index 00000000000..d4514d8f9dd --- /dev/null +++ b/charts/incubator/booksonic-air/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/booksonic-air + pullPolicy: IfNotPresent + tag: version-v2009.1.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/booksonic-air/SCALE/questions.yaml b/charts/incubator/booksonic-air/SCALE/questions.yaml new file mode 100644 index 00000000000..3bc38a5d050 --- /dev/null +++ b/charts/incubator/booksonic-air/SCALE/questions.yaml @@ -0,0 +1,640 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 4040 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 4040 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3702 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/booksonic-air/templates/common.yaml b/charts/incubator/booksonic-air/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/booksonic-air/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/booksonic-air/values.yaml b/charts/incubator/booksonic-air/values.yaml new file mode 100644 index 00000000000..ce0c5310b0f --- /dev/null +++ b/charts/incubator/booksonic-air/values.yaml @@ -0,0 +1,47 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/booksonic-air + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: version-v2009.1.0 + +# See more environment variables in the [booksonic-air documentation](https://github.com/linuxserver/docker-booksonic-air#parameters) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "568" + # -- Specify the group ID the application will run as + PGID: "568" + # -- Used to set the base path for reverse proxies eg. /booksonic, /books, etc. + # CONTEXT_PATH=url-base + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 4040 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + audiobooks: + enabled: false + podcasts: + enabled: false + othermedia: + enabled: false diff --git a/charts/incubator/calibre-web/CONFIG.md b/charts/incubator/calibre-web/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/calibre-web/CONFIG.md +++ b/charts/incubator/calibre-web/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/calibre-web/README.md b/charts/incubator/calibre-web/README.md index 49f2aeb758d..d23599aaad2 100644 --- a/charts/incubator/calibre-web/README.md +++ b/charts/incubator/calibre-web/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/calibre/.helmignore b/charts/incubator/calibre/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/calibre/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/calibre/CONFIG.md b/charts/incubator/calibre/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/calibre/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/calibre/Chart.yaml b/charts/incubator/calibre/Chart.yaml new file mode 100644 index 00000000000..97422952096 --- /dev/null +++ b/charts/incubator/calibre/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: Calibre is a powerful and easy to use e-book manager. +name: calibre +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: + - calibre +home: https://github.com/truechartsapps/tree/master/charts/incubator/calibre +icon: https://github.com/kovidgoyal/calibre/raw/master/resources/images/lt.png +sources: + - https://hub.docker.com/r/linuxserver/calibre/ + - https://github.com/kovidgoyal/calibre/ +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/calibre/README.md b/charts/incubator/calibre/README.md new file mode 100644 index 00000000000..032b30df781 --- /dev/null +++ b/charts/incubator/calibre/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Calibre is a powerful and easy to use e-book manager. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `calibre` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre` 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/charts/incubator/calibre/SCALE/item.yaml b/charts/incubator/calibre/SCALE/item.yaml new file mode 100644 index 00000000000..78d823829e4 --- /dev/null +++ b/charts/incubator/calibre/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/kovidgoyal/calibre/raw/master/resources/images/lt.png diff --git a/charts/incubator/calibre/SCALE/ix_values.yaml b/charts/incubator/calibre/SCALE/ix_values.yaml new file mode 100644 index 00000000000..640677abb8b --- /dev/null +++ b/charts/incubator/calibre/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre + pullPolicy: IfNotPresent + tag: version-v5.21.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/charts/incubator/calibre/SCALE/questions.yaml b/charts/incubator/calibre/SCALE/questions.yaml new file mode 100644 index 00000000000..cad516fee55 --- /dev/null +++ b/charts/incubator/calibre/SCALE/questions.yaml @@ -0,0 +1,757 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK_SET + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: GUAC_USER + label: "GUAC_USER" + description: "Username for the calibre gui" + schema: + type: string + default: "" + - variable: GUAC_PASS + label: "GUAC_PASS" + description: "Password's md5 hash for the calibre gui" + schema: + type: string + default: "" + - variable: CLI_ARGS + label: "CLI_ARGS" + description: "Optionally pass cli start arguments to calibre" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3703 + required: true + - variable: webserver + label: "webserver Service" + description: "The webserver service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: webserver + label: "webserver Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8081 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8081 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3801 + required: true + + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/calibre/templates/common.yaml b/charts/incubator/calibre/templates/common.yaml new file mode 100644 index 00000000000..c53fdc73fbd --- /dev/null +++ b/charts/incubator/calibre/templates/common.yaml @@ -0,0 +1,3 @@ +--- + +{{ include "common.all" . }} diff --git a/charts/incubator/calibre/values.yaml b/charts/incubator/calibre/values.yaml new file mode 100644 index 00000000000..d8a63ffefcb --- /dev/null +++ b/charts/incubator/calibre/values.yaml @@ -0,0 +1,58 @@ +--- + +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +# -- This is the default, you can also use requarks/wiki +image: + # -- image repository + repository: linuxserver/calibre + # -- image tag + tag: version-v5.21.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-calibre#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Username for the calibre gui + GUAC_USER: + # -- Password's md5 hash for the calibre gui + GUAC_PASS: + # -- for umask setting of Calibre, default if left unset is 022. + UMASK_SET: "022" + # -- Optionally pass cli start arguments to calibre. + CLI_ARGS: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + webserver: + enabled: false + type: ClusterIP + ports: + webserver: + enabled: true + port: 8081 + protocol: TCP + targetPort: 8081 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/charts/incubator/deconz/.helmignore b/charts/incubator/deconz/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/deconz/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/deconz/CONFIG.md b/charts/incubator/deconz/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/deconz/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/deconz/Chart.yaml b/charts/incubator/deconz/Chart.yaml new file mode 100644 index 00000000000..ee7b79e4285 --- /dev/null +++ b/charts/incubator/deconz/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: deCONZ is an easy to use control software, with which you can set up and control Zigbee networks of any size without further programming effort. +name: deconz +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: + - deconz + - home-automation + - zigbee + - conbee +home: https://github.com/truechartsapps/tree/master/charts/incubator/deconz +icon: https://avatars1.githubusercontent.com/u/4217524?s=400&v=4 +sources: + - https://github.com/dresden-elektronik/deconz-rest-plugin + - https://github.com/marthoc/docker-deconz +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/deconz/README.md b/charts/incubator/deconz/README.md new file mode 100644 index 00000000000..120f72f1f9f --- /dev/null +++ b/charts/incubator/deconz/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +deCONZ is an easy to use control software, with which you can set up and control Zigbee networks of any size without further programming effort. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `deconz` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deconz` 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/charts/incubator/deconz/SCALE/item.yaml b/charts/incubator/deconz/SCALE/item.yaml new file mode 100644 index 00000000000..75b88cbd6c3 --- /dev/null +++ b/charts/incubator/deconz/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars1.githubusercontent.com/u/4217524?s=400PLACEHOLDERICONv=4 diff --git a/charts/incubator/deconz/SCALE/ix_values.yaml b/charts/incubator/deconz/SCALE/ix_values.yaml new file mode 100644 index 00000000000..8247d6b0523 --- /dev/null +++ b/charts/incubator/deconz/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: marthoc/deconz + pullPolicy: IfNotPresent + tag: 2.12.01 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/deconz/SCALE/questions.yaml b/charts/incubator/deconz/SCALE/questions.yaml new file mode 100644 index 00000000000..c1bdafac5a9 --- /dev/null +++ b/charts/incubator/deconz/SCALE/questions.yaml @@ -0,0 +1,861 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: DECONZ_DEVICE + label: "DECONZ_DEVICE" + description: "Override the location where deCONZ looks for the RaspBee/Conbee device" + schema: + type: string + default: "/dev/ttyUSB0" + - variable: DECONZ_VNC_MODE + label: "DECONZ_VNC_MODE" + description: "Enable VNC access to the container to view the deCONZ ZigBee mesh" + schema: + type: string + default: "1" + - variable: DECONZ_WEB_PORT + label: "DECONZ_WEB_PORT" + description: "Web UI listen port" + schema: + type: string + default: "80" + - variable: DECONZ_WS_PORT + label: "DECONZ_WS_PORT" + description: "Websocket listen port" + schema: + type: string + default: "443" + - variable: DECONZ_VNC_PORT + label: "DECONZ_VNC_PORT" + description: " VNC server listen port" + schema: + type: string + default: "5900" + - variable: DECONZ_VNC_PASSWORD + label: "DECONZ_VNC_PASSWORD" + description: "If VNC is enabled (DECONZ_VNC_MODE=1) you can change the default password" + schema: + type: string + required: true + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3704 + required: true + - variable: websocket + label: "websocket Service" + description: "The websocket service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: websocket + label: "websocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 443 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3802 + required: true + - variable: vnc + label: "vnc Service" + description: "The vnc service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: vnc + label: "vnc Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3803 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.local/share/dresden-elektronik/deCONZ" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/deconz/templates/common.yaml b/charts/incubator/deconz/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/deconz/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/deconz/values.yaml b/charts/incubator/deconz/values.yaml new file mode 100644 index 00000000000..3830072a954 --- /dev/null +++ b/charts/incubator/deconz/values.yaml @@ -0,0 +1,72 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: marthoc/deconz + # -- image tag + tag: 2.12.01 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://github.com/marthoc/docker-deconz/blob/master/README.md) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Override the location where deCONZ looks for the RaspBee/Conbee device. + DECONZ_DEVICE: # /dev/ttyUSB0 + # -- Enable VNC access to the container to view the deCONZ ZigBee mesh + DECONZ_VNC_MODE: 1 + # -- Web UI listen port + DECONZ_WEB_PORT: 80 + # -- Websocket listen port + DECONZ_WS_PORT: 443 + # -- VNC server listen port + DECONZ_VNC_PORT: 5900 + # -- If VNC is enabled (DECONZ_VNC_MODE=1) you can change the default password "changeme" using a Secret. + DECONZ_VNC_PASSWORD: + # secretKeyRef: + # name: deconz-vnc-password + # key: password + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + websocket: + enabled: true + port: 443 + vnc: + enabled: true + port: 5900 + +securityContext: + # -- (bool) Privileged securityContext may be required if USB controller is accessed directly through the host machine + privileged: # true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /root/.local/share/dresden-elektronik/deCONZ + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - zigbee-controller diff --git a/charts/incubator/deluge/CONFIG.md b/charts/incubator/deluge/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/deluge/CONFIG.md +++ b/charts/incubator/deluge/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/deluge/README.md b/charts/incubator/deluge/README.md index 9828773a773..12943716168 100644 --- a/charts/incubator/deluge/README.md +++ b/charts/incubator/deluge/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/dizquetv/.helmignore b/charts/incubator/dizquetv/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/dizquetv/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/dizquetv/CONFIG.md b/charts/incubator/dizquetv/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/dizquetv/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/dizquetv/Chart.yaml b/charts/incubator/dizquetv/Chart.yaml new file mode 100644 index 00000000000..8cb251a9b21 --- /dev/null +++ b/charts/incubator/dizquetv/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Create live TV channel streams from media on your Plex servers. +name: dizquetv +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- dizqueTV +- dizquetv +home: https://github.com/truechartsapps/tree/master/charts/incubator/dizquetv +icon: https://github.com/vexorian/dizquetv/raw/main/resources/dizquetv.png?raw=true +sources: +- https://github.com/vexorian/dizquetv +- https://hub.docker.com/r/vexorian/dizquetv +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/dizquetv/README.md b/charts/incubator/dizquetv/README.md new file mode 100644 index 00000000000..c77fd167003 --- /dev/null +++ b/charts/incubator/dizquetv/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Create live TV channel streams from media on your Plex servers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `dizquetv` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `dizquetv` 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/charts/incubator/dizquetv/SCALE/item.yaml b/charts/incubator/dizquetv/SCALE/item.yaml new file mode 100644 index 00000000000..dca8231b5bd --- /dev/null +++ b/charts/incubator/dizquetv/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/vexorian/dizquetv/raw/main/resources/dizquetv.png?raw=true diff --git a/charts/incubator/dizquetv/SCALE/ix_values.yaml b/charts/incubator/dizquetv/SCALE/ix_values.yaml new file mode 100644 index 00000000000..4bc21c65fd5 --- /dev/null +++ b/charts/incubator/dizquetv/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vexorian/dizquetv + pullPolicy: IfNotPresent + tag: 1.4.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/dizquetv/SCALE/questions.yaml b/charts/incubator/dizquetv/SCALE/questions.yaml new file mode 100644 index 00000000000..ec063b7c52e --- /dev/null +++ b/charts/incubator/dizquetv/SCALE/questions.yaml @@ -0,0 +1,640 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3705 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/home/node/app/.dizquetv" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/dizquetv/templates/common.yaml b/charts/incubator/dizquetv/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/dizquetv/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/dizquetv/values.yaml b/charts/incubator/dizquetv/values.yaml new file mode 100644 index 00000000000..f1674bd5277 --- /dev/null +++ b/charts/incubator/dizquetv/values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: vexorian/dizquetv + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 1.4.3 + +# -- environment variables. See more environment variables in the [dizquetv documentation](https://hub.docker.com/r/vexorian/dizquetv). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: 1001 + # -- Specify the group ID the application will run as + PGID: 1001 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /home/node/app/.dizquetv diff --git a/charts/incubator/duplicati/CONFIG.md b/charts/incubator/duplicati/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/duplicati/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/duplicati/Chart.yaml b/charts/incubator/duplicati/Chart.yaml new file mode 100644 index 00000000000..a2d10e63a15 --- /dev/null +++ b/charts/incubator/duplicati/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: Store securely encrypted backups on cloud storage services! +name: duplicati +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: + - duplicati +home: https://github.com/truechartsapps/tree/master/charts/incubator/duplicati +icon: https://avatars.githubusercontent.com/u/8270231?s=200&v=4 +sources: + - https://hub.docker.com/r/linuxserver/duplicati/ + - https://github.com/duplicati/duplicati +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/duplicati/README.md b/charts/incubator/duplicati/README.md new file mode 100644 index 00000000000..e78d8e617a5 --- /dev/null +++ b/charts/incubator/duplicati/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Store securely encrypted backups on cloud storage services! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `duplicati` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `duplicati` 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/charts/incubator/duplicati/SCALE/item.yaml b/charts/incubator/duplicati/SCALE/item.yaml new file mode 100644 index 00000000000..ce5726b3e5d --- /dev/null +++ b/charts/incubator/duplicati/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars.githubusercontent.com/u/8270231?s=200PLACEHOLDERICONv=4 diff --git a/charts/incubator/duplicati/SCALE/ix_values.yaml b/charts/incubator/duplicati/SCALE/ix_values.yaml new file mode 100644 index 00000000000..ab1c03b2bc8 --- /dev/null +++ b/charts/incubator/duplicati/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/duplicati + pullPolicy: IfNotPresent + tag: latest + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/duplicati/SCALE/questions.yaml b/charts/incubator/duplicati/SCALE/questions.yaml new file mode 100644 index 00000000000..92cc9aa4517 --- /dev/null +++ b/charts/incubator/duplicati/SCALE/questions.yaml @@ -0,0 +1,640 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8200 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8200 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3706 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/duplicati/templates/common.yaml b/charts/incubator/duplicati/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/duplicati/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/duplicati/values.yaml b/charts/incubator/duplicati/values.yaml new file mode 100644 index 00000000000..62520af8ea5 --- /dev/null +++ b/charts/incubator/duplicati/values.yaml @@ -0,0 +1,43 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/duplicati + # -- image tag + tag: latest + # -- image pull policy + pullPolicy: IfNotPresent + +# See more environment variables in the [duplicati documentation](https://github.com/linuxserver/docker-duplicati#parameters) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1000" + # -- Specify the group ID the application will run as + PGID: "1000" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8200 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + source: + enabled: false + backups: + enabled: false diff --git a/charts/incubator/fireflyiii/CONFIG.md b/charts/incubator/fireflyiii/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/fireflyiii/CONFIG.md +++ b/charts/incubator/fireflyiii/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/fireflyiii/README.md b/charts/incubator/fireflyiii/README.md index 54d181719c1..8fbeb296842 100644 --- a/charts/incubator/fireflyiii/README.md +++ b/charts/incubator/fireflyiii/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 4.3.10](https://img.shields.io/badge/Version-4.3.10-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 @@ -19,8 +19,8 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://charts.bitnami.com/bitnami | postgresql | 10.4.9 | -| https://truecharts.org/ | common | 6.3.4 | +| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/flaresolverr/.helmignore b/charts/incubator/flaresolverr/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/flaresolverr/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/flaresolverr/CONFIG.md b/charts/incubator/flaresolverr/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/flaresolverr/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/flaresolverr/Chart.yaml b/charts/incubator/flaresolverr/Chart.yaml new file mode 100644 index 00000000000..f2471b76ec6 --- /dev/null +++ b/charts/incubator/flaresolverr/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: FlareSolverr is a proxy server to bypass Cloudflare protection +name: flaresolverr +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- flaresolverr +- jackett +home: https://github.com/truechartsapps/tree/master/charts/incubator/flaresolverr +icon: https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/master/resources/flaresolverr_logo.svg +sources: +- https://github.com/FlareSolverr/FlareSolverr +- https://hub.docker.com/r/flaresolverr/flaresolverr +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/flaresolverr/README.md b/charts/incubator/flaresolverr/README.md new file mode 100644 index 00000000000..61f6e7efb77 --- /dev/null +++ b/charts/incubator/flaresolverr/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +FlareSolverr is a proxy server to bypass Cloudflare protection + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `flaresolverr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `flaresolverr` 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/charts/incubator/flaresolverr/SCALE/item.yaml b/charts/incubator/flaresolverr/SCALE/item.yaml new file mode 100644 index 00000000000..ab78743067d --- /dev/null +++ b/charts/incubator/flaresolverr/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/master/resources/flaresolverr_logo.svg diff --git a/charts/incubator/flaresolverr/SCALE/ix_values.yaml b/charts/incubator/flaresolverr/SCALE/ix_values.yaml new file mode 100644 index 00000000000..0b9d226976a --- /dev/null +++ b/charts/incubator/flaresolverr/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/flaresolverr/flaresolverr + pullPolicy: IfNotPresent + tag: v1.2.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/charts/incubator/flaresolverr/SCALE/questions.yaml b/charts/incubator/flaresolverr/SCALE/questions.yaml new file mode 100644 index 00000000000..3d5c4364166 --- /dev/null +++ b/charts/incubator/flaresolverr/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8191 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8191 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3707 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/flaresolverr/templates/common.yaml b/charts/incubator/flaresolverr/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/flaresolverr/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/flaresolverr/values.yaml b/charts/incubator/flaresolverr/values.yaml new file mode 100644 index 00000000000..11ba26418a5 --- /dev/null +++ b/charts/incubator/flaresolverr/values.yaml @@ -0,0 +1,28 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/flaresolverr/flaresolverr + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v1.2.8 + +# -- environment variables. See more environment variables in the [flaresolverr documentation](https://github.com/FlareSolverr/FlareSolverr#environment-variables). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8191 diff --git a/charts/incubator/flood/.helmignore b/charts/incubator/flood/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/flood/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/flood/CONFIG.md b/charts/incubator/flood/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/flood/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/flood/Chart.yaml b/charts/incubator/flood/Chart.yaml new file mode 100644 index 00000000000..622dfd1efef --- /dev/null +++ b/charts/incubator/flood/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: Flood is a monitoring service for various torrent clients +name: flood +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- flood +- rtorrent +- qbittorrent +- transmission +home: https://github.com/truechartsapps/tree/master/charts/incubator/flood +icon: https://raw.githubusercontent.com/jesec/flood/master/flood.svg +sources: +- https://github.com/jesec/flood +- https://hub.docker.com/r/jesec/flood +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/flood/README.md b/charts/incubator/flood/README.md new file mode 100644 index 00000000000..3bdb1a5f0ba --- /dev/null +++ b/charts/incubator/flood/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Flood is a monitoring service for various torrent clients + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `flood` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `flood` 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/charts/incubator/flood/SCALE/item.yaml b/charts/incubator/flood/SCALE/item.yaml new file mode 100644 index 00000000000..43b7a9a5fbf --- /dev/null +++ b/charts/incubator/flood/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/jesec/flood/master/flood.svg diff --git a/charts/incubator/flood/SCALE/ix_values.yaml b/charts/incubator/flood/SCALE/ix_values.yaml new file mode 100644 index 00000000000..148bf9a72a2 --- /dev/null +++ b/charts/incubator/flood/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jesec/flood + pullPolicy: IfNotPresent + tag: 4.6.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/charts/incubator/flood/SCALE/questions.yaml b/charts/incubator/flood/SCALE/questions.yaml new file mode 100644 index 00000000000..9c444e11b21 --- /dev/null +++ b/charts/incubator/flood/SCALE/questions.yaml @@ -0,0 +1,674 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: FLOOD_OPTION_RUNDIR + label: "FLOOD_OPTION_RUNDIR" + description: "Where to store Flood's runtime files (eg. database)" + schema: + type: string + default: "/data" + + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3708 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/flood/ci/ct-values.yaml b/charts/incubator/flood/ci/ct-values.yaml new file mode 100644 index 00000000000..f874292fadf --- /dev/null +++ b/charts/incubator/flood/ci/ct-values.yaml @@ -0,0 +1,5 @@ +persistence: + data: + enabled: true + accessMode: ReadWriteOnce + size: 1Gi diff --git a/charts/incubator/flood/templates/common.yaml b/charts/incubator/flood/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/flood/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/flood/values.yaml b/charts/incubator/flood/values.yaml new file mode 100644 index 00000000000..5e50035d8fb --- /dev/null +++ b/charts/incubator/flood/values.yaml @@ -0,0 +1,36 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: jesec/flood + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 4.6.0 + +# -- environment variables. See more environment variables in the [flood documentation] (https://github.com/jesec/flood/blob/v4.6.0/config.ts) +# Note: The environmental variables are not case sensitive (e.g. FLOOD_OPTION_port=FLOOD_OPTION_PORT). +# @default -- See below +env: + # -- Where to store Flood's runtime files (eg. database) + FLOOD_OPTION_RUNDIR: /data + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 3000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/charts/incubator/focalboard/.helmignore b/charts/incubator/focalboard/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/focalboard/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/focalboard/CONFIG.md b/charts/incubator/focalboard/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/focalboard/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/focalboard/Chart.yaml b/charts/incubator/focalboard/Chart.yaml new file mode 100644 index 00000000000..c661647d76a --- /dev/null +++ b/charts/incubator/focalboard/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. +name: focalboard +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- focalboard +- kanban +- project management +home: https://github.com/truechartsapps/tree/master/charts/incubator/focalboard +icon: https://github.com/mattermost/focalboard/raw/main/webapp/static/favicon.svg +sources: +- https://www.focalboard.com/ +- https://github.com/mattermost/focalboard +- https://github.com/FlipEnergy/container-images/blob/main/focalboard +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/focalboard/README.md b/charts/incubator/focalboard/README.md new file mode 100644 index 00000000000..6b44bfa9a3a --- /dev/null +++ b/charts/incubator/focalboard/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `focalboard` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `focalboard` 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/charts/incubator/focalboard/SCALE/item.yaml b/charts/incubator/focalboard/SCALE/item.yaml new file mode 100644 index 00000000000..722ad20cdfc --- /dev/null +++ b/charts/incubator/focalboard/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/mattermost/focalboard/raw/main/webapp/static/favicon.svg diff --git a/charts/incubator/focalboard/SCALE/ix_values.yaml b/charts/incubator/focalboard/SCALE/ix_values.yaml new file mode 100644 index 00000000000..312c315d80a --- /dev/null +++ b/charts/incubator/focalboard/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: flipenergy/focalboard + pullPolicy: IfNotPresent + tag: 0.6.7 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/focalboard/SCALE/questions.yaml b/charts/incubator/focalboard/SCALE/questions.yaml new file mode 100644 index 00000000000..dc98383102a --- /dev/null +++ b/charts/incubator/focalboard/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3709 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/focalboard/templates/common.yaml b/charts/incubator/focalboard/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/focalboard/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/focalboard/values.yaml b/charts/incubator/focalboard/values.yaml new file mode 100644 index 00000000000..2c239b89fa0 --- /dev/null +++ b/charts/incubator/focalboard/values.yaml @@ -0,0 +1,36 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: flipenergy/focalboard + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: 0.6.7 + +# -- environment variables. See more environment variables in the [image entrypoint script](https://github.com/FlipEnergy/container-images/blob/main/focalboard/entrypoint.sh) +# @default -- See below +env: {} + # SERVER_ROOT: + # DBTYPE: + # DBCONFIG: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/charts/incubator/freshrss/CONFIG.md b/charts/incubator/freshrss/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/freshrss/CONFIG.md +++ b/charts/incubator/freshrss/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/freshrss/README.md b/charts/incubator/freshrss/README.md index f74143bfe11..f338aea6072 100644 --- a/charts/incubator/freshrss/README.md +++ b/charts/incubator/freshrss/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/gaps/CONFIG.md b/charts/incubator/gaps/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/gaps/CONFIG.md +++ b/charts/incubator/gaps/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/gaps/README.md b/charts/incubator/gaps/README.md index b38d707d483..fa6815741c6 100644 --- a/charts/incubator/gaps/README.md +++ b/charts/incubator/gaps/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/gonic/.helmignore b/charts/incubator/gonic/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/gonic/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/gonic/CONFIG.md b/charts/incubator/gonic/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/gonic/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/gonic/Chart.yaml b/charts/incubator/gonic/Chart.yaml new file mode 100644 index 00000000000..67f5e742b87 --- /dev/null +++ b/charts/incubator/gonic/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Music streaming server / subsonic server API implementation +name: gonic +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- music +- subsonic +home: https://github.com/truechartsapps/tree/master/charts/incubator/gonic +icon: https://raw.githubusercontent.com/sentriz/gonic/master/.github/logo.png +sources: +- https://github.com/sentriz/gonic +- https://hub.docker.com/r/sentriz/gonic +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/gonic/README.md b/charts/incubator/gonic/README.md new file mode 100644 index 00000000000..fe9cf71dfab --- /dev/null +++ b/charts/incubator/gonic/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Music streaming server / subsonic server API implementation + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `gonic` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gonic` 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/charts/incubator/gonic/SCALE/item.yaml b/charts/incubator/gonic/SCALE/item.yaml new file mode 100644 index 00000000000..9b32a188f24 --- /dev/null +++ b/charts/incubator/gonic/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/sentriz/gonic/master/.github/logo.png diff --git a/charts/incubator/gonic/SCALE/ix_values.yaml b/charts/incubator/gonic/SCALE/ix_values.yaml new file mode 100644 index 00000000000..0573c45fa47 --- /dev/null +++ b/charts/incubator/gonic/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: sentriz/gonic + pullPolicy: IfNotPresent + tag: v0.13.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/gonic/SCALE/questions.yaml b/charts/incubator/gonic/SCALE/questions.yaml new file mode 100644 index 00000000000..5a1fe100d31 --- /dev/null +++ b/charts/incubator/gonic/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 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: 3710 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/gonic/ci/ct-values.yaml b/charts/incubator/gonic/ci/ct-values.yaml new file mode 100644 index 00000000000..6d8d2f4a5c9 --- /dev/null +++ b/charts/incubator/gonic/ci/ct-values.yaml @@ -0,0 +1,21 @@ +env: + GONIC_MUSIC_PATH: "/music" + GONIC_PODCAST_PATH: "/podcasts" + GONIC_CACHE_PATH: "/cache" +persistence: + data: + enabled: true + type: emptyDir + mountPath: /data + podcasts: + enabled: true + type: emptyDir + mountPath: /podcasts + cache: + enabled: true + type: emptyDir + mountPath: /cache + music: + enabled: true + type: emptyDir + mountPath: /music diff --git a/charts/incubator/gonic/templates/common.yaml b/charts/incubator/gonic/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/gonic/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/gonic/values.yaml b/charts/incubator/gonic/values.yaml new file mode 100644 index 00000000000..dfedb91dfd0 --- /dev/null +++ b/charts/incubator/gonic/values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: sentriz/gonic + # -- image pull policy + pullPolicy: IfNotPresent + # -- image tag + tag: v0.13.1 + +# -- environment variables. See more environment variables in the [gonic documentation](https://github.com/sentriz/gonic#configuration-options) +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # GONIC_MUSIC_PATH: + # GONIC_PODCAST_PATH: + # GONIC_CACHE_PATH: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false + podcasts: + enabled: false + cache: + enabled: false + music: + enabled: false diff --git a/charts/incubator/grocy/CONFIG.md b/charts/incubator/grocy/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/grocy/CONFIG.md +++ b/charts/incubator/grocy/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/grocy/README.md b/charts/incubator/grocy/README.md index 6ac696bfe77..ee93150a355 100644 --- a/charts/incubator/grocy/README.md +++ b/charts/incubator/grocy/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/haste-server/CONFIG.md b/charts/incubator/haste-server/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/haste-server/CONFIG.md +++ b/charts/incubator/haste-server/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/haste-server/README.md b/charts/incubator/haste-server/README.md index 639245c20fa..0270819f997 100644 --- a/charts/incubator/haste-server/README.md +++ b/charts/incubator/haste-server/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) Simple text sharing @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/healthchecks/.helmignore b/charts/incubator/healthchecks/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/healthchecks/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/healthchecks/CONFIG.md b/charts/incubator/healthchecks/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/healthchecks/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/healthchecks/Chart.yaml b/charts/incubator/healthchecks/Chart.yaml new file mode 100644 index 00000000000..46ebc2a9abc --- /dev/null +++ b/charts/incubator/healthchecks/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: 'auto' +description: Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. +name: healthchecks +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: + - cron + - monitoring + - alert +home: https://github.com/truechartsapps/tree/master/charts/incubator/healthchecks +icon: https://raw.githubusercontent.com/healthchecks/healthchecks/master/stuff/logo.svg?raw=true +sources: + - https://github.com/healthchecks/healthchecks + - https://hub.docker.com/r/linuxserver/healthchecks +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/healthchecks/README.md b/charts/incubator/healthchecks/README.md new file mode 100644 index 00000000000..a0dcddc2f79 --- /dev/null +++ b/charts/incubator/healthchecks/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages ("pings") from your cron jobs and scheduled tasks ("checks"). When a ping does not arrive on time, Healthchecks sends out alerts. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `healthchecks` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `healthchecks` 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/charts/incubator/healthchecks/SCALE/item.yaml b/charts/incubator/healthchecks/SCALE/item.yaml new file mode 100644 index 00000000000..cb9131fa092 --- /dev/null +++ b/charts/incubator/healthchecks/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/healthchecks/healthchecks/master/stuff/logo.svg?raw=true diff --git a/charts/incubator/healthchecks/SCALE/ix_values.yaml b/charts/incubator/healthchecks/SCALE/ix_values.yaml new file mode 100644 index 00000000000..18bc3927bf4 --- /dev/null +++ b/charts/incubator/healthchecks/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/healthchecks + pullPolicy: IfNotPresent + tag: version-v1.20.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/charts/incubator/healthchecks/SCALE/questions.yaml b/charts/incubator/healthchecks/SCALE/questions.yaml new file mode 100644 index 00000000000..f4d0093f115 --- /dev/null +++ b/charts/incubator/healthchecks/SCALE/questions.yaml @@ -0,0 +1,701 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: REGENERATE_SETTINGS + label: "REGENERATE_SETTINGS" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: SITE_ROOT + label: "SITE_ROOT" + description: "The site's top-level URL and the port it listens to" + schema: + type: string + required: true + default: "" + - variable: SITE_NAME + label: "SITE_NAME" + description: "The site's name" + schema: + type: string + required: true + default: "" + - variable: SUPERUSER_EMAIL + label: "SUPERUSER_EMAIL" + description: "Superuser email" + schema: + type: string + required: true + default: "" + - variable: SUPERUSER_PASSWORD + label: "SUPERUSER_PASSWORD" + description: "Superuser password" + schema: + type: string + required: true + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3711 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/healthchecks/templates/common.yaml b/charts/incubator/healthchecks/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/healthchecks/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/healthchecks/values.yaml b/charts/incubator/healthchecks/values.yaml new file mode 100644 index 00000000000..85aeab7278e --- /dev/null +++ b/charts/incubator/healthchecks/values.yaml @@ -0,0 +1,41 @@ +# Default values for healthchecks. + +image: + # -- image repository + repository: linuxserver/healthchecks + # -- image tag + tag: version-v1.20.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + +# -- environment variables. See [image docs](https://github.com/linuxserver/docker-healthchecks#parameters) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set to true to always override the local_settings.py file with values from environment variables. Do not set to True if you have made manual modifications to this file. + REGENERATE_SETTINGS: "True" + # -- The site's top-level URL and the port it listens to + SITE_ROOT: https://healthchecks.domain + # -- The site's name (e.g., "Example Corp HealthChecks") + SITE_NAME: 8265 + # -- Superuser email + SUPERUSER_EMAIL: email@healthchecks.io + # -- Superuser password + SUPERUSER_PASSWORD: myVeryStrongPassword + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: +# -- Volume used for configuration + config: + enabled: false + mountpath: /config diff --git a/charts/incubator/heimdall/CONFIG.md b/charts/incubator/heimdall/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/heimdall/CONFIG.md +++ b/charts/incubator/heimdall/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/heimdall/README.md b/charts/incubator/heimdall/README.md index 09eddbba410..eae1b4067d3 100644 --- a/charts/incubator/heimdall/README.md +++ b/charts/incubator/heimdall/README.md @@ -1,12 +1,14 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) An Application dashboard and launcher TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. **This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + ## Requirements Kubernetes: `>=1.16.0-0` @@ -15,7 +17,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -44,6 +46,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/hyperion-ng/.helmignore b/charts/incubator/hyperion-ng/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/hyperion-ng/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/hyperion-ng/CONFIG.md b/charts/incubator/hyperion-ng/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/hyperion-ng/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/hyperion-ng/Chart.yaml b/charts/incubator/hyperion-ng/Chart.yaml new file mode 100644 index 00000000000..b1e128ad4b1 --- /dev/null +++ b/charts/incubator/hyperion-ng/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Hyperion is an opensource Bias or Ambient Lighting implementation +name: hyperion-ng +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- hyperion-ng +- hyperion +home: https://github.com/truechartsapps/tree/master/charts/incubator/hyperion-ng +icon: https://avatars.githubusercontent.com/u/17778452?s=200&v=4 +sources: +- https://github.com/hyperion-project/hyperion.ng +- https://hub.docker.com/r/sirfragalot/hyperion.ng +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/hyperion-ng/README.md b/charts/incubator/hyperion-ng/README.md new file mode 100644 index 00000000000..c24242e8ed6 --- /dev/null +++ b/charts/incubator/hyperion-ng/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Hyperion is an opensource Bias or Ambient Lighting implementation + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `hyperion-ng` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `hyperion-ng` 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/charts/incubator/hyperion-ng/SCALE/item.yaml b/charts/incubator/hyperion-ng/SCALE/item.yaml new file mode 100644 index 00000000000..9be5392dbe0 --- /dev/null +++ b/charts/incubator/hyperion-ng/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars.githubusercontent.com/u/17778452?s=200PLACEHOLDERICONv=4 diff --git a/charts/incubator/hyperion-ng/SCALE/ix_values.yaml b/charts/incubator/hyperion-ng/SCALE/ix_values.yaml new file mode 100644 index 00000000000..5f7832aeb94 --- /dev/null +++ b/charts/incubator/hyperion-ng/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: sirfragalot/hyperion.ng + pullPolicy: IfNotPresent + tag: 2.0.0-alpha.9-x86_64 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/hyperion-ng/SCALE/questions.yaml b/charts/incubator/hyperion-ng/SCALE/questions.yaml new file mode 100644 index 00000000000..8de17874ff7 --- /dev/null +++ b/charts/incubator/hyperion-ng/SCALE/questions.yaml @@ -0,0 +1,973 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8090 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8090 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3712 + required: true + - variable: jsonservice + label: "jsonservice Service" + description: "The jsonservice service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: jsonservice + label: "jsonservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 19444 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19444 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3804 + required: true + - variable: protobufservice + label: "protobufservice Service" + description: "The protobufservice service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: protobufservice + label: "protobufservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 19445 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19445 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3805 + required: true + - variable: boblightservice + label: "boblightservice Service" + description: "The boblightservice service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: boblightservice + label: "boblightservice Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 19333 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 19333 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3806 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.hyperion" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/hyperion-ng/templates/common.yaml b/charts/incubator/hyperion-ng/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/hyperion-ng/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/hyperion-ng/values.yaml b/charts/incubator/hyperion-ng/values.yaml new file mode 100644 index 00000000000..c4b7a2ccb5b --- /dev/null +++ b/charts/incubator/hyperion-ng/values.yaml @@ -0,0 +1,53 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: sirfragalot/hyperion.ng + # -- image tag + tag: 2.0.0-alpha.9-x86_64 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-airsonic#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8090 + jsonservice: + enabled: true + port: 19444 + protocol: TCP + targetPort: 19444 + protobufservice: + enabled: true + port: 19445 + protocol: TCP + targetPort: 19445 + boblightservice: + enabled: true + port: 19333 + protocol: TCP + targetPort: 19333 + + +persistence: + config: + enabled: false + mountPath: /root/.hyperion diff --git a/charts/incubator/komga/.helmignore b/charts/incubator/komga/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/komga/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/komga/CONFIG.md b/charts/incubator/komga/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/komga/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/komga/Chart.yaml b/charts/incubator/komga/Chart.yaml new file mode 100644 index 00000000000..d52585c941a --- /dev/null +++ b/charts/incubator/komga/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: A comics/mangas server to serve/stream pages via API +name: komga +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- komga +- comics +- mangas +- server +home: https://github.com/truechartsapps/tree/master/charts/incubator/komga +icon: https://komga.org/assets/media/logo.svg +sources: +- https://komga.org/ +- https://github.com/gotson/komga +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/komga/README.md b/charts/incubator/komga/README.md new file mode 100644 index 00000000000..aa4c89a8b50 --- /dev/null +++ b/charts/incubator/komga/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A comics/mangas server to serve/stream pages via API + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `komga` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `komga` 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/charts/incubator/komga/SCALE/item.yaml b/charts/incubator/komga/SCALE/item.yaml new file mode 100644 index 00000000000..b65c24e6c53 --- /dev/null +++ b/charts/incubator/komga/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://komga.org/assets/media/logo.svg diff --git a/charts/incubator/komga/SCALE/ix_values.yaml b/charts/incubator/komga/SCALE/ix_values.yaml new file mode 100644 index 00000000000..63f2391b5a5 --- /dev/null +++ b/charts/incubator/komga/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: gotson/komga + pullPolicy: IfNotPresent + tag: 0.99.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/komga/SCALE/questions.yaml b/charts/incubator/komga/SCALE/questions.yaml new file mode 100644 index 00000000000..9f523d2d823 --- /dev/null +++ b/charts/incubator/komga/SCALE/questions.yaml @@ -0,0 +1,777 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3713 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/komga/templates/common.yaml b/charts/incubator/komga/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/komga/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/komga/values.yaml b/charts/incubator/komga/values.yaml new file mode 100644 index 00000000000..b64b1ef0a5c --- /dev/null +++ b/charts/incubator/komga/values.yaml @@ -0,0 +1,37 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: gotson/komga + # -- image tag + tag: 0.99.4 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [komga documentation](https://komga.org/installation/configuration.html#optional-configuration). +# @default -- See below +env: {} + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + data: + enabled: false + mountPath: /data diff --git a/charts/incubator/lazylibrarian/CONFIG.md b/charts/incubator/lazylibrarian/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/lazylibrarian/CONFIG.md +++ b/charts/incubator/lazylibrarian/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/lazylibrarian/README.md b/charts/incubator/lazylibrarian/README.md index 364a16a27da..89711e79591 100644 --- a/charts/incubator/lazylibrarian/README.md +++ b/charts/incubator/lazylibrarian/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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... @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/librespeed/.helmignore b/charts/incubator/librespeed/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/librespeed/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/librespeed/CONFIG.md b/charts/incubator/librespeed/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/librespeed/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/librespeed/Chart.yaml b/charts/incubator/librespeed/Chart.yaml new file mode 100644 index 00000000000..afa5a93c164 --- /dev/null +++ b/charts/incubator/librespeed/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: 'auto' +description: Librespeed is a HTML5 webpage to test upload and download speeds +name: librespeed +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- librespeed +- speedtest +home: https://github.com/truechartsapps/tree/master/charts/incubator/librespeed +icon: https://github.com/librespeed/speedtest/blob/master/.logo/icon_huge.png?raw=true +sources: +- https://github.com/librespeed/speedtest +- https://hub.docker.com/r/linuxserver/librespeed +- https://github.com/truechartsapps/tree/master/charts/librespeed +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/librespeed/README.md b/charts/incubator/librespeed/README.md new file mode 100644 index 00000000000..04be085d9ba --- /dev/null +++ b/charts/incubator/librespeed/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Librespeed is a HTML5 webpage to test upload and download speeds + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `librespeed` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `librespeed` 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/charts/incubator/librespeed/SCALE/item.yaml b/charts/incubator/librespeed/SCALE/item.yaml new file mode 100644 index 00000000000..7e89d2309f0 --- /dev/null +++ b/charts/incubator/librespeed/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/librespeed/speedtest/blob/master/.logo/icon_huge.png?raw=true diff --git a/charts/incubator/librespeed/SCALE/ix_values.yaml b/charts/incubator/librespeed/SCALE/ix_values.yaml new file mode 100644 index 00000000000..1dfd85ef4db --- /dev/null +++ b/charts/incubator/librespeed/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/librespeed + pullPolicy: IfNotPresent + tag: version-5.2.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/librespeed/SCALE/questions.yaml b/charts/incubator/librespeed/SCALE/questions.yaml new file mode 100644 index 00000000000..0a0c1803550 --- /dev/null +++ b/charts/incubator/librespeed/SCALE/questions.yaml @@ -0,0 +1,679 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3714 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/librespeed/ci/ct-values.yaml b/charts/incubator/librespeed/ci/ct-values.yaml new file mode 100644 index 00000000000..a4c249088b9 --- /dev/null +++ b/charts/incubator/librespeed/ci/ct-values.yaml @@ -0,0 +1,2 @@ +env: + PASSWORD: "ChangeMe" diff --git a/charts/incubator/librespeed/templates/common.yaml b/charts/incubator/librespeed/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/librespeed/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/librespeed/values.yaml b/charts/incubator/librespeed/values.yaml new file mode 100644 index 00000000000..e9605796648 --- /dev/null +++ b/charts/incubator/librespeed/values.yaml @@ -0,0 +1,46 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: linuxserver/librespeed + # -- image tag + tag: version-5.2.4 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://hub.docker.com/r/linuxserver/librespeed) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # PASSWORD: + # CUSTOM_RESULTS: + # DB_TYPE: + # DB_NAME: + # DB_HOSTNAME: + # DB_USERNAME: + # DB_PASSWORD: + # DB_PORT: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/charts/incubator/lychee/CONFIG.md b/charts/incubator/lychee/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/lychee/CONFIG.md +++ b/charts/incubator/lychee/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/lychee/README.md b/charts/incubator/lychee/README.md index aa434e835bb..fd4d1fdf48c 100644 --- a/charts/incubator/lychee/README.md +++ b/charts/incubator/lychee/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/mealie/CONFIG.md b/charts/incubator/mealie/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/mealie/CONFIG.md +++ b/charts/incubator/mealie/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/mealie/README.md b/charts/incubator/mealie/README.md index e7c5ffbf7a7..b16bee911e1 100644 --- a/charts/incubator/mealie/README.md +++ b/charts/incubator/mealie/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/mosquitto/CONFIG.md b/charts/incubator/mosquitto/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/mosquitto/CONFIG.md +++ b/charts/incubator/mosquitto/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/mosquitto/README.md b/charts/incubator/mosquitto/README.md index 9d71dbea3f9..80480aa0c23 100644 --- a/charts/incubator/mosquitto/README.md +++ b/charts/incubator/mosquitto/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.3](https://img.shields.io/badge/Version-1.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Eclipse Mosquitto - An open source MQTT broker @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/mylar/.helmignore b/charts/incubator/mylar/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/mylar/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/mylar/CONFIG.md b/charts/incubator/mylar/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/mylar/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/mylar/Chart.yaml b/charts/incubator/mylar/Chart.yaml new file mode 100644 index 00000000000..a07e88d8754 --- /dev/null +++ b/charts/incubator/mylar/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. +name: mylar +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- mylar +home: https://github.com/truechartsapps/tree/master/charts/incubator/mylar +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mylar-icon.png +sources: +- https://github.com/mylar3/mylar3 +- https://github.com/linuxserver/docker-mylar3 +- https://github.com/truechartsapps/tree/master/charts/mylar +maintainers: +- name: truecharts + url: https://patricol.co/ +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/mylar/README.md b/charts/incubator/mylar/README.md new file mode 100644 index 00000000000..8e186b5abb4 --- /dev/null +++ b/charts/incubator/mylar/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Mylar is the automated Comic Book downloader (cbr/cbz) for use with various download clients. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `mylar` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `mylar` 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/charts/incubator/mylar/SCALE/item.yaml b/charts/incubator/mylar/SCALE/item.yaml new file mode 100644 index 00000000000..327d5a6379c --- /dev/null +++ b/charts/incubator/mylar/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/mylar-icon.png diff --git a/charts/incubator/mylar/SCALE/ix_values.yaml b/charts/incubator/mylar/SCALE/ix_values.yaml new file mode 100644 index 00000000000..75ed20a869d --- /dev/null +++ b/charts/incubator/mylar/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/mylar3 + pullPolicy: IfNotPresent + tag: version-v0.5.3 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/mylar/SCALE/questions.yaml b/charts/incubator/mylar/SCALE/questions.yaml new file mode 100644 index 00000000000..9523229a271 --- /dev/null +++ b/charts/incubator/mylar/SCALE/questions.yaml @@ -0,0 +1,679 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8090 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8090 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3716 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/mylar/templates/common.yaml b/charts/incubator/mylar/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/mylar/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/mylar/values.yaml b/charts/incubator/mylar/values.yaml new file mode 100644 index 00000000000..1d6b9e145b6 --- /dev/null +++ b/charts/incubator/mylar/values.yaml @@ -0,0 +1,45 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/mylar3 + # -- image tag + tag: version-v0.5.3 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-mylar3#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1000" + # -- Specify the group ID the application will run as + PGID: "1000" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8090 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + comics: + enabled: false + mountPath: /comics + downloads: + enabled: false + mountPath: /downloads diff --git a/charts/incubator/navidrome/CONFIG.md b/charts/incubator/navidrome/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/navidrome/CONFIG.md +++ b/charts/incubator/navidrome/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/navidrome/README.md b/charts/incubator/navidrome/README.md index 55b2cc48984..9177000c7c5 100644 --- a/charts/incubator/navidrome/README.md +++ b/charts/incubator/navidrome/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/node-red/CONFIG.md b/charts/incubator/node-red/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/node-red/CONFIG.md +++ b/charts/incubator/node-red/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/node-red/README.md b/charts/incubator/node-red/README.md index 7e2fe870bae..485e806b53a 100644 --- a/charts/incubator/node-red/README.md +++ b/charts/incubator/node-red/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/nullserv/.helmignore b/charts/incubator/nullserv/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/nullserv/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/nullserv/CONFIG.md b/charts/incubator/nullserv/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/nullserv/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/nullserv/Chart.yaml b/charts/incubator/nullserv/Chart.yaml new file mode 100644 index 00000000000..536657dfcb2 --- /dev/null +++ b/charts/incubator/nullserv/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: 'auto' +description: A simple null file http and https server +name: nullserv +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- nullserv +home: https://github.com/truechartsapps/tree/master/charts/incubator/nullserv +icon: https://miro.medium.com/max/800/1*UL9RWkTUtJlyHW7kGm20hQ.png +sources: +- https://github.com/bmrzycki/nullserv +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/nullserv/README.md b/charts/incubator/nullserv/README.md new file mode 100644 index 00000000000..7193be42493 --- /dev/null +++ b/charts/incubator/nullserv/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A simple null file http and https server + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `nullserv` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nullserv` 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/charts/incubator/nullserv/SCALE/item.yaml b/charts/incubator/nullserv/SCALE/item.yaml new file mode 100644 index 00000000000..74aee3f6ae6 --- /dev/null +++ b/charts/incubator/nullserv/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://miro.medium.com/max/800/1*UL9RWkTUtJlyHW7kGm20hQ.png diff --git a/charts/incubator/nullserv/SCALE/ix_values.yaml b/charts/incubator/nullserv/SCALE/ix_values.yaml new file mode 100644 index 00000000000..e1fd84e3472 --- /dev/null +++ b/charts/incubator/nullserv/SCALE/ix_values.yaml @@ -0,0 +1,26 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/nullserv + pullPolicy: IfNotPresent + tag: v1.3.0 + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +probes: + readiness: + enabled: true + custom: true + spec: + httpGet: + path: /welcome.txt + port: main + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/nullserv/SCALE/questions.yaml b/charts/incubator/nullserv/SCALE/questions.yaml new file mode 100644 index 00000000000..d507d94c13b --- /dev/null +++ b/charts/incubator/nullserv/SCALE/questions.yaml @@ -0,0 +1,771 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3717 + required: true + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: https + label: "https Service" + description: "The https service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: https + label: "https Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 443 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 443 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3807 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/nullserv/templates/common.yaml b/charts/incubator/nullserv/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/nullserv/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/nullserv/values.yaml b/charts/incubator/nullserv/values.yaml new file mode 100644 index 00000000000..23b208d565a --- /dev/null +++ b/charts/incubator/nullserv/values.yaml @@ -0,0 +1,49 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +controller: + # -- Number of pods to load balance between + replicas: 2 + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/nullserv + # -- image tag + tag: v1.3.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [nullserv documentation](https://github.com/bmrzycki/nullserv/blob/master/README.md). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + primary: true + type: NodePort + ports: + main: + port: 80 + https: + enabled: true + port: 443 + + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +probes: + readiness: + enabled: true + custom: true + spec: + httpGet: + path: /welcome.txt + port: main diff --git a/charts/incubator/nzbget/CONFIG.md b/charts/incubator/nzbget/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/nzbget/CONFIG.md +++ b/charts/incubator/nzbget/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/nzbget/README.md b/charts/incubator/nzbget/README.md index 702d0038550..81cee446ded 100644 --- a/charts/incubator/nzbget/README.md +++ b/charts/incubator/nzbget/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/octoprint/.helmignore b/charts/incubator/octoprint/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/octoprint/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/octoprint/CONFIG.md b/charts/incubator/octoprint/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/octoprint/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/octoprint/Chart.yaml b/charts/incubator/octoprint/Chart.yaml new file mode 100644 index 00000000000..5e437a675db --- /dev/null +++ b/charts/incubator/octoprint/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: 'auto' +description: OctoPrint is the snappy web interface for your 3D printer +name: octoprint +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- octoprint +- 3d +- printer +home: https://github.com/truechartsapps/tree/master/charts/incubator/octoprint +icon: https://avatars3.githubusercontent.com/u/5982294?s=400&v=4 +sources: +- https://github.com/OctoPrint/OctoPrint +- https://hub.docker.com/r/octoprint/octoprint +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/octoprint/README.md b/charts/incubator/octoprint/README.md new file mode 100644 index 00000000000..b9566022e22 --- /dev/null +++ b/charts/incubator/octoprint/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +OctoPrint is the snappy web interface for your 3D printer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `octoprint` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `octoprint` 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/charts/incubator/octoprint/SCALE/item.yaml b/charts/incubator/octoprint/SCALE/item.yaml new file mode 100644 index 00000000000..1b8aaf25a23 --- /dev/null +++ b/charts/incubator/octoprint/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars3.githubusercontent.com/u/5982294?s=400PLACEHOLDERICONv=4 diff --git a/charts/incubator/octoprint/SCALE/ix_values.yaml b/charts/incubator/octoprint/SCALE/ix_values.yaml new file mode 100644 index 00000000000..cbc8146b9d0 --- /dev/null +++ b/charts/incubator/octoprint/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: octoprint/octoprint + pullPolicy: IfNotPresent + tag: 1.6.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/octoprint/SCALE/questions.yaml b/charts/incubator/octoprint/SCALE/questions.yaml new file mode 100644 index 00000000000..c2c0bb95f10 --- /dev/null +++ b/charts/incubator/octoprint/SCALE/questions.yaml @@ -0,0 +1,725 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: ENABLE_MJPG_STREAMER + label: "ENABLE_MJPG_STREAMER" + description: "Enable this to ensure camera streaming is enabled you add a video device" + schema: + type: string + default: "false" + - variable: MJPG_STREAMER_INPUT + label: "MJPG_STREAMER_INPUT" + description: "MJPG Streamer input parameters" + schema: + type: string + default: "" + - variable: CAMERA_DEV + label: "CAMERA_DEV" + description: "MJPG Streamer camera device" + schema: + type: string + default: "" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3718 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/octoprint" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/octoprint/templates/common.yaml b/charts/incubator/octoprint/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/octoprint/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/octoprint/values.yaml b/charts/incubator/octoprint/values.yaml new file mode 100644 index 00000000000..7a64a63ac05 --- /dev/null +++ b/charts/incubator/octoprint/values.yaml @@ -0,0 +1,53 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: octoprint/octoprint + # -- image tag + tag: 1.6.1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Enable MJPG Streamer + # Enable this to ensure camera streaming is enabled you add a video device. + ENABLE_MJPG_STREAMER: "true" + # -- MJPG Streamer input parameters + MJPG_STREAMER_INPUT: # "-y -n -r 640x480" + # -- MJPG Streamer camera device + CAMERA_DEV: # /dev/video0 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 80 + + +securityContext: + # -- (bool) Privileged securityContext may be required if USB devics are accessed directly through the host machine + privileged: true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false + mountPath: /octoprint + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + printer: + enabled: false + type: hostPath + hostPath: /dev/ttyACM0 diff --git a/charts/incubator/omada-controller/.helmignore b/charts/incubator/omada-controller/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/omada-controller/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/omada-controller/CONFIG.md b/charts/incubator/omada-controller/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/omada-controller/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/omada-controller/Chart.yaml b/charts/incubator/omada-controller/Chart.yaml new file mode 100644 index 00000000000..8890a562f7a --- /dev/null +++ b/charts/incubator/omada-controller/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. +name: omada-controller +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- omada-controller +home: https://github.com/truechartsapps/tree/master/charts/incubator/omada-controller +icon: https://www.tp-link.com/assets/images/icon/logo-white.svg +sources: +- https://github.com/mbentley/docker-omada-controller +- https://github.com/truechartsapps/tree/master/charts/omada-controller +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/omada-controller/README.md b/charts/incubator/omada-controller/README.md new file mode 100644 index 00000000000..63ae5b683af --- /dev/null +++ b/charts/incubator/omada-controller/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Omada enables the network administrators to monitor and manage all the Omada products in the network with a centralized management platform. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `omada-controller` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `omada-controller` 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/charts/incubator/omada-controller/SCALE/item.yaml b/charts/incubator/omada-controller/SCALE/item.yaml new file mode 100644 index 00000000000..9c3657267e9 --- /dev/null +++ b/charts/incubator/omada-controller/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://www.tp-link.com/assets/images/icon/logo-white.svg diff --git a/charts/incubator/omada-controller/SCALE/ix_values.yaml b/charts/incubator/omada-controller/SCALE/ix_values.yaml new file mode 100644 index 00000000000..38cb36c0ac0 --- /dev/null +++ b/charts/incubator/omada-controller/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: mbentley/omada-controller + pullPolicy: IfNotPresent + tag: '4.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/charts/incubator/omada-controller/SCALE/questions.yaml b/charts/incubator/omada-controller/SCALE/questions.yaml new file mode 100644 index 00000000000..33132c7159f --- /dev/null +++ b/charts/incubator/omada-controller/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8043 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8043 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3719 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App data Storage" + description: "Stores the Application data." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/omada-controller/templates/common.yaml b/charts/incubator/omada-controller/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/omada-controller/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/omada-controller/values.yaml b/charts/incubator/omada-controller/values.yaml new file mode 100644 index 00000000000..6d031e0a19a --- /dev/null +++ b/charts/incubator/omada-controller/values.yaml @@ -0,0 +1,35 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: mbentley/omada-controller + # -- image tag + tag: '4.3' + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://github.com/mbentley/docker-omada-controller) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8043 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + data: + enabled: false diff --git a/charts/incubator/organizr/CONFIG.md b/charts/incubator/organizr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/organizr/CONFIG.md +++ b/charts/incubator/organizr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/organizr/README.md b/charts/incubator/organizr/README.md index c2cae416d20..47eb0f9284f 100644 --- a/charts/incubator/organizr/README.md +++ b/charts/incubator/organizr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) +![Version: 6.2.10](https://img.shields.io/badge/Version-6.2.10-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/overseerr/.helmignore b/charts/incubator/overseerr/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/overseerr/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/overseerr/CONFIG.md b/charts/incubator/overseerr/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/overseerr/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/overseerr/Chart.yaml b/charts/incubator/overseerr/Chart.yaml new file mode 100644 index 00000000000..567b6ca395a --- /dev/null +++ b/charts/incubator/overseerr/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! +name: overseerr +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- overseerr +- plex +- sonarr +- radarr +home: https://github.com/truechartsapps/tree/master/charts/incubator/overseerr +icon: https://i.imgur.com/TMoEG7g.png +sources: +- https://github.com/sct/overseerr +- https://hub.docker.com/r/sctx/overseerr +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/overseerr/README.md b/charts/incubator/overseerr/README.md new file mode 100644 index 00000000000..a595f4b706b --- /dev/null +++ b/charts/incubator/overseerr/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Overseerr is a free and open source software application for managing requests for your media library. It integrates with your existing services such as Sonarr, Radarr and Plex! + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `overseerr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `overseerr` 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/charts/incubator/overseerr/SCALE/item.yaml b/charts/incubator/overseerr/SCALE/item.yaml new file mode 100644 index 00000000000..e733bd61cb7 --- /dev/null +++ b/charts/incubator/overseerr/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://i.imgur.com/TMoEG7g.png diff --git a/charts/incubator/overseerr/SCALE/ix_values.yaml b/charts/incubator/overseerr/SCALE/ix_values.yaml new file mode 100644 index 00000000000..ccd9749b2c5 --- /dev/null +++ b/charts/incubator/overseerr/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/sct/overseerr + pullPolicy: IfNotPresent + tag: 1.25.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/overseerr/SCALE/questions.yaml b/charts/incubator/overseerr/SCALE/questions.yaml new file mode 100644 index 00000000000..d13ca37ed9e --- /dev/null +++ b/charts/incubator/overseerr/SCALE/questions.yaml @@ -0,0 +1,673 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: LOG_LEVEL + label: "LOG_LEVEL" + description: "Set the application log level" + schema: + type: string + default: "info" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 5055 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5055 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3720 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/overseerr/templates/common.yaml b/charts/incubator/overseerr/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/overseerr/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/overseerr/values.yaml b/charts/incubator/overseerr/values.yaml new file mode 100644 index 00000000000..6a215efde35 --- /dev/null +++ b/charts/incubator/overseerr/values.yaml @@ -0,0 +1,38 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/sct/overseerr + # -- image tag + tag: 1.25.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Set the application log level + LOG_LEVEL: info + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 5055 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/config diff --git a/charts/incubator/owncast/.helmignore b/charts/incubator/owncast/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/owncast/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/owncast/CONFIG.md b/charts/incubator/owncast/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/owncast/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/owncast/Chart.yaml b/charts/incubator/owncast/Chart.yaml new file mode 100644 index 00000000000..bd7465785f8 --- /dev/null +++ b/charts/incubator/owncast/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: Take control over your live stream video by running it yourself. Streaming + chat out of the box. +name: owncast +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- owncast +- stream +- open source +- chat +home: https://github.com/truechartsapps/tree/master/charts/incubator/owncast +icon: https://owncast.online/images/owncast-logo-1000x1000.png +sources: + - https://owncast.online/ + - https://github.com/owncast/owncast +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/owncast/README.md b/charts/incubator/owncast/README.md new file mode 100644 index 00000000000..faea69c8b7d --- /dev/null +++ b/charts/incubator/owncast/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Take control over your live stream video by running it yourself. Streaming + chat out of the box. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `owncast` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `owncast` 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/charts/incubator/owncast/SCALE/item.yaml b/charts/incubator/owncast/SCALE/item.yaml new file mode 100644 index 00000000000..6f39f8f676f --- /dev/null +++ b/charts/incubator/owncast/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://owncast.online/images/owncast-logo-1000x1000.png diff --git a/charts/incubator/owncast/SCALE/ix_values.yaml b/charts/incubator/owncast/SCALE/ix_values.yaml new file mode 100644 index 00000000000..595f5642ff5 --- /dev/null +++ b/charts/incubator/owncast/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: gabekangas/owncast + pullPolicy: IfNotPresent + tag: 0.0.7 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/owncast/SCALE/questions.yaml b/charts/incubator/owncast/SCALE/questions.yaml new file mode 100644 index 00000000000..57596d37586 --- /dev/null +++ b/charts/incubator/owncast/SCALE/questions.yaml @@ -0,0 +1,765 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3721 + required: true + - variable: rtmp + label: "rtmp Service" + description: "The rtmp service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: rtmp + label: "rtmp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 1935 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 1935 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3808 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/app/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/owncast/templates/common.yaml b/charts/incubator/owncast/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/owncast/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/owncast/values.yaml b/charts/incubator/owncast/values.yaml new file mode 100644 index 00000000000..3711e3d201f --- /dev/null +++ b/charts/incubator/owncast/values.yaml @@ -0,0 +1,41 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: +# -- image repository + repository: gabekangas/owncast + # -- image tag + tag: 0.0.7 + # -- image pull policy + pullPolicy: IfNotPresent + + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + rtmp: + enabled: true + type: NodePort + externalTrafficPolicy: Local + ports: + rtmp: + enabled: true + port: 1935 + protocol: TCP + targetPort: 1935 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /app/data diff --git a/charts/incubator/owncloud-ocis/.helmignore b/charts/incubator/owncloud-ocis/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/owncloud-ocis/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/owncloud-ocis/CONFIG.md b/charts/incubator/owncloud-ocis/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/owncloud-ocis/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/owncloud-ocis/Chart.yaml b/charts/incubator/owncloud-ocis/Chart.yaml new file mode 100644 index 00000000000..251ca6a3d4c --- /dev/null +++ b/charts/incubator/owncloud-ocis/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: 'auto' +description: ownCloud Infinite Scale is a self-hosted file sync and share server. +name: owncloud-ocis +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- owncloud +- ocis +- infinite +- scale +- self-hosted +- sync +- share +- server +home: https://github.com/truechartsapps/tree/master/charts/incubator/owncloud-ocis +icon: https://avatars.githubusercontent.com/u/1645051?s=200&v=4 +sources: +- https://hub.docker.com/r/owncloud/ocis +- https://owncloud.dev/ocis/ +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/owncloud-ocis/README.md b/charts/incubator/owncloud-ocis/README.md new file mode 100644 index 00000000000..096d9aefef9 --- /dev/null +++ b/charts/incubator/owncloud-ocis/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ownCloud Infinite Scale is a self-hosted file sync and share server. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `owncloud-ocis` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `owncloud-ocis` 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/charts/incubator/owncloud-ocis/SCALE/item.yaml b/charts/incubator/owncloud-ocis/SCALE/item.yaml new file mode 100644 index 00000000000..f258a70e2eb --- /dev/null +++ b/charts/incubator/owncloud-ocis/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars.githubusercontent.com/u/1645051?s=200PLACEHOLDERICONv=4 diff --git a/charts/incubator/owncloud-ocis/SCALE/ix_values.yaml b/charts/incubator/owncloud-ocis/SCALE/ix_values.yaml new file mode 100644 index 00000000000..a93d4a12fc9 --- /dev/null +++ b/charts/incubator/owncloud-ocis/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: owncloud/ocis + pullPolicy: IfNotPresent + tag: 1.7.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/charts/incubator/owncloud-ocis/SCALE/questions.yaml b/charts/incubator/owncloud-ocis/SCALE/questions.yaml new file mode 100644 index 00000000000..9700a37f1b9 --- /dev/null +++ b/charts/incubator/owncloud-ocis/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9200 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9200 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3722 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/owncloud-ocis/templates/common.yaml b/charts/incubator/owncloud-ocis/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/owncloud-ocis/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/owncloud-ocis/values.yaml b/charts/incubator/owncloud-ocis/values.yaml new file mode 100644 index 00000000000..fc6e6c7c7bc --- /dev/null +++ b/charts/incubator/owncloud-ocis/values.yaml @@ -0,0 +1,39 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: owncloud/ocis + # -- image tag + tag: 1.7.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [owncloud-ocis documentation](https://owncloud.dev/ocis/configuration/#environment-variables). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9200 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + ocis: + enabled: false + mountPath: /var/tmp/ocis diff --git a/charts/incubator/photoprism/.helmignore b/charts/incubator/photoprism/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/photoprism/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/photoprism/CONFIG.md b/charts/incubator/photoprism/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/photoprism/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/photoprism/Chart.yaml b/charts/incubator/photoprism/Chart.yaml new file mode 100644 index 00000000000..949dd4be6d5 --- /dev/null +++ b/charts/incubator/photoprism/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection +name: photoprism +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- photos +- photoprism +- pictures +- sharing +home: https://github.com/truechartsapps/tree/master/charts/incubator/photoprism +icon: https://demo.photoprism.org/static/img/logo-avatar.svg +sources: +- https://github.com/photoprism/photoprism +- https://hub.docker.com/r/photoprism/photoprism +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/photoprism/README.md b/charts/incubator/photoprism/README.md new file mode 100644 index 00000000000..a14d16d5904 --- /dev/null +++ b/charts/incubator/photoprism/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `photoprism` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `photoprism` 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/charts/incubator/photoprism/SCALE/item.yaml b/charts/incubator/photoprism/SCALE/item.yaml new file mode 100644 index 00000000000..3842fa4485f --- /dev/null +++ b/charts/incubator/photoprism/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://demo.photoprism.org/static/img/logo-avatar.svg diff --git a/charts/incubator/photoprism/SCALE/ix_values.yaml b/charts/incubator/photoprism/SCALE/ix_values.yaml new file mode 100644 index 00000000000..53f7564cc33 --- /dev/null +++ b/charts/incubator/photoprism/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: photoprism/photoprism + pullPolicy: IfNotPresent + tag: "20210523" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/photoprism/SCALE/questions.yaml b/charts/incubator/photoprism/SCALE/questions.yaml new file mode 100644 index 00000000000..6284ca9942f --- /dev/null +++ b/charts/incubator/photoprism/SCALE/questions.yaml @@ -0,0 +1,704 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_STORAGE_PATH + label: "PHOTOPRISM_STORAGE_PATH" + description: "Photoprism storage path" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_ORIGINALS_PATH + label: "PHOTOPRISM_ORIGINALS_PATH" + description: "Photoprism originals path" + schema: + type: string + default: "002" + - variable: PHOTOPRISM_ADMIN_PASSWORD + label: "PHOTOPRISM_ADMIN_PASSWORD" + description: " Initial admin password. **BE SURE TO CHANGE THIS!**" + schema: + type: string + required: true + default: "" + - variable: PHOTOPRISM_PUBLIC + label: "PHOTOPRISM_PUBLIC" + description: "Disable authentication / password protection" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 2342 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 2342 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3724 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/photoprism/storage" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/photoprism/templates/common.yaml b/charts/incubator/photoprism/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/photoprism/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/photoprism/values.yaml b/charts/incubator/photoprism/values.yaml new file mode 100644 index 00000000000..f0de5b3e694 --- /dev/null +++ b/charts/incubator/photoprism/values.yaml @@ -0,0 +1,54 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: photoprism/photoprism + # -- image tag + tag: "20210523" + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.photoprism.org/getting-started/config-options/) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Photoprism storage path + PHOTOPRISM_STORAGE_PATH: /photoprism/storage + # -- Photoprism originals path + PHOTOPRISM_ORIGINALS_PATH: /photoprism/originals + # -- Initial admin password. **BE SURE TO CHANGE THIS!** + PHOTOPRISM_ADMIN_PASSWORD: "please-change" + # -- Disable authentication / password protection + PHOTOPRISM_PUBLIC: "false" + # -- Sets UID Photoprism runs under. + UID: # 1000 + # -- Sets GID Photoprism runs under. + GID: # 1000 + # -- Sets UMASK. + UMASK: # 0000 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 2342 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /photoprism/storage + + originals: + enabled: false + mountPath: "/photoprism/originals" diff --git a/charts/incubator/piaware/.helmignore b/charts/incubator/piaware/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/piaware/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/piaware/CONFIG.md b/charts/incubator/piaware/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/piaware/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/piaware/Chart.yaml b/charts/incubator/piaware/Chart.yaml new file mode 100644 index 00000000000..56e363730d9 --- /dev/null +++ b/charts/incubator/piaware/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Program for forwarding ADS-B data to FlightAware +name: piaware +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- piaware +- flight-aware +- flight-tracker +home: https://github.com/truechartsapps/tree/master/charts/incubator/piaware +icon: https://pbs.twimg.com/profile_images/964269455483088897/mr2UgvfG_400x400.jpg +sources: +- https://github.com/flightaware/piaware +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/piaware/README.md b/charts/incubator/piaware/README.md new file mode 100644 index 00000000000..7aeb3211c80 --- /dev/null +++ b/charts/incubator/piaware/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Program for forwarding ADS-B data to FlightAware + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `piaware` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `piaware` 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/charts/incubator/piaware/SCALE/item.yaml b/charts/incubator/piaware/SCALE/item.yaml new file mode 100644 index 00000000000..1a42b825c81 --- /dev/null +++ b/charts/incubator/piaware/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://pbs.twimg.com/profile_images/964269455483088897/mr2UgvfG_400x400.jpg diff --git a/charts/incubator/piaware/SCALE/ix_values.yaml b/charts/incubator/piaware/SCALE/ix_values.yaml new file mode 100644 index 00000000000..be2e353346b --- /dev/null +++ b/charts/incubator/piaware/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: mikenye/piaware + pullPolicy: IfNotPresent + tag: v5.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/piaware/SCALE/questions.yaml b/charts/incubator/piaware/SCALE/questions.yaml new file mode 100644 index 00000000000..bf3c92f12da --- /dev/null +++ b/charts/incubator/piaware/SCALE/questions.yaml @@ -0,0 +1,707 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3725 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/piaware/ci/ct-values.yaml b/charts/incubator/piaware/ci/ct-values.yaml new file mode 100644 index 00000000000..3d1d3eb62f5 --- /dev/null +++ b/charts/incubator/piaware/ci/ct-values.yaml @@ -0,0 +1,3 @@ +env: + LAT: "29.9792" + LONG: "31.1342" diff --git a/charts/incubator/piaware/templates/common.yaml b/charts/incubator/piaware/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/piaware/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/piaware/values.yaml b/charts/incubator/piaware/values.yaml new file mode 100644 index 00000000000..4b05cb70de5 --- /dev/null +++ b/charts/incubator/piaware/values.yaml @@ -0,0 +1,55 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: mikenye/piaware + # -- image tag + tag: v5.0 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [application docs](https://flightaware.com/adsb/piaware/advanced_configuration) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 + + +securityContext: + # -- (bool) Privileged securityContext may be required if USB device is accessed directly through the host machine + privileged: true + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + usb: + enabled: false + type: hostPath + hostPath: /dev/bus/usb/001/004 + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - piaware diff --git a/charts/incubator/podgrab/CONFIG.md b/charts/incubator/podgrab/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/podgrab/CONFIG.md +++ b/charts/incubator/podgrab/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/podgrab/README.md b/charts/incubator/podgrab/README.md index 3e8138a6285..6fe72a34ee4 100644 --- a/charts/incubator/podgrab/README.md +++ b/charts/incubator/podgrab/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 4.2.9](https://img.shields.io/badge/Version-4.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) A self-hosted podcast manager to download episodes as soon as they become live. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/pretend-youre-xyzzy/.helmignore b/charts/incubator/pretend-youre-xyzzy/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/pretend-youre-xyzzy/CONFIG.md b/charts/incubator/pretend-youre-xyzzy/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/pretend-youre-xyzzy/Chart.yaml b/charts/incubator/pretend-youre-xyzzy/Chart.yaml new file mode 100644 index 00000000000..979ccbce808 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: pretend-youre-xyzzy, a cards against humanity clone +name: pretend-youre-xyzzy +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- pretend-youre-xyzzy +- cards +- against +- humanity +home: https://github.com/truechartsapps/tree/master/charts/incubator/pretend-youre-xyzzy +icon: https://apk-google.com/wp-content/uploads/2020/12/Client-for-Pretend-Youre-Xyzzy-open-source-5.0.1.png +sources: +- https://github.com/ajanata/PretendYoureXyzzy +- https://github.com/emcniece/DockerYourXyzzy +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/pretend-youre-xyzzy/README.md b/charts/incubator/pretend-youre-xyzzy/README.md new file mode 100644 index 00000000000..32d6f19f84f --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +pretend-youre-xyzzy, a cards against humanity clone + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `pretend-youre-xyzzy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `pretend-youre-xyzzy` 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/charts/incubator/pretend-youre-xyzzy/SCALE/item.yaml b/charts/incubator/pretend-youre-xyzzy/SCALE/item.yaml new file mode 100644 index 00000000000..5ae0e189304 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://apk-google.com/wp-content/uploads/2020/12/Client-for-Pretend-Youre-Xyzzy-open-source-5.0.1.png diff --git a/charts/incubator/pretend-youre-xyzzy/SCALE/ix_values.yaml b/charts/incubator/pretend-youre-xyzzy/SCALE/ix_values.yaml new file mode 100644 index 00000000000..bb58fc2f436 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: emcniece/dockeryourxyzzy + pullPolicy: IfNotPresent + tag: "4" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/pretend-youre-xyzzy/SCALE/questions.yaml b/charts/incubator/pretend-youre-xyzzy/SCALE/questions.yaml new file mode 100644 index 00000000000..12cbf8ce725 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/SCALE/questions.yaml @@ -0,0 +1,551 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3726 + required: true + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/pretend-youre-xyzzy/templates/common.yaml b/charts/incubator/pretend-youre-xyzzy/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/pretend-youre-xyzzy/values.yaml b/charts/incubator/pretend-youre-xyzzy/values.yaml new file mode 100644 index 00000000000..2d19c5fed92 --- /dev/null +++ b/charts/incubator/pretend-youre-xyzzy/values.yaml @@ -0,0 +1,22 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: emcniece/dockeryourxyzzy + # -- image tag + tag: "4" + # -- image pull policy + pullPolicy: IfNotPresent + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8080 diff --git a/charts/incubator/protonmail-bridge/.helmignore b/charts/incubator/protonmail-bridge/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/protonmail-bridge/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/protonmail-bridge/CONFIG.md b/charts/incubator/protonmail-bridge/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/protonmail-bridge/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/protonmail-bridge/Chart.yaml b/charts/incubator/protonmail-bridge/Chart.yaml new file mode 100644 index 00000000000..67222fbd97a --- /dev/null +++ b/charts/incubator/protonmail-bridge/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: Container for protonmail bridge to work on the network. +name: protonmail-bridge +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- protonmail +- protonmail-bridge +home: https://github.com/truechartsapps/tree/master/charts/incubator/protonmail-bridge +icon: https://raw.githubusercontent.com/ProtonMail/proton-bridge/master/icon.iconset/icon_256x256.png +sources: +- https://github.com/shenxn/protonmail-bridge-docker +- https://hub.docker.com/r/shenxn/protonmail-bridge +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/protonmail-bridge/README.md b/charts/incubator/protonmail-bridge/README.md new file mode 100644 index 00000000000..24a73dadf14 --- /dev/null +++ b/charts/incubator/protonmail-bridge/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Container for protonmail bridge to work on the network. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `protonmail-bridge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `protonmail-bridge` 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/charts/incubator/protonmail-bridge/SCALE/item.yaml b/charts/incubator/protonmail-bridge/SCALE/item.yaml new file mode 100644 index 00000000000..cea0b94b25c --- /dev/null +++ b/charts/incubator/protonmail-bridge/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/ProtonMail/proton-bridge/master/icon.iconset/icon_256x256.png diff --git a/charts/incubator/protonmail-bridge/SCALE/ix_values.yaml b/charts/incubator/protonmail-bridge/SCALE/ix_values.yaml new file mode 100644 index 00000000000..01362256313 --- /dev/null +++ b/charts/incubator/protonmail-bridge/SCALE/ix_values.yaml @@ -0,0 +1,21 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: shenxn/protonmail-bridge + pullPolicy: IfNotPresent + tag: 1.8.7-1 + +service: + main: + ports: + main: + enabled: false + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/protonmail-bridge/SCALE/questions.yaml b/charts/incubator/protonmail-bridge/SCALE/questions.yaml new file mode 100644 index 00000000000..7dc9bb8a540 --- /dev/null +++ b/charts/incubator/protonmail-bridge/SCALE/questions.yaml @@ -0,0 +1,680 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "main Service" + description: "The main service" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: false + hidden: true + - variable: smtp + label: "smtp Service" + description: "The smtp service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "LoadBalancer" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: smtp + label: "smtp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 25 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 25 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3729 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/protonmail-bridge/templates/common.yaml b/charts/incubator/protonmail-bridge/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/protonmail-bridge/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/protonmail-bridge/values.yaml b/charts/incubator/protonmail-bridge/values.yaml new file mode 100644 index 00000000000..20981bd1060 --- /dev/null +++ b/charts/incubator/protonmail-bridge/values.yaml @@ -0,0 +1,40 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: shenxn/protonmail-bridge + # -- image tag + tag: 1.8.7-1 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + enabled: false + smtp: + enabled: true + protocol: TCP + port: 25 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: /root diff --git a/charts/incubator/prowlarr/CONFIG.md b/charts/incubator/prowlarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/prowlarr/CONFIG.md +++ b/charts/incubator/prowlarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/prowlarr/README.md b/charts/incubator/prowlarr/README.md index 4c3568ce709..f0e9bcf295b 100644 --- a/charts/incubator/prowlarr/README.md +++ b/charts/incubator/prowlarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Indexer manager/proxy built on the popular arr net base stack to integrate with your various PVR apps. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/pyload/.helmignore b/charts/incubator/pyload/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/pyload/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/pyload/CONFIG.md b/charts/incubator/pyload/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/pyload/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/pyload/Chart.yaml b/charts/incubator/pyload/Chart.yaml new file mode 100644 index 00000000000..70f9c0030d3 --- /dev/null +++ b/charts/incubator/pyload/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 'auto' +description: pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. +name: pyload +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- pyload +- download +home: https://github.com/truechartsapps/tree/master/charts/incubator/pyload +icon: https://avatars.githubusercontent.com/u/3521496?s=200&v=4 +sources: +- https://github.com/pyload/pyload +- https://hub.docker.com/r/linuxserver/pyload +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/pyload/README.md b/charts/incubator/pyload/README.md new file mode 100644 index 00000000000..b624a3fcc4c --- /dev/null +++ b/charts/incubator/pyload/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +pyLoad is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `pyload` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `pyload` 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/charts/incubator/pyload/SCALE/item.yaml b/charts/incubator/pyload/SCALE/item.yaml new file mode 100644 index 00000000000..fb11543f3a9 --- /dev/null +++ b/charts/incubator/pyload/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars.githubusercontent.com/u/3521496?s=200PLACEHOLDERICONv=4 diff --git a/charts/incubator/pyload/SCALE/ix_values.yaml b/charts/incubator/pyload/SCALE/ix_values.yaml new file mode 100644 index 00000000000..997d5e1d399 --- /dev/null +++ b/charts/incubator/pyload/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/pyload + pullPolicy: IfNotPresent + tag: version-5de90278 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/pyload/SCALE/questions.yaml b/charts/incubator/pyload/SCALE/questions.yaml new file mode 100644 index 00000000000..ee7722c190e --- /dev/null +++ b/charts/incubator/pyload/SCALE/questions.yaml @@ -0,0 +1,679 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3730 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/pyload/templates/common.yaml b/charts/incubator/pyload/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/pyload/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/pyload/values.yaml b/charts/incubator/pyload/values.yaml new file mode 100644 index 00000000000..ce7c08b017d --- /dev/null +++ b/charts/incubator/pyload/values.yaml @@ -0,0 +1,41 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/pyload + # -- image tag + tag: version-5de90278 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-pyload#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8000 + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + downloads: + enabled: false + mountPath: /downloads diff --git a/charts/incubator/qbittorrent/CONFIG.md b/charts/incubator/qbittorrent/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/qbittorrent/CONFIG.md +++ b/charts/incubator/qbittorrent/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/qbittorrent/README.md b/charts/incubator/qbittorrent/README.md index 0da3d2911d3..8801f57e4ed 100644 --- a/charts/incubator/qbittorrent/README.md +++ b/charts/incubator/qbittorrent/README.md @@ -1,12 +1,14 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) qBittorrent is a cross-platform free and open-source BitTorrent client TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. **This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + ## Requirements Kubernetes: `>=1.16.0-0` @@ -15,7 +17,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -44,6 +46,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/readarr/CONFIG.md b/charts/incubator/readarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/readarr/CONFIG.md +++ b/charts/incubator/readarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/readarr/README.md b/charts/incubator/readarr/README.md index 4bc9ba2a1c8..ecdc445f315 100644 --- a/charts/incubator/readarr/README.md +++ b/charts/incubator/readarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/reg/CONFIG.md b/charts/incubator/reg/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/reg/CONFIG.md +++ b/charts/incubator/reg/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/reg/README.md b/charts/incubator/reg/README.md index 1c5cdc4b5bb..4b6614fb569 100644 --- a/charts/incubator/reg/README.md +++ b/charts/incubator/reg/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.8](https://img.shields.io/badge/Version-1.2.8-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Docker registry v2 command line client and repo listing generator with security checks. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/sabnzbd/CONFIG.md b/charts/incubator/sabnzbd/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/sabnzbd/CONFIG.md +++ b/charts/incubator/sabnzbd/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/sabnzbd/README.md b/charts/incubator/sabnzbd/README.md index d713e25f27a..003895f3e6e 100644 --- a/charts/incubator/sabnzbd/README.md +++ b/charts/incubator/sabnzbd/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/ser2sock/.helmignore b/charts/incubator/ser2sock/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/ser2sock/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/ser2sock/CONFIG.md b/charts/incubator/ser2sock/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/ser2sock/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/ser2sock/Chart.yaml b/charts/incubator/ser2sock/Chart.yaml new file mode 100644 index 00000000000..7d0ba7ac765 --- /dev/null +++ b/charts/incubator/ser2sock/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: Serial to Socket Redirector +name: ser2sock +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- ser2sock +home: https://github.com/truechartsapps/tree/master/charts/incubator/ser2sock +icon: https://i.imgur.com/GfZ7McO.png +sources: +- https://github.com/nutechsoftware/ser2sock +- https://github.com/tenstartups/ser2sock +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/ser2sock/README.md b/charts/incubator/ser2sock/README.md new file mode 100644 index 00000000000..956a003cc48 --- /dev/null +++ b/charts/incubator/ser2sock/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Serial to Socket Redirector + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `ser2sock` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `ser2sock` 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/charts/incubator/ser2sock/SCALE/item.yaml b/charts/incubator/ser2sock/SCALE/item.yaml new file mode 100644 index 00000000000..746694eff65 --- /dev/null +++ b/charts/incubator/ser2sock/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://i.imgur.com/GfZ7McO.png diff --git a/charts/incubator/ser2sock/SCALE/ix_values.yaml b/charts/incubator/ser2sock/SCALE/ix_values.yaml new file mode 100644 index 00000000000..3aab2b9436f --- /dev/null +++ b/charts/incubator/ser2sock/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: tenstartups/ser2sock + pullPolicy: IfNotPresent + tag: latest + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/ser2sock/SCALE/questions.yaml b/charts/incubator/ser2sock/SCALE/questions.yaml new file mode 100644 index 00000000000..4a7ac34eaaa --- /dev/null +++ b/charts/incubator/ser2sock/SCALE/questions.yaml @@ -0,0 +1,728 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: BAUD_RATE + label: "BAUD_RATE" + description: "Serial device baud rate" + schema: + type: string + default: "115200" + - variable: SERIAL_DEVICE + label: "SERIAL_DEVICE" + description: "Path to the serial device" + schema: + type: string + required: true + default: "" + - variable: LISTENER_PORT + label: "LISTENER_PORT" + description: "Port where ser2sock listens" + schema: + type: string + hidden: true + default: "{{ .Values.service.main.ports.main.port }}" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 10000 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3732 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + - variable: deviceList + label: "Mount USB devices" + group: "Resources and Devices" + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: "Device" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + hidden: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "Host Device Path" + description: "Path to the device on the host system" + schema: + type: path + - variable: mountPath + label: "Container Device Path" + description: "Path inside the container the device is mounted" + schema: + type: string + default: "/dev/ttyACM0" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/ser2sock/templates/common.yaml b/charts/incubator/ser2sock/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/ser2sock/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/ser2sock/values.yaml b/charts/incubator/ser2sock/values.yaml new file mode 100644 index 00000000000..9359ad10eb8 --- /dev/null +++ b/charts/incubator/ser2sock/values.yaml @@ -0,0 +1,63 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: tenstartups/ser2sock + # -- image tag + tag: latest + # -- image pull policy + pullPolicy: Always + +# -- environment variables. See [image docs](https://github.com/tenstartups/ser2sock) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Port where ser2sock listens + LISTENER_PORT: "{{ .Values.service.main.ports.main.port }}" + # -- Path to the serial device + SERIAL_DEVICE: "{{ .Values.persistence.usb.mountPath }}" + # -- Serial device baud rate + BAUD_RATE: 115200 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + enabled: true + protocol: TCP + port: 10000 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + # -- Configure a hostPathMount to mount a USB device in the container. + # @default -- See values.yaml + usb: + enabled: false + type: hostPath + mountPath: /dev/ttyUSB0 + +securityContext: + # -- (bool) Privileged securityContext may be required if USB controller is accessed directly through the host machine + privileged: # true + +# -- Affinity constraint rules to place the Pod on a specific node. +# [[ref]](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) +affinity: {} +# nodeAffinity: +# requiredDuringSchedulingIgnoredDuringExecution: +# nodeSelectorTerms: +# - matchExpressions: +# - key: app +# operator: In +# values: +# - ser2sock-controller diff --git a/charts/incubator/stash/.helmignore b/charts/incubator/stash/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/stash/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/stash/CONFIG.md b/charts/incubator/stash/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/stash/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/stash/Chart.yaml b/charts/incubator/stash/Chart.yaml new file mode 100644 index 00000000000..bf2a1882a41 --- /dev/null +++ b/charts/incubator/stash/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v2 +appVersion: 'auto' +description: An organizer for your porn, written in Go +name: stash +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- porn +home: https://github.com/truechartsapps/tree/master/charts/incubator/stash +icon: https://raw.githubusercontent.com/stashapp/website/master/images/stash.svg +sources: +- https://github.com/stashapp/stash +- https://hub.docker.com/r/stashapp/stash +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/stash/README.md b/charts/incubator/stash/README.md new file mode 100644 index 00000000000..fce5c72f7af --- /dev/null +++ b/charts/incubator/stash/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +An organizer for your porn, written in Go + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `stash` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `stash` 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/charts/incubator/stash/SCALE/item.yaml b/charts/incubator/stash/SCALE/item.yaml new file mode 100644 index 00000000000..4047f299710 --- /dev/null +++ b/charts/incubator/stash/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/stashapp/website/master/images/stash.svg diff --git a/charts/incubator/stash/SCALE/ix_values.yaml b/charts/incubator/stash/SCALE/ix_values.yaml new file mode 100644 index 00000000000..263c3ef868f --- /dev/null +++ b/charts/incubator/stash/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: stashapp/stash + pullPolicy: IfNotPresent + tag: latest@sha256:24dbd76071745be0c4e75f730aa7ac2b37cb2b2918eabf8559643196b3b7a64a + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/stash/SCALE/questions.yaml b/charts/incubator/stash/SCALE/questions.yaml new file mode 100644 index 00000000000..31a030b735d --- /dev/null +++ b/charts/incubator/stash/SCALE/questions.yaml @@ -0,0 +1,672 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: STASH_PORT + label: "STASH_PORT" + schema: + type: string + default: "9999" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 9999 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9999 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3734 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/root/.stash" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/stash/ci/ct-values.yaml b/charts/incubator/stash/ci/ct-values.yaml new file mode 100644 index 00000000000..322b5784ed3 --- /dev/null +++ b/charts/incubator/stash/ci/ct-values.yaml @@ -0,0 +1,15 @@ +env: + STASH_PORT: 9999 + STASH_STASH: "/media" + STASH_GENERATED: "/root/.stash/generated" + STASH_METADATA: "/root/.stash/metadata" + STASH_CACHE: "/root/.stash/cache" +persistence: + config: + enabled: true + type: emptyDir + mountPath: /root/.stash + media: + enabled: true + type: emptyDir + mountPath: /media diff --git a/charts/incubator/stash/templates/common.yaml b/charts/incubator/stash/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/stash/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/stash/values.yaml b/charts/incubator/stash/values.yaml new file mode 100644 index 00000000000..4117352f1fa --- /dev/null +++ b/charts/incubator/stash/values.yaml @@ -0,0 +1,44 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: stashapp/stash + # -- image tag + tag: latest@sha256:24dbd76071745be0c4e75f730aa7ac2b37cb2b2918eabf8559643196b3b7a64a + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [stashapp documentation](https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml) +# @default -- See below +env: + # -- Set the container port + STASH_PORT: 9999 + # STASH_STASH: + # STASH_GENERATED: + # STASH_METADATA: + # STASH_CACHE: + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 9999 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /root/.stash + + media: + enabled: false + mountPath: /media diff --git a/charts/incubator/thelounge/CONFIG.md b/charts/incubator/thelounge/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/thelounge/CONFIG.md +++ b/charts/incubator/thelounge/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/thelounge/README.md b/charts/incubator/thelounge/README.md index 5c6d12360e7..72a7aa3809d 100644 --- a/charts/incubator/thelounge/README.md +++ b/charts/incubator/thelounge/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) The Lounge, modern web IRC client designed for self-hosting @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/tvheadend/CONFIG.md b/charts/incubator/tvheadend/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/tvheadend/CONFIG.md +++ b/charts/incubator/tvheadend/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/tvheadend/README.md b/charts/incubator/tvheadend/README.md index 9fd48d51480..32576a44bb4 100644 --- a/charts/incubator/tvheadend/README.md +++ b/charts/incubator/tvheadend/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 7.1.2](https://img.shields.io/badge/Version-7.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 7.2.9](https://img.shields.io/badge/Version-7.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) TVheadend - a TV streaming server and digital video recorder @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/unifi/CONFIG.md b/charts/incubator/unifi/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/unifi/CONFIG.md +++ b/charts/incubator/unifi/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/unifi/README.md b/charts/incubator/unifi/README.md index 15ae1d22835..5da6326061a 100644 --- a/charts/incubator/unifi/README.md +++ b/charts/incubator/unifi/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/unpackerr/CONFIG.md b/charts/incubator/unpackerr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/incubator/unpackerr/CONFIG.md +++ b/charts/incubator/unpackerr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/incubator/unpackerr/README.md b/charts/incubator/unpackerr/README.md index 1cece29651d..cbc8c192e39 100644 --- a/charts/incubator/unpackerr/README.md +++ b/charts/incubator/unpackerr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 1.1.2](https://img.shields.io/badge/Version-1.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 1.2.9](https://img.shields.io/badge/Version-1.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) This application runs as a daemon on your download host. It checks for completed downloads and extracts them so Radarr, Lidarr, Sonarr, and Readarr may import them @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/incubator/xteve/.helmignore b/charts/incubator/xteve/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/incubator/xteve/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/xteve/CONFIG.md b/charts/incubator/xteve/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/incubator/xteve/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/incubator/xteve/Chart.yaml b/charts/incubator/xteve/Chart.yaml new file mode 100644 index 00000000000..45a1969f29b --- /dev/null +++ b/charts/incubator/xteve/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: 'auto' +description: M3U Proxy for Plex DVR and Emby Live TV. +name: xteve +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- xteve +- iptv +- plex +- emby +home: https://github.com/truechartsapps/tree/master/charts/incubator/xteve +icon: https://raw.githubusercontent.com/xteve-project/xTeVe/master/html/img/logo_b_880x200.jpg +sources: +- https://github.com/xteve-project/xTeVe +- https://github.com/k8s-at-home/container-images +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/incubator/xteve/README.md b/charts/incubator/xteve/README.md new file mode 100644 index 00000000000..896c264f458 --- /dev/null +++ b/charts/incubator/xteve/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +M3U Proxy for Plex DVR and Emby Live TV. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `xteve` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `xteve` 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/charts/incubator/xteve/SCALE/item.yaml b/charts/incubator/xteve/SCALE/item.yaml new file mode 100644 index 00000000000..e276f041308 --- /dev/null +++ b/charts/incubator/xteve/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/xteve-project/xTeVe/master/html/img/logo_b_880x200.jpg diff --git a/charts/incubator/xteve/SCALE/ix_values.yaml b/charts/incubator/xteve/SCALE/ix_values.yaml new file mode 100644 index 00000000000..ad5c311aa5b --- /dev/null +++ b/charts/incubator/xteve/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/k8s-at-home/xteve + pullPolicy: IfNotPresent + tag: v2.2.0.200 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/incubator/xteve/SCALE/questions.yaml b/charts/incubator/xteve/SCALE/questions.yaml new file mode 100644 index 00000000000..1dd665238ef --- /dev/null +++ b/charts/incubator/xteve/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 34400 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 34400 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3737 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/incubator/xteve/templates/common.yaml b/charts/incubator/xteve/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/incubator/xteve/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/incubator/xteve/values.yaml b/charts/incubator/xteve/values.yaml new file mode 100644 index 00000000000..16d4e2ce37e --- /dev/null +++ b/charts/incubator/xteve/values.yaml @@ -0,0 +1,33 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/k8s-at-home/xteve + # -- image tag + tag: v2.2.0.200 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + +service: + main: + ports: + main: + port: 34400 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false diff --git a/charts/non-free/resilio-sync/.helmignore b/charts/non-free/resilio-sync/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/non-free/resilio-sync/.helmignore @@ -0,0 +1,26 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/non-free/resilio-sync/CONFIG.md b/charts/non-free/resilio-sync/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/charts/non-free/resilio-sync/CONFIG.md @@ -0,0 +1,9 @@ +# Configuration 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/charts/non-free/resilio-sync/Chart.yaml b/charts/non-free/resilio-sync/Chart.yaml new file mode 100644 index 00000000000..6d4f589dd50 --- /dev/null +++ b/charts/non-free/resilio-sync/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: 'auto' +description: Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology +name: resilio-sync +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: +- resilio +- sync +- btsync +- bittorrent +home: https://github.com/truechartsapps/tree/master/charts/incubator/resio-sync +icon: https://blog.resilio.com/wp-content/uploads/2016/06/SyncSymbol-260x260px.png +sources: +- https://github.com/orgs/linuxserver/packages/container/package/resilio-sync +maintainers: +- name: truecharts + email: info@truecharts.org + url: https://truecharts.org +dependencies: +- name: common + repository: https://truecharts.org + version: 6.4.6 diff --git a/charts/non-free/resilio-sync/README.md b/charts/non-free/resilio-sync/README.md new file mode 100644 index 00000000000..6006f37277c --- /dev/null +++ b/charts/non-free/resilio-sync/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by P2P technology + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org | common | 6.4.6 | + +## Installing the Chart + +To install the chart with the release name `resilio-sync` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `resilio-sync` 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/charts/non-free/resilio-sync/SCALE/item.yaml b/charts/non-free/resilio-sync/SCALE/item.yaml new file mode 100644 index 00000000000..ede17b2a3c3 --- /dev/null +++ b/charts/non-free/resilio-sync/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://blog.resilio.com/wp-content/uploads/2016/06/SyncSymbol-260x260px.png diff --git a/charts/non-free/resilio-sync/SCALE/ix_values.yaml b/charts/non-free/resilio-sync/SCALE/ix_values.yaml new file mode 100644 index 00000000000..72df9483018 --- /dev/null +++ b/charts/non-free/resilio-sync/SCALE/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/linuxserver/resilio-sync + pullPolicy: IfNotPresent + tag: version-2.7.2.1375 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/non-free/resilio-sync/SCALE/questions.yaml b/charts/non-free/resilio-sync/SCALE/questions.yaml new file mode 100644 index 00000000000..5209eeacbd0 --- /dev/null +++ b/charts/non-free/resilio-sync/SCALE/questions.yaml @@ -0,0 +1,875 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the userID inside the container" + schema: + type: string + default: "568" + - variable: PGID + label: "PGID" + description: "Sets the GroupID inside the container" + schema: + type: string + default: "568" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8888 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8888 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3731 + required: true + - variable: bt-udp + label: "bt-udp Service" + description: "The bt-udp service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: bt-udp + label: "bt-udp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 55555 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 55555 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3809 + required: true + - variable: bt-tcp + label: "bt-tcp Service" + description: "The bt-tcp service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: bt-tcp + label: "bt-tcp Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 55555 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 55555 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 3810 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/charts/non-free/resilio-sync/templates/common.yaml b/charts/non-free/resilio-sync/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/non-free/resilio-sync/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/non-free/resilio-sync/values.yaml b/charts/non-free/resilio-sync/values.yaml new file mode 100644 index 00000000000..7e0d5117ab5 --- /dev/null +++ b/charts/non-free/resilio-sync/values.yaml @@ -0,0 +1,72 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: ghcr.io/linuxserver/resilio-sync + # -- image tag + tag: version-2.7.2.1375 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://docs.linuxserver.io/images/docker-resilio-sync#environment-variables-e) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # -- Specify the user ID the application will run as + PUID: "1001" + # -- Specify the group ID the application will run as + PGID: "1001" + # -- Sets default UMASK + UMASK: # 022 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + main: + port: 8888 + bt-tcp: + enabled: false + type: ClusterIP + ports: + bt-tcp: + enabled: true + port: 55555 + protocol: TCP + targetPort: 55555 + bt-udp: + enabled: false + type: ClusterIP + ports: + bt-udp: + enabled: true + port: 55555 + protocol: UDP + targetPort: 55555 + + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + + media: + enabled: false + mountPath: /media + + downloads: + enabled: false + mountPath: /downloads + + sync: + enabled: false + mountPath: /sync diff --git a/charts/stable/collabora-online/CONFIG.md b/charts/stable/collabora-online/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/collabora-online/CONFIG.md +++ b/charts/stable/collabora-online/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/collabora-online/README.md b/charts/stable/collabora-online/README.md index c0c9079a427..6a8df52b9b7 100644 --- a/charts/stable/collabora-online/README.md +++ b/charts/stable/collabora-online/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -10,7 +10,8 @@ TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not gu ## Source Code * -* +* +* ## Requirements @@ -20,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/deepstack-cpu/CONFIG.md b/charts/stable/deepstack-cpu/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/deepstack-cpu/CONFIG.md +++ b/charts/stable/deepstack-cpu/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/deepstack-cpu/README.md b/charts/stable/deepstack-cpu/README.md index 71d5cc27d33..c3ce6a7052b 100644 --- a/charts/stable/deepstack-cpu/README.md +++ b/charts/stable/deepstack-cpu/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 4.2.9](https://img.shields.io/badge/Version-4.2.9-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 @@ -21,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -50,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/emby/CONFIG.md b/charts/stable/emby/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/emby/CONFIG.md +++ b/charts/stable/emby/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/emby/README.md b/charts/stable/emby/README.md index d8e2f11e99d..b5041e8fa99 100644 --- a/charts/stable/emby/README.md +++ b/charts/stable/emby/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/esphome/CONFIG.md b/charts/stable/esphome/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/esphome/CONFIG.md +++ b/charts/stable/esphome/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/esphome/README.md b/charts/stable/esphome/README.md index ce5b6cbc2b4..83dcd05cf68 100644 --- a/charts/stable/esphome/README.md +++ b/charts/stable/esphome/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/handbrake/CONFIG.md b/charts/stable/handbrake/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/handbrake/CONFIG.md +++ b/charts/stable/handbrake/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/handbrake/README.md b/charts/stable/handbrake/README.md index f19e5d17461..2ed66e2f47f 100644 --- a/charts/stable/handbrake/README.md +++ b/charts/stable/handbrake/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -21,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -50,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/home-assistant/CONFIG.md b/charts/stable/home-assistant/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/home-assistant/CONFIG.md +++ b/charts/stable/home-assistant/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/home-assistant/README.md b/charts/stable/home-assistant/README.md index 84a492043b3..a53c99cc9bd 100644 --- a/charts/stable/home-assistant/README.md +++ b/charts/stable/home-assistant/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/jackett/CONFIG.md b/charts/stable/jackett/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/jackett/CONFIG.md +++ b/charts/stable/jackett/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/jackett/README.md b/charts/stable/jackett/README.md index 544627c0ffd..2d414e707d9 100644 --- a/charts/stable/jackett/README.md +++ b/charts/stable/jackett/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/jellyfin/CONFIG.md b/charts/stable/jellyfin/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/jellyfin/CONFIG.md +++ b/charts/stable/jellyfin/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/jellyfin/README.md b/charts/stable/jellyfin/README.md index 95e0dc4e096..768064ee647 100644 --- a/charts/stable/jellyfin/README.md +++ b/charts/stable/jellyfin/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/kms/CONFIG.md b/charts/stable/kms/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/kms/CONFIG.md +++ b/charts/stable/kms/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/kms/README.md b/charts/stable/kms/README.md index f827ffa2615..adcb4b0894c 100644 --- a/charts/stable/kms/README.md +++ b/charts/stable/kms/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.3](https://img.shields.io/badge/Version-6.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: minimal](https://img.shields.io/badge/AppVersion-minimal-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/lidarr/CONFIG.md b/charts/stable/lidarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/lidarr/CONFIG.md +++ b/charts/stable/lidarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/lidarr/README.md b/charts/stable/lidarr/README.md index 07bf87425d2..96a60d790ac 100644 --- a/charts/stable/lidarr/README.md +++ b/charts/stable/lidarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/ombi/CONFIG.md b/charts/stable/ombi/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/ombi/CONFIG.md +++ b/charts/stable/ombi/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/ombi/README.md b/charts/stable/ombi/README.md index ffc0ea8af03..36412dc68a9 100644 --- a/charts/stable/ombi/README.md +++ b/charts/stable/ombi/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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! @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/plex/CONFIG.md b/charts/stable/plex/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/plex/CONFIG.md +++ b/charts/stable/plex/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/plex/README.md b/charts/stable/plex/README.md index 0caea193425..816852474a8 100644 --- a/charts/stable/plex/README.md +++ b/charts/stable/plex/README.md @@ -1,12 +1,14 @@ # Introduction -![Version: 5.1.2](https://img.shields.io/badge/Version-5.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 5.2.9](https://img.shields.io/badge/Version-5.2.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Plex Media Server TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. **This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + + ## Requirements Kubernetes: `>=1.16.0-0` @@ -15,7 +17,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -44,6 +46,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/radarr/CONFIG.md b/charts/stable/radarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/radarr/CONFIG.md +++ b/charts/stable/radarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/radarr/README.md b/charts/stable/radarr/README.md index 28512e3dcaf..c8b5f795304 100644 --- a/charts/stable/radarr/README.md +++ b/charts/stable/radarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/sonarr/CONFIG.md b/charts/stable/sonarr/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/sonarr/CONFIG.md +++ b/charts/stable/sonarr/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/sonarr/README.md b/charts/stable/sonarr/README.md index 79169b50882..e6e406f0f33 100644 --- a/charts/stable/sonarr/README.md +++ b/charts/stable/sonarr/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/syncthing/CONFIG.md b/charts/stable/syncthing/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/syncthing/CONFIG.md +++ b/charts/stable/syncthing/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/syncthing/README.md b/charts/stable/syncthing/README.md index b317c141e85..96f15ccc744 100644 --- a/charts/stable/syncthing/README.md +++ b/charts/stable/syncthing/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -21,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -50,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/tautulli/CONFIG.md b/charts/stable/tautulli/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/tautulli/CONFIG.md +++ b/charts/stable/tautulli/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/tautulli/README.md b/charts/stable/tautulli/README.md index 7940748258b..4d931117e2b 100644 --- a/charts/stable/tautulli/README.md +++ b/charts/stable/tautulli/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/traefik/CONFIG.md b/charts/stable/traefik/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/traefik/CONFIG.md +++ b/charts/stable/traefik/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/traefik/README.md b/charts/stable/traefik/README.md index d00a60858d3..c60122da9cc 100644 --- a/charts/stable/traefik/README.md +++ b/charts/stable/traefik/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.4](https://img.shields.io/badge/AppVersion-2.4-informational?style=flat-square) +![Version: 6.3.16](https://img.shields.io/badge/Version-6.3.16-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.4](https://img.shields.io/badge/AppVersion-2.4-informational?style=flat-square) A Traefik based Reverse Proxy and Certificate Manager @@ -21,7 +21,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -50,6 +50,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/transmission/CONFIG.md b/charts/stable/transmission/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/transmission/CONFIG.md +++ b/charts/stable/transmission/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/transmission/README.md b/charts/stable/transmission/README.md index ccfa3f4990f..ac79a7f73be 100644 --- a/charts/stable/transmission/README.md +++ b/charts/stable/transmission/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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. @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/truecommand/CONFIG.md b/charts/stable/truecommand/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/truecommand/CONFIG.md +++ b/charts/stable/truecommand/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/truecommand/README.md b/charts/stable/truecommand/README.md index 8fd2ceabd55..452f53efb6e 100644 --- a/charts/stable/truecommand/README.md +++ b/charts/stable/truecommand/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: nightly](https://img.shields.io/badge/AppVersion-nightly-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -19,7 +19,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -48,6 +48,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/vaultwarden/CONFIG.md b/charts/stable/vaultwarden/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/vaultwarden/CONFIG.md +++ b/charts/stable/vaultwarden/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/vaultwarden/README.md b/charts/stable/vaultwarden/README.md index bb4095ca30b..25b15bbd886 100644 --- a/charts/stable/vaultwarden/README.md +++ b/charts/stable/vaultwarden/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 3.1.2](https://img.shields.io/badge/Version-3.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 3.3.10](https://img.shields.io/badge/Version-3.3.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) Unofficial Bitwarden compatible server written in Rust @@ -19,8 +19,8 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://charts.bitnami.com/bitnami | postgresql | 10.4.9 | -| https://truecharts.org/ | common | 6.3.4 | +| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/charts/stable/zwavejs2mqtt/CONFIG.md b/charts/stable/zwavejs2mqtt/CONFIG.md index 6d760c18421..dddbce20079 100644 --- a/charts/stable/zwavejs2mqtt/CONFIG.md +++ b/charts/stable/zwavejs2mqtt/CONFIG.md @@ -4,5 +4,6 @@ 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/charts/stable/zwavejs2mqtt/README.md b/charts/stable/zwavejs2mqtt/README.md index d13881ca6be..d7133ec765c 100644 --- a/charts/stable/zwavejs2mqtt/README.md +++ b/charts/stable/zwavejs2mqtt/README.md @@ -1,6 +1,6 @@ # Introduction -![Version: 6.1.2](https://img.shields.io/badge/Version-6.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) +![Version: 6.2.9](https://img.shields.io/badge/Version-6.2.9-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 @@ -20,7 +20,7 @@ Kubernetes: `>=1.16.0-0` | Repository | Name | Version | |------------|------|---------| -| https://truecharts.org/ | common | 6.3.4 | +| https://truecharts.org/ | common | 6.4.6 | ## Installing the Chart @@ -49,6 +49,7 @@ The command removes all the Kubernetes components associated with the chart **in - Open a [issue](https://github.com/truecharts/apps/issues/new/choose) - Ask a [question](https://github.com/truecharts/apps/discussions) + ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) All Rights Reserved - The TrueCharts Project diff --git a/tools/input/.gitkeep b/tools/input/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/output/.gitkeep b/tools/output/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tools/placeholder/SCALE/item.yaml b/tools/placeholder/SCALE/item.yaml new file mode 100644 index 00000000000..134d3814a14 --- /dev/null +++ b/tools/placeholder/SCALE/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: PLACEHOLDERICON diff --git a/tools/placeholder/SCALE/ix_values.yaml b/tools/placeholder/SCALE/ix_values.yaml new file mode 100644 index 00000000000..c6fa7df14f7 --- /dev/null +++ b/tools/placeholder/SCALE/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: PLACEHOLDERREPO + pullPolicy: IfNotPresent + tag: PLACEHOLDERTAG + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/tools/placeholder/SCALE/questions.yaml b/tools/placeholder/SCALE/questions.yaml new file mode 100644 index 00000000000..6931d0b5e68 --- /dev/null +++ b/tools/placeholder/SCALE/questions.yaml @@ -0,0 +1,667 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: PLACEHOLDERPORT + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: PLACEHOLDERPORT + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: PLACEHOLDERNODEPORT + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/tools/process.sh b/tools/process.sh new file mode 100644 index 00000000000..ba6637f5087 --- /dev/null +++ b/tools/process.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +set -eu + +# This script will do some basic processing from k8s-at-home to TrueCharts +nodeport=3700 +for chart in input/*; do + if [ -d "${chart}" ]; then + nodeport=$((nodeport+1)) + basename=$(basename ${chart}) + echo "processing ${chart} using nodeport $nodeport" + mkdir -p output/${basename} + cp -rf placeholder/SCALE output/${basename}/ + cp -rf ${chart}/ci output/${basename}/ || echo "no CI folder detected, continuing..." + cp -rf ${chart}/templates output/${basename}/ + cp -rf ${chart}/Chart.yaml output/${basename}/Chart.yaml + cp -rf ${chart}/.helmignore output/${basename}/.helmignore || echo "helmignore not detected, continuing..." + cp -rf ${chart}/values.yaml output/${basename}/values.yaml + iconurl=$(cat ${chart}/Chart.yaml | grep -m 1 icon: ) && iconurl=${iconurl/icon: /} + sed -i "s|PLACEHOLDERICON|${iconurl}|g" output/${basename}/SCALE/item.yaml + repo=$(cat ${chart}/values.yaml | grep -m 1 repository: ) && repo=${repo/ repository: /} + tag=$(cat ${chart}/values.yaml | grep -m 1 tag: ) && tag=${tag/ tag: /} + sed -i "s|PLACEHOLDERREPO|${repo}|g" output/${basename}/SCALE/ix_values.yaml + sed -i "s|PLACEHOLDERTAG|${tag}|g" output/${basename}/SCALE/ix_values.yaml + port=$(cat ${chart}/values.yaml | grep -m 1 port: ) && port=${port/ port: /} + sed -i "s|PLACEHOLDERPORT|${port}|g" output/${basename}/SCALE/questions.yaml + sed -i "s|PLACEHOLDERNODEPORT|${nodeport}|g" output/${basename}/SCALE/questions.yaml + sed -i "/^version:/c\version: 1.0.0" output/${basename}/Chart.yaml + sed -i "/^appVersion:/c\appVersion: 'auto'" output/${basename}/Chart.yaml + sed -i "s|library-charts.k8s-at-home.com|truecharts.org|g" output/${basename}/Chart.yaml + sed -i "/name: commonc\- name2: common" output/${basename}/Chart.yaml + sed -i "/- name:/c\- name: truecharts" output/${basename}/Chart.yaml + sed -i "/name2: commonc\- name: common" output/${basename}/Chart.yaml + sed -i "/email:/c\ email: info@truecharts.org + url: https://truecharts.org" output/${basename}/Chart.yaml + sed -i "/ version:/c\ version: 6.4.6" output/${basename}/Chart.yaml + sed -i "s|github.com/k8s-at-home/charts|github.com/truechartsapps|g" output/${basename}/Chart.yaml + sed -i "s|charts/stable|charts/incubator|g" output/${basename}/Chart.yaml + sed -i "s|http:|main:|g" output/${basename}/values.yaml + fi +done