From 2ee1ace66f4e62ab5501494b9579452b80e55c48 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 3 Sep 2021 23:08:16 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/custom-app/0.2.14/Chart.lock | 2 +- incubator/nextcloud/3.7.5/Chart.lock | 2 +- stable/airsonic/1.11.11/Chart.lock | 2 +- stable/appdaemon/3.11.11/Chart.lock | 2 +- stable/authelia/1.6.20/Chart.lock | 2 +- stable/bazarr/6.11.12/Chart.lock | 2 +- stable/booksonic-air/1.9.11/Chart.lock | 2 +- stable/calibre-web/6.11.11/Chart.lock | 2 +- stable/calibre/1.9.11/Chart.lock | 2 +- stable/collabora-online/6.11.11/Chart.lock | 2 +- stable/deconz/1.9.11/Chart.lock | 2 +- stable/deepstack-cpu/4.11.11/Chart.lock | 2 +- stable/deluge/6.11.11/Chart.lock | 2 +- stable/dizquetv/1.9.11/Chart.lock | 2 +- stable/duplicati/1.9.11/Chart.lock | 2 +- stable/emby/6.11.11/Chart.lock | 2 +- stable/esphome/6.11.11/Chart.lock | 2 +- stable/external-service/1.4.11/Chart.lock | 2 +- stable/fireflyiii/6.1.6/Chart.lock | 2 +- stable/flaresolverr/1.9.11/Chart.lock | 2 +- stable/flood/1.9.11/Chart.lock | 2 +- stable/focalboard/1.9.11/Chart.lock | 2 +- stable/freeradius/1.7.14/Chart.lock | 2 +- stable/freshrss/6.11.11/Chart.lock | 2 +- stable/gaps/6.11.11/Chart.lock | 2 +- stable/gonic/1.9.11/Chart.lock | 2 +- stable/grocy/6.11.11/Chart.lock | 2 +- stable/handbrake/6.11.11/Chart.lock | 2 +- stable/haste-server/1.11.11/Chart.lock | 2 +- stable/healthchecks/1.9.11/Chart.lock | 2 +- stable/heimdall/6.11.11/Chart.lock | 2 +- stable/home-assistant/6.11.11/Chart.lock | 2 +- stable/hyperion-ng/1.9.11/Chart.lock | 2 +- stable/jackett/6.11.13/Chart.lock | 2 +- stable/jdownloader2/1.0.0/CONFIG.md | 8 + stable/jdownloader2/1.0.0/Chart.lock | 6 + stable/jdownloader2/1.0.0/Chart.yaml | 26 + stable/jdownloader2/1.0.0/README.md | 39 + stable/jdownloader2/1.0.0/app-readme.md | 4 + .../1.0.0/charts/common-6.13.5.tgz | Bin 0 -> 29106 bytes stable/jdownloader2/1.0.0/helm-values.md | 40 + stable/jdownloader2/1.0.0/ix_values.yaml | 21 + stable/jdownloader2/1.0.0/questions.yaml | 1187 +++++++++++++++++ .../jdownloader2/1.0.0/templates/common.yaml | 1 + stable/jdownloader2/1.0.0/test_values.yaml | 50 + stable/jdownloader2/1.0.0/values.yaml | 0 stable/jdownloader2/item.yaml | 3 + stable/jellyfin/6.11.11/Chart.lock | 2 +- stable/k8s-gateway/1.0.6/Chart.lock | 2 +- stable/kms/6.11.11/Chart.lock | 2 +- stable/komga/1.9.14/Chart.lock | 2 +- stable/lazylibrarian/6.11.11/Chart.lock | 2 +- stable/librespeed/1.9.11/Chart.lock | 2 +- stable/lidarr/6.11.11/Chart.lock | 2 +- stable/littlelink/1.5.11/Chart.lock | 2 +- stable/lychee/6.11.11/Chart.lock | 2 +- stable/mealie/1.11.11/Chart.lock | 2 +- stable/mosquitto/1.11.11/Chart.lock | 2 +- stable/mylar/1.9.11/Chart.lock | 2 +- stable/navidrome/6.11.11/Chart.lock | 2 +- stable/node-red/6.11.11/Chart.lock | 2 +- stable/nullserv/1.9.11/Chart.lock | 2 +- stable/nzbget/6.11.11/Chart.lock | 2 +- stable/nzbhydra/6.11.11/Chart.lock | 2 +- stable/octoprint/1.9.11/Chart.lock | 2 +- stable/omada-controller/1.9.11/Chart.lock | 2 +- stable/ombi/6.11.12/Chart.lock | 2 +- stable/openldap/1.7.15/Chart.lock | 2 +- stable/organizr/6.11.11/Chart.lock | 2 +- stable/overseerr/1.9.11/Chart.lock | 2 +- stable/owncast/1.9.11/Chart.lock | 2 +- stable/owncloud-ocis/1.9.11/Chart.lock | 2 +- stable/pgadmin/1.8.11/Chart.lock | 2 +- stable/photoprism/1.9.11/Chart.lock | 2 +- stable/phpldapadmin/1.8.11/Chart.lock | 2 +- stable/piaware/1.9.11/Chart.lock | 2 +- stable/plex/5.11.11/Chart.lock | 2 +- stable/podgrab/4.11.11/Chart.lock | 2 +- stable/postgresql/1.5.11/Chart.lock | 2 +- stable/pretend-youre-xyzzy/1.9.11/Chart.lock | 2 +- stable/protonmail-bridge/1.9.11/Chart.lock | 2 +- stable/prowlarr/1.11.13/Chart.lock | 2 +- stable/pyload/1.9.11/Chart.lock | 2 +- stable/qbittorrent/6.11.11/Chart.lock | 2 +- stable/radarr/6.11.11/Chart.lock | 2 +- stable/readarr/6.11.11/Chart.lock | 2 +- stable/reg/1.11.11/Chart.lock | 2 +- stable/resilio-sync/1.9.11/Chart.lock | 2 +- stable/sabnzbd/6.11.11/Chart.lock | 2 +- stable/ser2sock/1.9.11/Chart.lock | 2 +- stable/sonarr/6.11.11/Chart.lock | 2 +- stable/stash/1.9.12/Chart.lock | 2 +- stable/syncthing/6.11.11/Chart.lock | 2 +- stable/tautulli/6.11.11/Chart.lock | 2 +- stable/thelounge/1.11.11/Chart.lock | 2 +- stable/traefik/7.0.0/CONFIG.md | 8 + stable/traefik/7.0.0/Chart.lock | 6 + stable/traefik/7.0.0/Chart.yaml | 25 + stable/traefik/7.0.0/README.md | 39 + stable/traefik/7.0.0/app-readme.md | 4 + stable/traefik/7.0.0/charts/common-6.13.6.tgz | Bin 0 -> 29078 bytes stable/traefik/7.0.0/crds/ingressroute.yaml | 198 +++ .../traefik/7.0.0/crds/ingressroutetcp.yaml | 160 +++ .../traefik/7.0.0/crds/ingressrouteudp.yaml | 84 ++ stable/traefik/7.0.0/crds/middlewares.yaml | 563 ++++++++ stable/traefik/7.0.0/crds/middlewarestcp.yaml | 59 + .../traefik/7.0.0/crds/serverstransports.yaml | 101 ++ stable/traefik/7.0.0/crds/tlsoptions.yaml | 87 ++ stable/traefik/7.0.0/crds/tlsstores.yaml | 64 + .../traefik/7.0.0/crds/traefikservices.yaml | 270 ++++ stable/traefik/7.0.0/helm-values.md | 50 + stable/traefik/7.0.0/ix_values.yaml | 181 +++ stable/traefik/7.0.0/questions.yaml | 1144 ++++++++++++++++ stable/traefik/7.0.0/templates/_args.tpl | 141 ++ stable/traefik/7.0.0/templates/_helpers.tpl | 21 + .../traefik/7.0.0/templates/_ingressclass.tpl | 24 + .../traefik/7.0.0/templates/_ingressroute.tpl | 25 + .../traefik/7.0.0/templates/_portalhook.tpl | 27 + .../traefik/7.0.0/templates/_tlsoptions.tpl | 12 + stable/traefik/7.0.0/templates/common.yaml | 24 + .../7.0.0/templates/middleware-namespace.yaml | 7 + .../middlewares/basic-middleware.yaml | 63 + .../templates/middlewares/basicauth.yaml | 34 + .../7.0.0/templates/middlewares/chain.yaml | 21 + .../templates/middlewares/forwardauth.yaml | 28 + .../templates/middlewares/ratelimit.yaml | 19 + .../templates/middlewares/redirectScheme.yaml | 19 + stable/traefik/7.0.0/test_values.yaml | 320 +++++ stable/traefik/7.0.0/values.yaml | 0 stable/transmission/6.11.11/Chart.lock | 2 +- stable/truecommand/6.11.12/Chart.lock | 2 +- stable/tvheadend/7.11.11/Chart.lock | 2 +- stable/unifi/6.11.11/Chart.lock | 2 +- stable/unpackerr/1.11.11/Chart.lock | 2 +- stable/vaultwarden/6.1.8/Chart.lock | 2 +- stable/xteve/1.9.11/Chart.lock | 2 +- stable/zwavejs2mqtt/6.11.12/Chart.lock | 2 +- 137 files changed, 5303 insertions(+), 90 deletions(-) create mode 100644 stable/jdownloader2/1.0.0/CONFIG.md create mode 100644 stable/jdownloader2/1.0.0/Chart.lock create mode 100644 stable/jdownloader2/1.0.0/Chart.yaml create mode 100644 stable/jdownloader2/1.0.0/README.md create mode 100644 stable/jdownloader2/1.0.0/app-readme.md create mode 100644 stable/jdownloader2/1.0.0/charts/common-6.13.5.tgz create mode 100644 stable/jdownloader2/1.0.0/helm-values.md create mode 100644 stable/jdownloader2/1.0.0/ix_values.yaml create mode 100644 stable/jdownloader2/1.0.0/questions.yaml create mode 100644 stable/jdownloader2/1.0.0/templates/common.yaml create mode 100644 stable/jdownloader2/1.0.0/test_values.yaml create mode 100644 stable/jdownloader2/1.0.0/values.yaml create mode 100644 stable/jdownloader2/item.yaml create mode 100644 stable/traefik/7.0.0/CONFIG.md create mode 100644 stable/traefik/7.0.0/Chart.lock create mode 100644 stable/traefik/7.0.0/Chart.yaml create mode 100644 stable/traefik/7.0.0/README.md create mode 100644 stable/traefik/7.0.0/app-readme.md create mode 100644 stable/traefik/7.0.0/charts/common-6.13.6.tgz create mode 100644 stable/traefik/7.0.0/crds/ingressroute.yaml create mode 100644 stable/traefik/7.0.0/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/7.0.0/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/7.0.0/crds/middlewares.yaml create mode 100644 stable/traefik/7.0.0/crds/middlewarestcp.yaml create mode 100644 stable/traefik/7.0.0/crds/serverstransports.yaml create mode 100644 stable/traefik/7.0.0/crds/tlsoptions.yaml create mode 100644 stable/traefik/7.0.0/crds/tlsstores.yaml create mode 100644 stable/traefik/7.0.0/crds/traefikservices.yaml create mode 100644 stable/traefik/7.0.0/helm-values.md create mode 100644 stable/traefik/7.0.0/ix_values.yaml create mode 100644 stable/traefik/7.0.0/questions.yaml create mode 100644 stable/traefik/7.0.0/templates/_args.tpl create mode 100644 stable/traefik/7.0.0/templates/_helpers.tpl create mode 100644 stable/traefik/7.0.0/templates/_ingressclass.tpl create mode 100644 stable/traefik/7.0.0/templates/_ingressroute.tpl create mode 100644 stable/traefik/7.0.0/templates/_portalhook.tpl create mode 100644 stable/traefik/7.0.0/templates/_tlsoptions.tpl create mode 100644 stable/traefik/7.0.0/templates/common.yaml create mode 100644 stable/traefik/7.0.0/templates/middleware-namespace.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/basic-middleware.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/basicauth.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/chain.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/forwardauth.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/ratelimit.yaml create mode 100644 stable/traefik/7.0.0/templates/middlewares/redirectScheme.yaml create mode 100644 stable/traefik/7.0.0/test_values.yaml create mode 100644 stable/traefik/7.0.0/values.yaml diff --git a/incubator/custom-app/0.2.14/Chart.lock b/incubator/custom-app/0.2.14/Chart.lock index 9db929d729..2378b5aba3 100644 --- a/incubator/custom-app/0.2.14/Chart.lock +++ b/incubator/custom-app/0.2.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:24:05.241116118Z" +generated: "2021-09-03T23:07:21.042002892Z" diff --git a/incubator/nextcloud/3.7.5/Chart.lock b/incubator/nextcloud/3.7.5/Chart.lock index 625c35ecb5..e2f14faa36 100644 --- a/incubator/nextcloud/3.7.5/Chart.lock +++ b/incubator/nextcloud/3.7.5/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.2.0 digest: sha256:87548afd82343ac058ba6cff29b6b23c02706538e42aa12ef7d183872537e857 -generated: "2021-09-03T22:24:17.913864767Z" +generated: "2021-09-03T23:07:29.136737584Z" diff --git a/stable/airsonic/1.11.11/Chart.lock b/stable/airsonic/1.11.11/Chart.lock index 9f17c811b3..3f9cd79eb9 100644 --- a/stable/airsonic/1.11.11/Chart.lock +++ b/stable/airsonic/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:16:38.380382576Z" +generated: "2021-09-03T22:59:16.769209917Z" diff --git a/stable/appdaemon/3.11.11/Chart.lock b/stable/appdaemon/3.11.11/Chart.lock index c6b923f0c0..07e2519e6c 100644 --- a/stable/appdaemon/3.11.11/Chart.lock +++ b/stable/appdaemon/3.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:16:43.618924481Z" +generated: "2021-09-03T22:59:22.056936297Z" diff --git a/stable/authelia/1.6.20/Chart.lock b/stable/authelia/1.6.20/Chart.lock index cea50a25fb..ba7cd001ca 100644 --- a/stable/authelia/1.6.20/Chart.lock +++ b/stable/authelia/1.6.20/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.2.0 digest: sha256:87548afd82343ac058ba6cff29b6b23c02706538e42aa12ef7d183872537e857 -generated: "2021-09-03T22:16:51.247935169Z" +generated: "2021-09-03T22:59:30.077100442Z" diff --git a/stable/bazarr/6.11.12/Chart.lock b/stable/bazarr/6.11.12/Chart.lock index dd26605204..b2a5bde12c 100644 --- a/stable/bazarr/6.11.12/Chart.lock +++ b/stable/bazarr/6.11.12/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:00.196977136Z" +generated: "2021-09-03T22:59:39.364377666Z" diff --git a/stable/booksonic-air/1.9.11/Chart.lock b/stable/booksonic-air/1.9.11/Chart.lock index 4ad6fe2c73..df21323051 100644 --- a/stable/booksonic-air/1.9.11/Chart.lock +++ b/stable/booksonic-air/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:17:05.151916493Z" +generated: "2021-09-03T22:59:44.729452722Z" diff --git a/stable/calibre-web/6.11.11/Chart.lock b/stable/calibre-web/6.11.11/Chart.lock index 829934a30b..805ee8fc9c 100644 --- a/stable/calibre-web/6.11.11/Chart.lock +++ b/stable/calibre-web/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:15.069397466Z" +generated: "2021-09-03T22:59:55.070760195Z" diff --git a/stable/calibre/1.9.11/Chart.lock b/stable/calibre/1.9.11/Chart.lock index 12e44554db..f2d43ac0a9 100644 --- a/stable/calibre/1.9.11/Chart.lock +++ b/stable/calibre/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:17:10.097996806Z" +generated: "2021-09-03T22:59:49.941584269Z" diff --git a/stable/collabora-online/6.11.11/Chart.lock b/stable/collabora-online/6.11.11/Chart.lock index ae6bd49e4e..beeec5f931 100644 --- a/stable/collabora-online/6.11.11/Chart.lock +++ b/stable/collabora-online/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:19.960077235Z" +generated: "2021-09-03T23:00:00.288641318Z" diff --git a/stable/deconz/1.9.11/Chart.lock b/stable/deconz/1.9.11/Chart.lock index 6c97de8ae7..f64913a822 100644 --- a/stable/deconz/1.9.11/Chart.lock +++ b/stable/deconz/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:17:24.898709249Z" +generated: "2021-09-03T23:00:05.517167071Z" diff --git a/stable/deepstack-cpu/4.11.11/Chart.lock b/stable/deepstack-cpu/4.11.11/Chart.lock index 3010406fea..795a99c236 100644 --- a/stable/deepstack-cpu/4.11.11/Chart.lock +++ b/stable/deepstack-cpu/4.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:29.676121276Z" +generated: "2021-09-03T23:00:10.765745068Z" diff --git a/stable/deluge/6.11.11/Chart.lock b/stable/deluge/6.11.11/Chart.lock index ab418cddc0..7161adce74 100644 --- a/stable/deluge/6.11.11/Chart.lock +++ b/stable/deluge/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:34.454355363Z" +generated: "2021-09-03T23:00:15.990745081Z" diff --git a/stable/dizquetv/1.9.11/Chart.lock b/stable/dizquetv/1.9.11/Chart.lock index 34db5e3667..33095bd73a 100644 --- a/stable/dizquetv/1.9.11/Chart.lock +++ b/stable/dizquetv/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:17:39.36909985Z" +generated: "2021-09-03T23:00:21.242208421Z" diff --git a/stable/duplicati/1.9.11/Chart.lock b/stable/duplicati/1.9.11/Chart.lock index 23e3ba1caa..cb04ad2115 100644 --- a/stable/duplicati/1.9.11/Chart.lock +++ b/stable/duplicati/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:17:44.20332426Z" +generated: "2021-09-03T23:00:26.419410906Z" diff --git a/stable/emby/6.11.11/Chart.lock b/stable/emby/6.11.11/Chart.lock index c63528f2eb..9eb73a646f 100644 --- a/stable/emby/6.11.11/Chart.lock +++ b/stable/emby/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:48.989913861Z" +generated: "2021-09-03T23:00:31.741418959Z" diff --git a/stable/esphome/6.11.11/Chart.lock b/stable/esphome/6.11.11/Chart.lock index da0d73a0b7..df41f1f97f 100644 --- a/stable/esphome/6.11.11/Chart.lock +++ b/stable/esphome/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:53.79843254Z" +generated: "2021-09-03T23:00:37.066575075Z" diff --git a/stable/external-service/1.4.11/Chart.lock b/stable/external-service/1.4.11/Chart.lock index 98bb6c71c2..916b412c95 100644 --- a/stable/external-service/1.4.11/Chart.lock +++ b/stable/external-service/1.4.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:17:58.497861165Z" +generated: "2021-09-03T23:00:42.319890824Z" diff --git a/stable/fireflyiii/6.1.6/Chart.lock b/stable/fireflyiii/6.1.6/Chart.lock index b5af261283..fd8ed47520 100644 --- a/stable/fireflyiii/6.1.6/Chart.lock +++ b/stable/fireflyiii/6.1.6/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.5.10 digest: sha256:b20f0d5123c6e90d785f652821123fbb0849046236ebd960637a90f4dbd10cde -generated: "2021-09-03T22:18:04.177319462Z" +generated: "2021-09-03T23:00:48.63994503Z" diff --git a/stable/flaresolverr/1.9.11/Chart.lock b/stable/flaresolverr/1.9.11/Chart.lock index d7f03311bd..ef5c0b633a 100644 --- a/stable/flaresolverr/1.9.11/Chart.lock +++ b/stable/flaresolverr/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:18:10.03054696Z" +generated: "2021-09-03T23:00:54.951333386Z" diff --git a/stable/flood/1.9.11/Chart.lock b/stable/flood/1.9.11/Chart.lock index e8592c9c4f..092b58fc21 100644 --- a/stable/flood/1.9.11/Chart.lock +++ b/stable/flood/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:18:14.868180721Z" +generated: "2021-09-03T23:01:00.144555237Z" diff --git a/stable/focalboard/1.9.11/Chart.lock b/stable/focalboard/1.9.11/Chart.lock index 7ef6c105ed..c955742fbd 100644 --- a/stable/focalboard/1.9.11/Chart.lock +++ b/stable/focalboard/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:18:19.689775121Z" +generated: "2021-09-03T23:01:05.353479033Z" diff --git a/stable/freeradius/1.7.14/Chart.lock b/stable/freeradius/1.7.14/Chart.lock index 037465413e..812bf96940 100644 --- a/stable/freeradius/1.7.14/Chart.lock +++ b/stable/freeradius/1.7.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:24.572240969Z" +generated: "2021-09-03T23:01:10.555861654Z" diff --git a/stable/freshrss/6.11.11/Chart.lock b/stable/freshrss/6.11.11/Chart.lock index 96a225732e..01cd6d4be6 100644 --- a/stable/freshrss/6.11.11/Chart.lock +++ b/stable/freshrss/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:29.326292705Z" +generated: "2021-09-03T23:01:15.784957104Z" diff --git a/stable/gaps/6.11.11/Chart.lock b/stable/gaps/6.11.11/Chart.lock index d6c7239d2a..e04d228a1b 100644 --- a/stable/gaps/6.11.11/Chart.lock +++ b/stable/gaps/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:34.101494966Z" +generated: "2021-09-03T23:01:21.020426258Z" diff --git a/stable/gonic/1.9.11/Chart.lock b/stable/gonic/1.9.11/Chart.lock index 5f1f1d07e2..2d292218db 100644 --- a/stable/gonic/1.9.11/Chart.lock +++ b/stable/gonic/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:18:38.959308865Z" +generated: "2021-09-03T23:01:26.249460822Z" diff --git a/stable/grocy/6.11.11/Chart.lock b/stable/grocy/6.11.11/Chart.lock index 05c817d4ac..3caf02bb4d 100644 --- a/stable/grocy/6.11.11/Chart.lock +++ b/stable/grocy/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:43.71916564Z" +generated: "2021-09-03T23:01:31.587591417Z" diff --git a/stable/handbrake/6.11.11/Chart.lock b/stable/handbrake/6.11.11/Chart.lock index 048b3e57e1..67e6c5bb2d 100644 --- a/stable/handbrake/6.11.11/Chart.lock +++ b/stable/handbrake/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:48.636085929Z" +generated: "2021-09-03T23:01:36.735621831Z" diff --git a/stable/haste-server/1.11.11/Chart.lock b/stable/haste-server/1.11.11/Chart.lock index 0eb1103d73..56e8b6551e 100644 --- a/stable/haste-server/1.11.11/Chart.lock +++ b/stable/haste-server/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:18:53.396803965Z" +generated: "2021-09-03T23:01:41.962427107Z" diff --git a/stable/healthchecks/1.9.11/Chart.lock b/stable/healthchecks/1.9.11/Chart.lock index b1b320df2b..43b9cc9e7a 100644 --- a/stable/healthchecks/1.9.11/Chart.lock +++ b/stable/healthchecks/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:18:58.169948625Z" +generated: "2021-09-03T23:01:47.216008894Z" diff --git a/stable/heimdall/6.11.11/Chart.lock b/stable/heimdall/6.11.11/Chart.lock index 1055ddc6b4..2b5222035f 100644 --- a/stable/heimdall/6.11.11/Chart.lock +++ b/stable/heimdall/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:02.940364699Z" +generated: "2021-09-03T23:01:52.403691905Z" diff --git a/stable/home-assistant/6.11.11/Chart.lock b/stable/home-assistant/6.11.11/Chart.lock index 9754fc53d4..52643d0e0e 100644 --- a/stable/home-assistant/6.11.11/Chart.lock +++ b/stable/home-assistant/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:07.829622128Z" +generated: "2021-09-03T23:01:57.639288761Z" diff --git a/stable/hyperion-ng/1.9.11/Chart.lock b/stable/hyperion-ng/1.9.11/Chart.lock index 335aec0b06..f9e58a4919 100644 --- a/stable/hyperion-ng/1.9.11/Chart.lock +++ b/stable/hyperion-ng/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:19:12.803305981Z" +generated: "2021-09-03T23:02:02.913924467Z" diff --git a/stable/jackett/6.11.13/Chart.lock b/stable/jackett/6.11.13/Chart.lock index 49e1874926..7c5936de45 100644 --- a/stable/jackett/6.11.13/Chart.lock +++ b/stable/jackett/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:17.709045944Z" +generated: "2021-09-03T23:02:08.186873209Z" diff --git a/stable/jdownloader2/1.0.0/CONFIG.md b/stable/jdownloader2/1.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/jdownloader2/1.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jdownloader2/1.0.0/Chart.lock b/stable/jdownloader2/1.0.0/Chart.lock new file mode 100644 index 0000000000..84d05f66bc --- /dev/null +++ b/stable/jdownloader2/1.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.5 +digest: sha256:d66e960969111e54b31985fb935020a0befa4e808967ac180a7b6ccbbb308195 +generated: "2021-09-03T23:02:13.405924936Z" diff --git a/stable/jdownloader2/1.0.0/Chart.yaml b/stable/jdownloader2/1.0.0/Chart.yaml new file mode 100644 index 0000000000..b9451606d4 --- /dev/null +++ b/stable/jdownloader2/1.0.0/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.5 +deprecated: false +description: JDownloader is a free, open-source download management tool with a huge + community of developers that makes downloading as easy and fast as it should be. +home: https://github.com/truecharts/apps/tree/master/charts/stable/jackett +icon: https://jdownloader.org/_media/knowledge/wiki/jdownloader.png?w=150 +keywords: +- jdownloader +- download +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: jdownloader2 +sources: +- https://github.com/jlesage/docker-jdownloader-2 +- https://hub.docker.com/r/jlesage/jdownloader-2 +- https://jdownloader.org/ +type: application +version: 1.0.0 diff --git a/stable/jdownloader2/1.0.0/README.md b/stable/jdownloader2/1.0.0/README.md new file mode 100644 index 0000000000..c78c4aeb46 --- /dev/null +++ b/stable/jdownloader2/1.0.0/README.md @@ -0,0 +1,39 @@ +# Introduction + +JDownloader is a free, open-source download management tool with a huge community of developers that makes downloading as easy and fast as it should be. + +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.12.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/jdownloader2/1.0.0/app-readme.md b/stable/jdownloader2/1.0.0/app-readme.md new file mode 100644 index 0000000000..fcc6e45d8a --- /dev/null +++ b/stable/jdownloader2/1.0.0/app-readme.md @@ -0,0 +1,4 @@ +JDownloader is a free, open-source download management tool with a huge community of developers that makes downloading as easy and fast as it should be. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +JDownloader is a free, open-source download management tool with a huge diff --git a/stable/jdownloader2/1.0.0/charts/common-6.13.5.tgz b/stable/jdownloader2/1.0.0/charts/common-6.13.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8506da4c897bcf699a4066a355b2e6c4200e4131 GIT binary patch literal 29106 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 BCfWc1 literal 0 HcmV?d00001 diff --git a/stable/jdownloader2/1.0.0/helm-values.md b/stable/jdownloader2/1.0.0/helm-values.md new file mode 100644 index 0000000000..c628cf14cf --- /dev/null +++ b/stable/jdownloader2/1.0.0/helm-values.md @@ -0,0 +1,40 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.CLEAN_TMP_DIR | string | `"1"` | | +| env.DISPLAY_HEIGHT | string | `"768"` | | +| env.DISPLAY_WIDTH | string | `"1280"` | | +| env.KEEP_APP_RUNNING | string | `"0"` | | +| env.PGID | string | `"568"` | | +| env.PUID | string | `"568"` | | +| env.SECURE_CONNECTION | string | `"0"` | | +| env.VNC_PASSWORD | string | `nil` | | +| envTpl.GROUP_ID | string | `"{{ .Values.env.PGID }}"` | | +| envTpl.USER_ID | string | `"{{ .Values.env.PUID }}"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"jlesage/jdownloader-2"` | | +| image.tag | string | `"v1.7.1"` | | +| persistence.config.accessMode | string | `"ReadWriteOnce"` | | +| persistence.config.enabled | bool | `true` | | +| persistence.config.mountPath | string | `"/config"` | | +| persistence.config.size | string | `"100Gi"` | | +| persistence.config.type | string | `"pvc"` | | +| service.main.ports.main.port | int | `5800` | | +| service.vnc.enabled | bool | `true` | | +| service.vnc.ports.vnc.enabled | bool | `true` | | +| service.vnc.ports.vnc.port | int | `5900` | | +| service.vnc.ports.vnc.protocol | string | `"TCP"` | | +| service.vnc.type | string | `"ClusterIP"` | | +| strategy.type | string | `"Recreate"` | | + +All Rights Reserved - The TrueCharts Project diff --git a/stable/jdownloader2/1.0.0/ix_values.yaml b/stable/jdownloader2/1.0.0/ix_values.yaml new file mode 100644 index 0000000000..f54d8d42d5 --- /dev/null +++ b/stable/jdownloader2/1.0.0/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: jlesage/jdownloader-2 + tag: v1.7.1 + pullPolicy: IfNotPresent + +#All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jdownloader2/1.0.0/questions.yaml b/stable/jdownloader2/1.0.0/questions.yaml new file mode 100644 index 0000000000..dbc87cce0d --- /dev/null +++ b/stable/jdownloader2/1.0.0/questions.yaml @@ -0,0 +1,1187 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + # Portal + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: PUID + label: "PUID" + description: "Sets the PUID env var for jdownloader2 containers" + schema: + type: int + default: 568 + - variable: PGID + label: "PGID" + description: "Sets the PGID env var for jdownloader2 containers" + schema: + type: int + default: 568 + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for jdownloader2 containers" + schema: + type: string + default: "022" + - variable: KEEP_APP_RUNNING + label: "KEEP_APP_RUNNING" + description: "When set to 1, the application will be automatically restarted if it crashes or if a user quits it." + schema: + type: int + default: 0 + - variable: gui + label: "GUI Settings" + description: "Always read description before changing a value here. Also refer to README" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: DISPLAY_WIDTH + label: "DISPLAY_WIDTH" + description: "Width (in pixels) of the application's window." + schema: + type: string + default: "1280" + required: true + - variable: DISPLAY_HEIGHT + label: "DISPLAY_HEIGHT" + description: "Height (in pixels) of the application's window." + schema: + type: string + default: "768" + required: true + - variable: SECURE_CONNECTION + label: "SECURE_CONNECTION" + description: "When set to 1, an encrypted connection is used to access the application's GUI (either via a web browser or VNC client). See the Security section for more details." + schema: + type: string + default: "0" + required: true + - variable: VNC_PASSWORD + label: "VNC_PASSWORD" + description: "Password needed to connect to the application's GUI. See the VNC Password section for more details." + schema: + private: true + type: string + default: "" + - variable: 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5800 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 5580 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36093 + - variable: myjd + label: "MyJDownloader" + description: "Port used by MyJDownloader mobile applications and browser extensions to establish a direct connect to the JDownloader" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are 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: myjd + label: "myjd Service Port Configuration" + schema: + type: 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3129 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 3129 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + - 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 5900 + editable: false + hidden: true + - variable: port + label: "Container Port" + 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: 36094 + + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + required: true + default: "" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + + + - variable: ingressList + label: "Additional Ingress" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - 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: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - 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: Privileged mode + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: true + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" + + + + - variable: autoscaling + group: "Resources and Devices" + label: "Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 diff --git a/stable/jdownloader2/1.0.0/templates/common.yaml b/stable/jdownloader2/1.0.0/templates/common.yaml new file mode 100644 index 0000000000..a6613c2ce2 --- /dev/null +++ b/stable/jdownloader2/1.0.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jdownloader2/1.0.0/test_values.yaml b/stable/jdownloader2/1.0.0/test_values.yaml new file mode 100644 index 0000000000..bf467dbc38 --- /dev/null +++ b/stable/jdownloader2/1.0.0/test_values.yaml @@ -0,0 +1,50 @@ +# Default values for jdownloader2. + +image: + repository: jlesage/jdownloader-2 + pullPolicy: IfNotPresent + tag: v1.7.1 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 5800 + vnc: + enabled: true + type: ClusterIP + ports: + vnc: + enabled: true + port: 5900 + protocol: "TCP" + +# All values here are set as the docker defaults. +envTpl: + # Permissions Settings + USER_ID: "{{ .Values.env.PUID }}" + GROUP_ID: "{{ .Values.env.PGID }}" + +env: + # Permissions Settings + PUID: "568" + PGID: "568" + # General Settings + KEEP_APP_RUNNING: "0" + CLEAN_TMP_DIR: "1" + # GUI Settings + DISPLAY_WIDTH: "1280" + DISPLAY_HEIGHT: "768" + SECURE_CONNECTION: "0" + VNC_PASSWORD: + +persistence: + config: + enabled: true + mountPath: "/config" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" diff --git a/stable/jdownloader2/1.0.0/values.yaml b/stable/jdownloader2/1.0.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/jdownloader2/item.yaml b/stable/jdownloader2/item.yaml new file mode 100644 index 0000000000..ade8a9bc32 --- /dev/null +++ b/stable/jdownloader2/item.yaml @@ -0,0 +1,3 @@ +categories: + - downloads +icon_url: https://jdownloader.org/_media/knowledge/wiki/jdownloader.png?w=150 diff --git a/stable/jellyfin/6.11.11/Chart.lock b/stable/jellyfin/6.11.11/Chart.lock index 3cf57d58fa..e71c0a716c 100644 --- a/stable/jellyfin/6.11.11/Chart.lock +++ b/stable/jellyfin/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:22.655227274Z" +generated: "2021-09-03T23:02:18.682991119Z" diff --git a/stable/k8s-gateway/1.0.6/Chart.lock b/stable/k8s-gateway/1.0.6/Chart.lock index 5af97e6fbe..987b4bcf83 100644 --- a/stable/k8s-gateway/1.0.6/Chart.lock +++ b/stable/k8s-gateway/1.0.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.3 digest: sha256:0830cf69ca08fc00ef2577f7f2fd36de01eaeb815f3c41f830321a3a615c0b6a -generated: "2021-09-03T22:19:27.470505054Z" +generated: "2021-09-03T23:02:23.916024204Z" diff --git a/stable/kms/6.11.11/Chart.lock b/stable/kms/6.11.11/Chart.lock index 3f1fe95a42..0dd17ed7ed 100644 --- a/stable/kms/6.11.11/Chart.lock +++ b/stable/kms/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:32.469041315Z" +generated: "2021-09-03T23:02:29.296233712Z" diff --git a/stable/komga/1.9.14/Chart.lock b/stable/komga/1.9.14/Chart.lock index a71dbb7fe9..d8af9501d0 100644 --- a/stable/komga/1.9.14/Chart.lock +++ b/stable/komga/1.9.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:19:37.190834735Z" +generated: "2021-09-03T23:02:34.528940301Z" diff --git a/stable/lazylibrarian/6.11.11/Chart.lock b/stable/lazylibrarian/6.11.11/Chart.lock index 1941baba45..a9bb6acf17 100644 --- a/stable/lazylibrarian/6.11.11/Chart.lock +++ b/stable/lazylibrarian/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:41.962160549Z" +generated: "2021-09-03T23:02:39.809522535Z" diff --git a/stable/librespeed/1.9.11/Chart.lock b/stable/librespeed/1.9.11/Chart.lock index a9eee6d4f4..69c547bc50 100644 --- a/stable/librespeed/1.9.11/Chart.lock +++ b/stable/librespeed/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:19:46.745874901Z" +generated: "2021-09-03T23:02:45.125833297Z" diff --git a/stable/lidarr/6.11.11/Chart.lock b/stable/lidarr/6.11.11/Chart.lock index 67c3e0169d..7c1d1a8128 100644 --- a/stable/lidarr/6.11.11/Chart.lock +++ b/stable/lidarr/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:51.640586115Z" +generated: "2021-09-03T23:02:50.335749947Z" diff --git a/stable/littlelink/1.5.11/Chart.lock b/stable/littlelink/1.5.11/Chart.lock index e5fe41bf25..b25fe9fa6a 100644 --- a/stable/littlelink/1.5.11/Chart.lock +++ b/stable/littlelink/1.5.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:19:56.55921118Z" +generated: "2021-09-03T23:02:55.583509473Z" diff --git a/stable/lychee/6.11.11/Chart.lock b/stable/lychee/6.11.11/Chart.lock index 55dd162ed0..698811b417 100644 --- a/stable/lychee/6.11.11/Chart.lock +++ b/stable/lychee/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:01.464240129Z" +generated: "2021-09-03T23:03:00.803145446Z" diff --git a/stable/mealie/1.11.11/Chart.lock b/stable/mealie/1.11.11/Chart.lock index 8b5b90b260..00ba182552 100644 --- a/stable/mealie/1.11.11/Chart.lock +++ b/stable/mealie/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:06.3410323Z" +generated: "2021-09-03T23:03:06.011842033Z" diff --git a/stable/mosquitto/1.11.11/Chart.lock b/stable/mosquitto/1.11.11/Chart.lock index 24f390cab1..79828b1af5 100644 --- a/stable/mosquitto/1.11.11/Chart.lock +++ b/stable/mosquitto/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:11.118693807Z" +generated: "2021-09-03T23:03:11.240358137Z" diff --git a/stable/mylar/1.9.11/Chart.lock b/stable/mylar/1.9.11/Chart.lock index 59cc58ab1d..4c55826ccf 100644 --- a/stable/mylar/1.9.11/Chart.lock +++ b/stable/mylar/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:20:15.95671328Z" +generated: "2021-09-03T23:03:16.448221563Z" diff --git a/stable/navidrome/6.11.11/Chart.lock b/stable/navidrome/6.11.11/Chart.lock index eb9de2e254..3ae72affbf 100644 --- a/stable/navidrome/6.11.11/Chart.lock +++ b/stable/navidrome/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:20.847276951Z" +generated: "2021-09-03T23:03:21.668781358Z" diff --git a/stable/node-red/6.11.11/Chart.lock b/stable/node-red/6.11.11/Chart.lock index d72667fb37..54d435c01a 100644 --- a/stable/node-red/6.11.11/Chart.lock +++ b/stable/node-red/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:25.714079316Z" +generated: "2021-09-03T23:03:26.832330477Z" diff --git a/stable/nullserv/1.9.11/Chart.lock b/stable/nullserv/1.9.11/Chart.lock index ee31e2526a..44f1458117 100644 --- a/stable/nullserv/1.9.11/Chart.lock +++ b/stable/nullserv/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:20:30.553864528Z" +generated: "2021-09-03T23:03:32.063853229Z" diff --git a/stable/nzbget/6.11.11/Chart.lock b/stable/nzbget/6.11.11/Chart.lock index cc7cdd14b3..5e4f6a213b 100644 --- a/stable/nzbget/6.11.11/Chart.lock +++ b/stable/nzbget/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:35.42914572Z" +generated: "2021-09-03T23:03:37.662900649Z" diff --git a/stable/nzbhydra/6.11.11/Chart.lock b/stable/nzbhydra/6.11.11/Chart.lock index 66de2e3ea6..966ed9f0f9 100644 --- a/stable/nzbhydra/6.11.11/Chart.lock +++ b/stable/nzbhydra/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:40.259329245Z" +generated: "2021-09-03T23:03:42.89472415Z" diff --git a/stable/octoprint/1.9.11/Chart.lock b/stable/octoprint/1.9.11/Chart.lock index 0120cbc5d1..70a4d47f9b 100644 --- a/stable/octoprint/1.9.11/Chart.lock +++ b/stable/octoprint/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:20:45.095071089Z" +generated: "2021-09-03T23:03:48.236322127Z" diff --git a/stable/omada-controller/1.9.11/Chart.lock b/stable/omada-controller/1.9.11/Chart.lock index 7f2e0293aa..7d9d9dd0e9 100644 --- a/stable/omada-controller/1.9.11/Chart.lock +++ b/stable/omada-controller/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:20:50.011885855Z" +generated: "2021-09-03T23:03:53.503425747Z" diff --git a/stable/ombi/6.11.12/Chart.lock b/stable/ombi/6.11.12/Chart.lock index becde02d5a..21248cf050 100644 --- a/stable/ombi/6.11.12/Chart.lock +++ b/stable/ombi/6.11.12/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:54.912130915Z" +generated: "2021-09-03T23:03:58.680300476Z" diff --git a/stable/openldap/1.7.15/Chart.lock b/stable/openldap/1.7.15/Chart.lock index 319916d718..399c810cbd 100644 --- a/stable/openldap/1.7.15/Chart.lock +++ b/stable/openldap/1.7.15/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:20:59.837855886Z" +generated: "2021-09-03T23:04:03.9660842Z" diff --git a/stable/organizr/6.11.11/Chart.lock b/stable/organizr/6.11.11/Chart.lock index 11a7756474..726e59fe46 100644 --- a/stable/organizr/6.11.11/Chart.lock +++ b/stable/organizr/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:04.635649262Z" +generated: "2021-09-03T23:04:09.147697558Z" diff --git a/stable/overseerr/1.9.11/Chart.lock b/stable/overseerr/1.9.11/Chart.lock index 7c6f51204e..5cd3fae751 100644 --- a/stable/overseerr/1.9.11/Chart.lock +++ b/stable/overseerr/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:09.442643834Z" +generated: "2021-09-03T23:04:14.354691313Z" diff --git a/stable/owncast/1.9.11/Chart.lock b/stable/owncast/1.9.11/Chart.lock index 61f7abbb44..d3ec0abdc8 100644 --- a/stable/owncast/1.9.11/Chart.lock +++ b/stable/owncast/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:14.307567672Z" +generated: "2021-09-03T23:04:19.631023847Z" diff --git a/stable/owncloud-ocis/1.9.11/Chart.lock b/stable/owncloud-ocis/1.9.11/Chart.lock index f66f184143..a5d7b87754 100644 --- a/stable/owncloud-ocis/1.9.11/Chart.lock +++ b/stable/owncloud-ocis/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:19.14114263Z" +generated: "2021-09-03T23:04:24.9646826Z" diff --git a/stable/pgadmin/1.8.11/Chart.lock b/stable/pgadmin/1.8.11/Chart.lock index a91e9524a0..843bb7e25d 100644 --- a/stable/pgadmin/1.8.11/Chart.lock +++ b/stable/pgadmin/1.8.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:23.955632085Z" +generated: "2021-09-03T23:04:30.216900516Z" diff --git a/stable/photoprism/1.9.11/Chart.lock b/stable/photoprism/1.9.11/Chart.lock index 232684b1f5..b857e48828 100644 --- a/stable/photoprism/1.9.11/Chart.lock +++ b/stable/photoprism/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:28.749929327Z" +generated: "2021-09-03T23:04:35.464421973Z" diff --git a/stable/phpldapadmin/1.8.11/Chart.lock b/stable/phpldapadmin/1.8.11/Chart.lock index 05457fe00b..d74bfbeb3b 100644 --- a/stable/phpldapadmin/1.8.11/Chart.lock +++ b/stable/phpldapadmin/1.8.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:33.639796084Z" +generated: "2021-09-03T23:04:40.705997281Z" diff --git a/stable/piaware/1.9.11/Chart.lock b/stable/piaware/1.9.11/Chart.lock index ea8068d5ab..e30c2fee8f 100644 --- a/stable/piaware/1.9.11/Chart.lock +++ b/stable/piaware/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:38.569371601Z" +generated: "2021-09-03T23:04:45.926231932Z" diff --git a/stable/plex/5.11.11/Chart.lock b/stable/plex/5.11.11/Chart.lock index 701748b768..f9adcd0d63 100644 --- a/stable/plex/5.11.11/Chart.lock +++ b/stable/plex/5.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:43.529389532Z" +generated: "2021-09-03T23:04:51.197393872Z" diff --git a/stable/podgrab/4.11.11/Chart.lock b/stable/podgrab/4.11.11/Chart.lock index 5515733857..84358e6776 100644 --- a/stable/podgrab/4.11.11/Chart.lock +++ b/stable/podgrab/4.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:48.309643397Z" +generated: "2021-09-03T23:04:56.44032667Z" diff --git a/stable/postgresql/1.5.11/Chart.lock b/stable/postgresql/1.5.11/Chart.lock index dbc4bc41c3..237966e277 100644 --- a/stable/postgresql/1.5.11/Chart.lock +++ b/stable/postgresql/1.5.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:21:53.340395692Z" +generated: "2021-09-03T23:05:01.746448251Z" diff --git a/stable/pretend-youre-xyzzy/1.9.11/Chart.lock b/stable/pretend-youre-xyzzy/1.9.11/Chart.lock index a9e5bc7432..be112e5498 100644 --- a/stable/pretend-youre-xyzzy/1.9.11/Chart.lock +++ b/stable/pretend-youre-xyzzy/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:21:58.355958152Z" +generated: "2021-09-03T23:05:06.95940822Z" diff --git a/stable/protonmail-bridge/1.9.11/Chart.lock b/stable/protonmail-bridge/1.9.11/Chart.lock index fa9889b12f..c93ef159e0 100644 --- a/stable/protonmail-bridge/1.9.11/Chart.lock +++ b/stable/protonmail-bridge/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:22:03.401348884Z" +generated: "2021-09-03T23:05:12.298696553Z" diff --git a/stable/prowlarr/1.11.13/Chart.lock b/stable/prowlarr/1.11.13/Chart.lock index 972937e2d0..d67398be18 100644 --- a/stable/prowlarr/1.11.13/Chart.lock +++ b/stable/prowlarr/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:08.388455961Z" +generated: "2021-09-03T23:05:17.57506659Z" diff --git a/stable/pyload/1.9.11/Chart.lock b/stable/pyload/1.9.11/Chart.lock index 57a6723863..6602a13564 100644 --- a/stable/pyload/1.9.11/Chart.lock +++ b/stable/pyload/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:22:13.40188413Z" +generated: "2021-09-03T23:05:22.788998489Z" diff --git a/stable/qbittorrent/6.11.11/Chart.lock b/stable/qbittorrent/6.11.11/Chart.lock index e0d34b77cc..532dd472cd 100644 --- a/stable/qbittorrent/6.11.11/Chart.lock +++ b/stable/qbittorrent/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:18.609336172Z" +generated: "2021-09-03T23:05:28.036378138Z" diff --git a/stable/radarr/6.11.11/Chart.lock b/stable/radarr/6.11.11/Chart.lock index ec1213fe57..35bc857ffa 100644 --- a/stable/radarr/6.11.11/Chart.lock +++ b/stable/radarr/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:23.588614268Z" +generated: "2021-09-03T23:05:33.317210356Z" diff --git a/stable/readarr/6.11.11/Chart.lock b/stable/readarr/6.11.11/Chart.lock index 4e7b3c58e2..734c938723 100644 --- a/stable/readarr/6.11.11/Chart.lock +++ b/stable/readarr/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:28.513692495Z" +generated: "2021-09-03T23:05:38.594725321Z" diff --git a/stable/reg/1.11.11/Chart.lock b/stable/reg/1.11.11/Chart.lock index 7d05f2822b..d983edaa0c 100644 --- a/stable/reg/1.11.11/Chart.lock +++ b/stable/reg/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:33.537097513Z" +generated: "2021-09-03T23:05:43.93548649Z" diff --git a/stable/resilio-sync/1.9.11/Chart.lock b/stable/resilio-sync/1.9.11/Chart.lock index 2fb09b8d5c..8927266607 100644 --- a/stable/resilio-sync/1.9.11/Chart.lock +++ b/stable/resilio-sync/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:22:38.480357614Z" +generated: "2021-09-03T23:05:49.160607929Z" diff --git a/stable/sabnzbd/6.11.11/Chart.lock b/stable/sabnzbd/6.11.11/Chart.lock index fb8b9b9268..6f0c69430e 100644 --- a/stable/sabnzbd/6.11.11/Chart.lock +++ b/stable/sabnzbd/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:43.378784005Z" +generated: "2021-09-03T23:05:54.415250966Z" diff --git a/stable/ser2sock/1.9.11/Chart.lock b/stable/ser2sock/1.9.11/Chart.lock index 83406216a5..1a3e3252b6 100644 --- a/stable/ser2sock/1.9.11/Chart.lock +++ b/stable/ser2sock/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:22:48.348887305Z" +generated: "2021-09-03T23:05:59.812063549Z" diff --git a/stable/sonarr/6.11.11/Chart.lock b/stable/sonarr/6.11.11/Chart.lock index b0d3427ff4..2be9a86eb2 100644 --- a/stable/sonarr/6.11.11/Chart.lock +++ b/stable/sonarr/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:22:53.418265178Z" +generated: "2021-09-03T23:06:05.187694727Z" diff --git a/stable/stash/1.9.12/Chart.lock b/stable/stash/1.9.12/Chart.lock index e5e2fa14cf..93d9138319 100644 --- a/stable/stash/1.9.12/Chart.lock +++ b/stable/stash/1.9.12/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:22:58.240037481Z" +generated: "2021-09-03T23:06:10.381407042Z" diff --git a/stable/syncthing/6.11.11/Chart.lock b/stable/syncthing/6.11.11/Chart.lock index 7afa1404cb..ebd6af9a54 100644 --- a/stable/syncthing/6.11.11/Chart.lock +++ b/stable/syncthing/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:03.170492244Z" +generated: "2021-09-03T23:06:15.671186667Z" diff --git a/stable/tautulli/6.11.11/Chart.lock b/stable/tautulli/6.11.11/Chart.lock index 2bc900a073..4585b40e2f 100644 --- a/stable/tautulli/6.11.11/Chart.lock +++ b/stable/tautulli/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:08.180083547Z" +generated: "2021-09-03T23:06:20.941509139Z" diff --git a/stable/thelounge/1.11.11/Chart.lock b/stable/thelounge/1.11.11/Chart.lock index c7c248443a..23fdc14380 100644 --- a/stable/thelounge/1.11.11/Chart.lock +++ b/stable/thelounge/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:13.185868453Z" +generated: "2021-09-03T23:06:26.152481506Z" diff --git a/stable/traefik/7.0.0/CONFIG.md b/stable/traefik/7.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/traefik/7.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/traefik/7.0.0/Chart.lock b/stable/traefik/7.0.0/Chart.lock new file mode 100644 index 0000000000..fdc23e9927 --- /dev/null +++ b/stable/traefik/7.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.6 +digest: sha256:ba7278fafb744eaa1096176962336c2a1c7b08f49ffd2649e233d3613c1b0795 +generated: "2021-09-03T23:06:31.437264935Z" diff --git a/stable/traefik/7.0.0/Chart.yaml b/stable/traefik/7.0.0/Chart.yaml new file mode 100644 index 0000000000..000ee8e972 --- /dev/null +++ b/stable/traefik/7.0.0/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.6 +deprecated: false +description: Test App for Traefik +home: https://github.com/truecharts/apps/tree/master/charts/stable/traefik +icon: https://raw.githubusercontent.com/traefik/traefik/v2.3/docs/content/assets/img/traefik.logo.png +keywords: +- traefik +- ingress +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: traefik +sources: +- https://github.com/traefik/traefik +- https://github.com/traefik/traefik-helm-chart +- https://traefik.io/ +type: application +version: 7.0.0 diff --git a/stable/traefik/7.0.0/README.md b/stable/traefik/7.0.0/README.md new file mode 100644 index 0000000000..31d33ae00b --- /dev/null +++ b/stable/traefik/7.0.0/README.md @@ -0,0 +1,39 @@ +# Introduction + +Test App for Traefik + +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.13.4 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/traefik/7.0.0/app-readme.md b/stable/traefik/7.0.0/app-readme.md new file mode 100644 index 0000000000..544bc1240d --- /dev/null +++ b/stable/traefik/7.0.0/app-readme.md @@ -0,0 +1,4 @@ +Test App for Traefik + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Test App for Traefik diff --git a/stable/traefik/7.0.0/charts/common-6.13.6.tgz b/stable/traefik/7.0.0/charts/common-6.13.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..8a7eef0e76556b5b42da2fb283e0ccc613319140 GIT binary patch literal 29078 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 ZpZ@8e{^=j`{4W3i|Nl=#8cP7=0s!8DXFdP` literal 0 HcmV?d00001 diff --git a/stable/traefik/7.0.0/crds/ingressroute.yaml b/stable/traefik/7.0.0/crds/ingressroute.yaml new file mode 100644 index 0000000000..3391ba532a --- /dev/null +++ b/stable/traefik/7.0.0/crds/ingressroute.yaml @@ -0,0 +1,198 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: ingressroutes.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: IngressRoute + listKind: IngressRouteList + plural: ingressroutes + singular: ingressroute + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: IngressRoute is an Ingress CRD specification. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IngressRouteSpec is a specification for a IngressRouteSpec + resource. + properties: + entryPoints: + items: + type: string + type: array + routes: + items: + description: Route contains the set of routes. + properties: + kind: + enum: + - Rule + type: string + match: + type: string + middlewares: + items: + description: MiddlewareRef is a ref to the Middleware resources. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + type: array + priority: + type: integer + services: + items: + description: Service defines an upstream to proxy traffic. + properties: + kind: + enum: + - Service + - TraefikService + type: string + name: + description: Name is a reference to a Kubernetes Service + object (for a load-balancer of servers), or to a TraefikService + object (service load-balancer, mirroring, etc). The + differentiation between the two is specified in the + Kind field. + type: string + namespace: + type: string + passHostHeader: + type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding holds configuration for + the forward of the response. + properties: + flushInterval: + type: string + type: object + scheme: + type: string + serversTransport: + type: string + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration + based on cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + strategy: + type: string + weight: + description: Weight should only be specified when Name + references a TraefikService object (and to be precise, + one that embeds a Weighted Round Robin). + type: integer + required: + - name + type: object + type: array + required: + - kind + - match + type: object + type: array + tls: + description: "TLS contains the TLS certificates configuration of the + routes. To enable Let's Encrypt, use an empty TLS struct, e.g. in + YAML: \n \t tls: {} # inline format \n \t tls: \t secretName: + # block format" + properties: + certResolver: + type: string + domains: + items: + description: Domain holds a domain name with SANs. + properties: + main: + type: string + sans: + items: + type: string + type: array + type: object + type: array + options: + description: Options is a reference to a TLSOption, that specifies + the parameters of the TLS connection. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + secretName: + description: SecretName is the name of the referenced Kubernetes + Secret to specify the certificate details. + type: string + store: + description: Store is a reference to a TLSStore, that specifies + the parameters of the TLS store. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + type: object + required: + - routes + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/ingressroutetcp.yaml b/stable/traefik/7.0.0/crds/ingressroutetcp.yaml new file mode 100644 index 0000000000..67e099b47d --- /dev/null +++ b/stable/traefik/7.0.0/crds/ingressroutetcp.yaml @@ -0,0 +1,160 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: ingressroutetcps.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: IngressRouteTCP + listKind: IngressRouteTCPList + plural: ingressroutetcps + singular: ingressroutetcp + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: IngressRouteTCP is an Ingress CRD specification. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IngressRouteTCPSpec is a specification for a IngressRouteTCPSpec + resource. + properties: + entryPoints: + items: + type: string + type: array + routes: + items: + description: RouteTCP contains the set of routes. + properties: + match: + type: string + middlewares: + description: Middlewares contains references to MiddlewareTCP + resources. + items: + description: ObjectReference is a generic reference to a Traefik + resource. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + type: array + services: + items: + description: ServiceTCP defines an upstream to proxy traffic. + properties: + name: + type: string + namespace: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + proxyProtocol: + description: ProxyProtocol holds the ProxyProtocol configuration. + properties: + version: + type: integer + type: object + terminationDelay: + type: integer + weight: + type: integer + required: + - name + - port + type: object + type: array + required: + - match + type: object + type: array + tls: + description: "TLSTCP contains the TLS certificates configuration of + the routes. To enable Let's Encrypt, use an empty TLS struct, e.g. + in YAML: \n \t tls: {} # inline format \n \t tls: \t secretName: + # block format" + properties: + certResolver: + type: string + domains: + items: + description: Domain holds a domain name with SANs. + properties: + main: + type: string + sans: + items: + type: string + type: array + type: object + type: array + options: + description: Options is a reference to a TLSOption, that specifies + the parameters of the TLS connection. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + passthrough: + type: boolean + secretName: + description: SecretName is the name of the referenced Kubernetes + Secret to specify the certificate details. + type: string + store: + description: Store is a reference to a TLSStore, that specifies + the parameters of the TLS store. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + type: object + required: + - routes + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/ingressrouteudp.yaml b/stable/traefik/7.0.0/crds/ingressrouteudp.yaml new file mode 100644 index 0000000000..910acd6c27 --- /dev/null +++ b/stable/traefik/7.0.0/crds/ingressrouteudp.yaml @@ -0,0 +1,84 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: ingressrouteudps.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: IngressRouteUDP + listKind: IngressRouteUDPList + plural: ingressrouteudps + singular: ingressrouteudp + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: IngressRouteUDP is an Ingress CRD specification. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IngressRouteUDPSpec is a specification for a IngressRouteUDPSpec + resource. + properties: + entryPoints: + items: + type: string + type: array + routes: + items: + description: RouteUDP contains the set of routes. + properties: + services: + items: + description: ServiceUDP defines an upstream to proxy traffic. + properties: + name: + type: string + namespace: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + weight: + type: integer + required: + - name + - port + type: object + type: array + type: object + type: array + required: + - routes + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/middlewares.yaml b/stable/traefik/7.0.0/crds/middlewares.yaml new file mode 100644 index 0000000000..1770587a32 --- /dev/null +++ b/stable/traefik/7.0.0/crds/middlewares.yaml @@ -0,0 +1,563 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: middlewares.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: Middleware + listKind: MiddlewareList + plural: middlewares + singular: middleware + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Middleware is a specification for a Middleware resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: MiddlewareSpec holds the Middleware configuration. + properties: + addPrefix: + description: AddPrefix holds the AddPrefix configuration. + properties: + prefix: + type: string + type: object + basicAuth: + description: BasicAuth holds the HTTP basic authentication configuration. + properties: + headerField: + type: string + realm: + type: string + removeHeader: + type: boolean + secret: + type: string + type: object + buffering: + description: Buffering holds the request/response buffering configuration. + properties: + maxRequestBodyBytes: + format: int64 + type: integer + maxResponseBodyBytes: + format: int64 + type: integer + memRequestBodyBytes: + format: int64 + type: integer + memResponseBodyBytes: + format: int64 + type: integer + retryExpression: + type: string + type: object + chain: + description: Chain holds a chain of middlewares. + properties: + middlewares: + items: + description: MiddlewareRef is a ref to the Middleware resources. + properties: + name: + type: string + namespace: + type: string + required: + - name + type: object + type: array + type: object + circuitBreaker: + description: CircuitBreaker holds the circuit breaker configuration. + properties: + expression: + type: string + type: object + compress: + description: Compress holds the compress configuration. + properties: + excludedContentTypes: + items: + type: string + type: array + type: object + contentType: + description: ContentType middleware - or rather its unique `autoDetect` + option - specifies whether to let the `Content-Type` header, if + it has not been set by the backend, be automatically set to a value + derived from the contents of the response. As a proxy, the default + behavior should be to leave the header alone, regardless of what + the backend did with it. However, the historic default was to always + auto-detect and set the header if it was nil, and it is going to + be kept that way in order to support users currently relying on + it. This middleware exists to enable the correct behavior until + at least the default one can be changed in a future version. + properties: + autoDetect: + type: boolean + type: object + digestAuth: + description: DigestAuth holds the Digest HTTP authentication configuration. + properties: + headerField: + type: string + realm: + type: string + removeHeader: + type: boolean + secret: + type: string + type: object + errors: + description: ErrorPage holds the custom error page configuration. + properties: + query: + type: string + service: + description: Service defines an upstream to proxy traffic. + properties: + kind: + enum: + - Service + - TraefikService + type: string + name: + description: Name is a reference to a Kubernetes Service object + (for a load-balancer of servers), or to a TraefikService + object (service load-balancer, mirroring, etc). The differentiation + between the two is specified in the Kind field. + type: string + namespace: + type: string + passHostHeader: + type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding holds configuration for the + forward of the response. + properties: + flushInterval: + type: string + type: object + scheme: + type: string + serversTransport: + type: string + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration based + on cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + strategy: + type: string + weight: + description: Weight should only be specified when Name references + a TraefikService object (and to be precise, one that embeds + a Weighted Round Robin). + type: integer + required: + - name + type: object + status: + items: + type: string + type: array + type: object + forwardAuth: + description: ForwardAuth holds the http forward authentication configuration. + properties: + address: + type: string + authRequestHeaders: + items: + type: string + type: array + authResponseHeaders: + items: + type: string + type: array + authResponseHeadersRegex: + type: string + tls: + description: ClientTLS holds TLS specific configurations as client. + properties: + caOptional: + type: boolean + caSecret: + type: string + certSecret: + type: string + insecureSkipVerify: + type: boolean + type: object + trustForwardHeader: + type: boolean + type: object + headers: + description: Headers holds the custom header configuration. + properties: + accessControlAllowCredentials: + description: AccessControlAllowCredentials is only valid if true. + false is ignored. + type: boolean + accessControlAllowHeaders: + description: AccessControlAllowHeaders must be used in response + to a preflight request with Access-Control-Request-Headers set. + items: + type: string + type: array + accessControlAllowMethods: + description: AccessControlAllowMethods must be used in response + to a preflight request with Access-Control-Request-Method set. + items: + type: string + type: array + accessControlAllowOriginList: + description: AccessControlAllowOriginList is a list of allowable + origins. Can also be a wildcard origin "*". + items: + type: string + type: array + accessControlAllowOriginListRegex: + description: AccessControlAllowOriginListRegex is a list of allowable + origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/). + items: + type: string + type: array + accessControlExposeHeaders: + description: AccessControlExposeHeaders sets valid headers for + the response. + items: + type: string + type: array + accessControlMaxAge: + description: AccessControlMaxAge sets the time that a preflight + request may be cached. + format: int64 + type: integer + addVaryHeader: + description: AddVaryHeader controls if the Vary header is automatically + added/updated when the AccessControlAllowOriginList is set. + type: boolean + allowedHosts: + items: + type: string + type: array + browserXssFilter: + type: boolean + contentSecurityPolicy: + type: string + contentTypeNosniff: + type: boolean + customBrowserXSSValue: + type: string + customFrameOptionsValue: + type: string + customRequestHeaders: + additionalProperties: + type: string + type: object + customResponseHeaders: + additionalProperties: + type: string + type: object + featurePolicy: + type: string + forceSTSHeader: + type: boolean + frameDeny: + type: boolean + hostsProxyHeaders: + items: + type: string + type: array + isDevelopment: + type: boolean + publicKey: + type: string + referrerPolicy: + type: string + sslForceHost: + description: 'Deprecated: use RedirectRegex instead.' + type: boolean + sslHost: + description: 'Deprecated: use RedirectRegex instead.' + type: string + sslProxyHeaders: + additionalProperties: + type: string + type: object + sslRedirect: + description: 'Deprecated: use EntryPoint redirection or RedirectScheme + instead.' + type: boolean + sslTemporaryRedirect: + description: 'Deprecated: use EntryPoint redirection or RedirectScheme + instead.' + type: boolean + stsIncludeSubdomains: + type: boolean + stsPreload: + type: boolean + stsSeconds: + format: int64 + type: integer + type: object + inFlightReq: + description: InFlightReq limits the number of requests being processed + and served concurrently. + properties: + amount: + format: int64 + type: integer + sourceCriterion: + description: SourceCriterion defines what criterion is used to + group requests as originating from a common source. If none + are set, the default is to use the request's remote address + field. All fields are mutually exclusive. + properties: + ipStrategy: + description: IPStrategy holds the ip strategy configuration. + properties: + depth: + type: integer + excludedIPs: + items: + type: string + type: array + type: object + requestHeaderName: + type: string + requestHost: + type: boolean + type: object + type: object + ipWhiteList: + description: IPWhiteList holds the ip white list configuration. + properties: + ipStrategy: + description: IPStrategy holds the ip strategy configuration. + properties: + depth: + type: integer + excludedIPs: + items: + type: string + type: array + type: object + sourceRange: + items: + type: string + type: array + type: object + passTLSClientCert: + description: PassTLSClientCert holds the TLS client cert headers configuration. + properties: + info: + description: TLSClientCertificateInfo holds the client TLS certificate + info configuration. + properties: + issuer: + description: TLSCLientCertificateDNInfo holds the client TLS + certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739 + properties: + commonName: + type: boolean + country: + type: boolean + domainComponent: + type: boolean + locality: + type: boolean + organization: + type: boolean + province: + type: boolean + serialNumber: + type: boolean + type: object + notAfter: + type: boolean + notBefore: + type: boolean + sans: + type: boolean + serialNumber: + type: boolean + subject: + description: TLSCLientCertificateDNInfo holds the client TLS + certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739 + properties: + commonName: + type: boolean + country: + type: boolean + domainComponent: + type: boolean + locality: + type: boolean + organization: + type: boolean + province: + type: boolean + serialNumber: + type: boolean + type: object + type: object + pem: + type: boolean + type: object + plugin: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + rateLimit: + description: RateLimit holds the rate limiting configuration for a + given router. + properties: + average: + format: int64 + type: integer + burst: + format: int64 + type: integer + period: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + sourceCriterion: + description: SourceCriterion defines what criterion is used to + group requests as originating from a common source. If none + are set, the default is to use the request's remote address + field. All fields are mutually exclusive. + properties: + ipStrategy: + description: IPStrategy holds the ip strategy configuration. + properties: + depth: + type: integer + excludedIPs: + items: + type: string + type: array + type: object + requestHeaderName: + type: string + requestHost: + type: boolean + type: object + type: object + redirectRegex: + description: RedirectRegex holds the redirection configuration. + properties: + permanent: + type: boolean + regex: + type: string + replacement: + type: string + type: object + redirectScheme: + description: RedirectScheme holds the scheme redirection configuration. + properties: + permanent: + type: boolean + port: + type: string + scheme: + type: string + type: object + replacePath: + description: ReplacePath holds the ReplacePath configuration. + properties: + path: + type: string + type: object + replacePathRegex: + description: ReplacePathRegex holds the ReplacePathRegex configuration. + properties: + regex: + type: string + replacement: + type: string + type: object + retry: + description: Retry holds the retry configuration. + properties: + attempts: + type: integer + initialInterval: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + type: object + stripPrefix: + description: StripPrefix holds the StripPrefix configuration. + properties: + forceSlash: + type: boolean + prefixes: + items: + type: string + type: array + type: object + stripPrefixRegex: + description: StripPrefixRegex holds the StripPrefixRegex configuration. + properties: + regex: + items: + type: string + type: array + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/middlewarestcp.yaml b/stable/traefik/7.0.0/crds/middlewarestcp.yaml new file mode 100644 index 0000000000..f0d1d5640b --- /dev/null +++ b/stable/traefik/7.0.0/crds/middlewarestcp.yaml @@ -0,0 +1,59 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: middlewaretcps.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: MiddlewareTCP + listKind: MiddlewareTCPList + plural: middlewaretcps + singular: middlewaretcp + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: MiddlewareTCP is a specification for a MiddlewareTCP resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: MiddlewareTCPSpec holds the MiddlewareTCP configuration. + properties: + ipWhiteList: + description: TCPIPWhiteList holds the TCP ip white list configuration. + properties: + sourceRange: + items: + type: string + type: array + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/serverstransports.yaml b/stable/traefik/7.0.0/crds/serverstransports.yaml new file mode 100644 index 0000000000..78241697d1 --- /dev/null +++ b/stable/traefik/7.0.0/crds/serverstransports.yaml @@ -0,0 +1,101 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: serverstransports.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: ServersTransport + listKind: ServersTransportList + plural: serverstransports + singular: serverstransport + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ServersTransport is a specification for a ServersTransport resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServersTransportSpec options to configure communication between + Traefik and the servers. + properties: + certificatesSecrets: + description: Certificates for mTLS. + items: + type: string + type: array + disableHTTP2: + description: Disable HTTP/2 for connections with backend servers. + type: boolean + forwardingTimeouts: + description: Timeouts for requests forwarded to the backend servers. + properties: + dialTimeout: + anyOf: + - type: integer + - type: string + description: The amount of time to wait until a connection to + a backend server can be established. If zero, no timeout exists. + x-kubernetes-int-or-string: true + idleConnTimeout: + anyOf: + - type: integer + - type: string + description: The maximum period for which an idle HTTP keep-alive + connection will remain open before closing itself. + x-kubernetes-int-or-string: true + responseHeaderTimeout: + anyOf: + - type: integer + - type: string + description: The amount of time to wait for a server's response + headers after fully writing the request (including its body, + if any). If zero, no timeout exists. + x-kubernetes-int-or-string: true + type: object + insecureSkipVerify: + description: Disable SSL certificate verification. + type: boolean + maxIdleConnsPerHost: + description: If non-zero, controls the maximum idle (keep-alive) to + keep per-host. If zero, DefaultMaxIdleConnsPerHost is used. + type: integer + rootCAsSecrets: + description: Add cert file for self-signed certificate. + items: + type: string + type: array + serverName: + description: ServerName used to contact the server. + type: string + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/tlsoptions.yaml b/stable/traefik/7.0.0/crds/tlsoptions.yaml new file mode 100644 index 0000000000..c901ac2df5 --- /dev/null +++ b/stable/traefik/7.0.0/crds/tlsoptions.yaml @@ -0,0 +1,87 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: tlsoptions.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: TLSOption + listKind: TLSOptionList + plural: tlsoptions + singular: tlsoption + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TLSOption is a specification for a TLSOption resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TLSOptionSpec configures TLS for an entry point. + properties: + cipherSuites: + items: + type: string + type: array + clientAuth: + description: ClientAuth defines the parameters of the client authentication + part of the TLS connection, if any. + properties: + clientAuthType: + description: ClientAuthType defines the client authentication + type to apply. + enum: + - NoClientCert + - RequestClientCert + - VerifyClientCertIfGiven + - RequireAndVerifyClientCert + type: string + secretNames: + description: SecretName is the name of the referenced Kubernetes + Secret to specify the certificate details. + items: + type: string + type: array + type: object + curvePreferences: + items: + type: string + type: array + maxVersion: + type: string + minVersion: + type: string + preferServerCipherSuites: + type: boolean + sniStrict: + type: boolean + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/tlsstores.yaml b/stable/traefik/7.0.0/crds/tlsstores.yaml new file mode 100644 index 0000000000..7bb6193b02 --- /dev/null +++ b/stable/traefik/7.0.0/crds/tlsstores.yaml @@ -0,0 +1,64 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: tlsstores.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: TLSStore + listKind: TLSStoreList + plural: tlsstores + singular: tlsstore + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TLSStore is a specification for a TLSStore resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TLSStoreSpec configures a TLSStore resource. + properties: + defaultCertificate: + description: DefaultCertificate holds a secret name for the TLSOption + resource. + properties: + secretName: + description: SecretName is the name of the referenced Kubernetes + Secret to specify the certificate details. + type: string + required: + - secretName + type: object + required: + - defaultCertificate + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/crds/traefikservices.yaml b/stable/traefik/7.0.0/crds/traefikservices.yaml new file mode 100644 index 0000000000..1d98c25d68 --- /dev/null +++ b/stable/traefik/7.0.0/crds/traefikservices.yaml @@ -0,0 +1,270 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + "helm.sh/hook": pre-install,pre-upgrade,pre-rollback + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: traefikservices.traefik.containo.us +spec: + group: traefik.containo.us + names: + kind: TraefikService + listKind: TraefikServiceList + plural: traefikservices + singular: traefikservice + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TraefikService is the specification for a service (that an IngressRoute + refers to) that is usually not a terminal service (i.e. not a pod of servers), + as opposed to a Kubernetes Service. That is to say, it usually refers to + other (children) services, which themselves can be TraefikServices or Services. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ServiceSpec defines whether a TraefikService is a load-balancer + of services or a mirroring service. + properties: + mirroring: + description: Mirroring defines a mirroring service, which is composed + of a main load-balancer, and a list of mirrors. + properties: + kind: + enum: + - Service + - TraefikService + type: string + maxBodySize: + format: int64 + type: integer + mirrors: + items: + description: MirrorService defines one of the mirrors of a Mirroring + service. + properties: + kind: + enum: + - Service + - TraefikService + type: string + name: + description: Name is a reference to a Kubernetes Service + object (for a load-balancer of servers), or to a TraefikService + object (service load-balancer, mirroring, etc). The differentiation + between the two is specified in the Kind field. + type: string + namespace: + type: string + passHostHeader: + type: boolean + percent: + type: integer + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding holds configuration for + the forward of the response. + properties: + flushInterval: + type: string + type: object + scheme: + type: string + serversTransport: + type: string + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration based + on cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + strategy: + type: string + weight: + description: Weight should only be specified when Name references + a TraefikService object (and to be precise, one that embeds + a Weighted Round Robin). + type: integer + required: + - name + type: object + type: array + name: + description: Name is a reference to a Kubernetes Service object + (for a load-balancer of servers), or to a TraefikService object + (service load-balancer, mirroring, etc). The differentiation + between the two is specified in the Kind field. + type: string + namespace: + type: string + passHostHeader: + type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding holds configuration for the forward + of the response. + properties: + flushInterval: + type: string + type: object + scheme: + type: string + serversTransport: + type: string + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration based on + cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + strategy: + type: string + weight: + description: Weight should only be specified when Name references + a TraefikService object (and to be precise, one that embeds + a Weighted Round Robin). + type: integer + required: + - name + type: object + weighted: + description: WeightedRoundRobin defines a load-balancer of services. + properties: + services: + items: + description: Service defines an upstream to proxy traffic. + properties: + kind: + enum: + - Service + - TraefikService + type: string + name: + description: Name is a reference to a Kubernetes Service + object (for a load-balancer of servers), or to a TraefikService + object (service load-balancer, mirroring, etc). The differentiation + between the two is specified in the Kind field. + type: string + namespace: + type: string + passHostHeader: + type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + responseForwarding: + description: ResponseForwarding holds configuration for + the forward of the response. + properties: + flushInterval: + type: string + type: object + scheme: + type: string + serversTransport: + type: string + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration based + on cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + strategy: + type: string + weight: + description: Weight should only be specified when Name references + a TraefikService object (and to be precise, one that embeds + a Weighted Round Robin). + type: integer + required: + - name + type: object + type: array + sticky: + description: Sticky holds the sticky configuration. + properties: + cookie: + description: Cookie holds the sticky configuration based on + cookie. + properties: + httpOnly: + type: boolean + name: + type: string + sameSite: + type: string + secure: + type: boolean + type: object + type: object + type: object + type: object + required: + - metadata + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/stable/traefik/7.0.0/helm-values.md b/stable/traefik/7.0.0/helm-values.md new file mode 100644 index 0000000000..73da98010b --- /dev/null +++ b/stable/traefik/7.0.0/helm-values.md @@ -0,0 +1,50 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| additionalArguments[0] | string | `"--metrics.prometheus"` | | +| additionalArguments[1] | string | `"--ping"` | | +| additionalArguments[2] | string | `"--serverstransport.insecureskipverify=true"` | | +| controller.strategy | string | `"RollingUpdate"` | | +| controller.type | string | `"daemonset"` | | +| globalArguments[0] | string | `"--global.checknewversion"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"traefik"` | | +| image.tag | string | `"v2.5"` | | +| ingressClass | object | `{"enabled":false,"fallbackApiVersion":"","isDefaultClass":false}` | Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x | +| ingressRoute | object | `{"dashboard":{"annotations":{},"enabled":true,"labels":{}}}` | Create an IngressRoute for the dashboard | +| logs | object | `{"access":{"enabled":false,"fields":{"general":{"defaultmode":"keep","names":{}},"headers":{"defaultmode":"drop","names":{}}},"filters":{}},"general":{"level":"ERROR"}}` | Logs https://docs.traefik.io/observability/logs/ | +| metrics.prometheus.entryPoint | string | `"metrics"` | | +| middlewares | object | `{"basicAuth":[],"chain":[],"forwardAuth":[],"rateLimit":[],"redirectScheme":[]}` | SCALE Middleware Handlers | +| pilot | object | `{"enabled":false,"token":""}` | Activate Pilot integration | +| podSecurityContext.fsGroup | int | `568` | | +| probes.liveness | object | See below | Liveness probe configuration | +| probes.liveness.path | string | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| probes.liveness.type | string | "TCP" | sets the probe type when not using a custom probe | +| probes.readiness | object | See below | Redainess probe configuration | +| probes.readiness.path | string | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| probes.readiness.type | string | "TCP" | sets the probe type when not using a custom probe | +| probes.startup | object | See below | Startup probe configuration | +| probes.startup.path | string | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| probes.startup.type | string | "TCP" | sets the probe type when not using a custom probe | +| providers.kubernetesCRD.enabled | bool | `true` | | +| providers.kubernetesCRD.namespaces | list | `[]` | | +| providers.kubernetesIngress.enabled | bool | `true` | | +| providers.kubernetesIngress.namespaces | list | `[]` | | +| providers.kubernetesIngress.publishedService.enabled | bool | `true` | | +| rbac | object | `{"enabled":true,"rules":[{"apiGroups":[""],"resources":["services","endpoints","secrets"],"verbs":["get","list","watch"]},{"apiGroups":["extensions","networking.k8s.io"],"resources":["ingresses","ingressclasses"],"verbs":["get","list","watch"]},{"apiGroups":["extensions","networking.k8s.io"],"resources":["ingresses/status"],"verbs":["update"]},{"apiGroups":["traefik.containo.us"],"resources":["ingressroutes","ingressroutetcps","ingressrouteudps","middlewares","middlewaretcps","tlsoptions","tlsstores","traefikservices","serverstransports"],"verbs":["get","list","watch"]}]}` | Whether Role Based Access Control objects like roles and rolebindings should be created | +| securityContext | object | `{"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsGroup":568,"runAsNonRoot":true,"runAsUser":568}` | Set the container security context To run the container with ports below 1024 this will need to be adjust to run as root | +| service | object | `{"main":{"enabled":true,"ports":{"main":{"enabled":true,"port":9000,"protocol":"HTTP"}},"type":"LoadBalancer"},"metrics":{"enabled":true,"ports":{"metrics":{"enabled":true,"port":9100,"protocol":"HTTP"}},"type":"LoadBalancer"},"tcp":{"enabled":true,"ports":{"web":{"enabled":true,"port":9080,"protocol":"HTTP","redirectTo":"websecure"},"websecure":{"enabled":true,"port":9443,"protocol":"HTTPS"}},"type":"LoadBalancer"},"udp":{"enabled":false}}` | Options for the main traefik service, where the entrypoints traffic comes from from. | +| serviceAccount | object | `{"enabled":true,"name":""}` | The service account the pods will use to interact with the Kubernetes API | +| tlsOptions | object | `{"default":{"cipherSuites":["TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305","TLS_AES_128_GCM_SHA256","TLS_AES_256_GCM_SHA384","TLS_CHACHA20_POLY1305_SHA256"],"curvePreferences":["CurveP521","CurveP384"],"minVersion":"VersionTLS12","sniStrict":false}}` | TLS Options to be created as TLSOption CRDs https://doc.traefik.io/traefik/https/tls/#tls-options Example: | + +All Rights Reserved - The TrueCharts Project diff --git a/stable/traefik/7.0.0/ix_values.yaml b/stable/traefik/7.0.0/ix_values.yaml new file mode 100644 index 0000000000..11e67e6ee6 --- /dev/null +++ b/stable/traefik/7.0.0/ix_values.yaml @@ -0,0 +1,181 @@ +# Default values for Traefik +image: + repository: traefik + # defaults to appVersion + tag: v2.5 + pullPolicy: IfNotPresent + +# Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +# +# Configure providers +# +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: true + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + + +metrics: + # datadog: + # address: 127.0.0.1:8125 + # influxdb: + # address: localhost:8089 + # protocol: udp + prometheus: + entryPoint: metrics + # statsd: + # address: localhost:8125 + +globalArguments: + - "--global.checknewversion" + +# +# Configure Traefik static configuration +# Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + - "--providers.kubernetesingress.allowexternalnameservices=true" + +# TLS Options are created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + + + + +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + + # -- Redainess probe configuration + # @default -- See below + readiness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + + # -- Startup probe configuration + # @default -- See below + startup: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + +# Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + - ingressclasses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - middlewaretcps + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch + + +# The service account the pods will use to interact with the Kubernetes API +serviceAccount: + enabled: true + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] + +portalhook: + enabled: true diff --git a/stable/traefik/7.0.0/questions.yaml b/stable/traefik/7.0.0/questions.yaml new file mode 100644 index 0000000000..5aabe62937 --- /dev/null +++ b/stable/traefik/7.0.0/questions.yaml @@ -0,0 +1,1144 @@ +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: "Middlewares" + description: "Traefik Middlewares" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "http" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/dashboard/" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: 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" + 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: "RollingUpdate" + 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: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + + + - 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: pilot + label: "Traefik Pilot" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: token + label: "token" + schema: + type: string + default: "" + - variable: dashboard + label: "Pilot Dashboard" + schema: + type: boolean + default: false + + - variable: ingressClass + label: "ingressClass" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: isDefaultClass + label: "isDefaultClass" + schema: + type: boolean + default: false + + - variable: logs + label: "Logs" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: general + label: "General Logs" + schema: + type: dict + attrs: + - variable: level + label: "Log Level" + schema: + type: string + default: "ERROR" + enum: + - value: "INFO" + description: "Info" + - value: "WARN" + description: "Warnings" + - value: "ERROR" + description: "Errors" + - value: "FATAL" + description: "Fatal Errors" + - value: "PANIC" + description: "Panics" + - value: "DEBUG" + description: "Debug" + - variable: access + label: "Access Logs" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabledFilters + label: "Enable Filters" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: filters + label: "Filters" + schema: + type: dict + attrs: + - variable: statuscodes + label: "Status codes" + schema: + type: string + default: "200,300-302" + - variable: retryattempts + label: "retryattempts" + schema: + type: boolean + default: true + - variable: minduration + label: "minduration" + schema: + type: string + default: "10ms" + - variable: fields + label: "Fields" + schema: + type: dict + attrs: + - variable: general + label: "General" + schema: + type: dict + attrs: + - variable: defaultmode + label: "Default Mode" + schema: + type: string + default: "keep" + enum: + - value: "keep" + description: "Keep" + - value: "drop" + description: "Drop" + - variable: headers + label: "Headers" + schema: + type: dict + attrs: + - variable: defaultmode + label: "Default Mode" + schema: + type: string + default: "drop" + enum: + - value: "keep" + description: "Keep" + - value: "drop" + description: "Drop" + + - variable: middlewares + label: "" + group: "Middlewares" + schema: + type: dict + attrs: + - variable: basicAuth + label: "basicAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: users + label: "Users" + schema: + type: list + default: [] + items: + - variable: usersEntry + label: "" + schema: + type: dict + attrs: + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + default: "" + + + - variable: forwardAuth + label: "forwardAuth" + schema: + type: list + default: [] + items: + - variable: basicAuthEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + - variable: address + label: "Address" + schema: + type: string + required: true + default: "" + - variable: trustForwardHeader + label: "trustForwardHeader" + schema: + type: boolean + default: false + - variable: authResponseHeadersRegex + label: "authResponseHeadersRegex" + schema: + type: string + default: "" + - variable: authResponseHeaders + label: "authResponseHeaders" + schema: + type: list + default: [] + items: + - variable: authResponseHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: authRequestHeaders + label: "authRequestHeaders" + schema: + type: list + default: [] + items: + - variable: authRequestHeadersEntry + label: "" + schema: + type: string + default: "" + - variable: chain + label: "chain" + schema: + type: list + default: [] + items: + - variable: chainEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: middlewares + label: "Middlewares to Chain" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + required: true + default: "" + + - variable: redirectScheme + label: "redirectScheme" + schema: + type: list + default: [] + items: + - variable: redirectSchemeEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: scheme + label: "Scheme" + schema: + type: string + required: true + default: "https" + enum: + - value: "https" + description: "https" + - value: "http" + description: "http" + - variable: permanent + label: "Permanent" + schema: + type: boolean + required: true + default: false + + - variable: rateLimit + label: "rateLimit" + schema: + type: list + default: [] + items: + - variable: rateLimitEntry + label: "" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: average + label: "Average" + schema: + type: int + required: true + default: 300 + - variable: burst + label: "Burst" + schema: + type: int + required: true + default: 200 + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + + - variable: service + group: "Networking and Services" + label: "Configure Service Entrypoint" + 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 Entrypoints Configurations" + schema: + type: dict + attrs: + - variable: main + label: "Main Entrypoint Configuration" + schema: + type: 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" + - variable: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9000 + editable: false + hidden: true + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9000 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 9000 + - variable: tcp + label: "Main Service" + description: "The tcp Entrypoint 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: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Entrypoints Configurations" + schema: + type: dict + attrs: + - variable: web + label: "web Entrypoint Configuration" + schema: + type: 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" + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9080 + editable: true + required: true + - variable: websecure + label: "websecure Entrypoints Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - variable: port + label: "Entrypoints Port" + schema: + type: int + default: 9443 + editable: true + required: true + - variable: portsList + label: "Additional TCP Entrypoints" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom Entrypoints" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Entrypoints Name" + schema: + type: string + default: "" + - variable: protocol + label: "Entrypoints Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - variable: port + label: "Container Port" + schema: + type: int + required: true + - variable: udp + label: "UDP Service" + description: "The UDP service for entrypoints" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + label: "Service Type" + description: "ClusterIP's are 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: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: portsList + label: "Additional TCP Entrypoints" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom Entrypoints" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Entrypoints Name" + schema: + type: string + default: "" + - variable: protocol + label: "Entrypoints Type" + schema: + type: string + default: "UDP" + enum: + - value: UDP + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + required: true + - variable: metrics + label: "metrics Service" + description: "The metrics Entrypoint 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 Entrypoints Configuration" + schema: + type: dict + attrs: + - variable: metrics + label: "metrics Entrypoints Configurations" + schema: + type: 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" + - variable: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9100 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 9100 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 9100 + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + 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: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - 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" + + - variable: autoscaling + group: "Resources and Devices" + label: "Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 diff --git a/stable/traefik/7.0.0/templates/_args.tpl b/stable/traefik/7.0.0/templates/_args.tpl new file mode 100644 index 0000000000..2ecdb60a1e --- /dev/null +++ b/stable/traefik/7.0.0/templates/_args.tpl @@ -0,0 +1,141 @@ +{{/* Define the args */}} +{{- define "traefik.args" -}} +args: + {{/* merge all ports */}} + {{- $ports := dict }} + {{- range $.Values.service }} + {{- range $name, $value := .ports }} + {{- $_ := set $ports $name $value }} + {{- end }} + {{- end }} + {{/* start of actual arguments */}} + {{- with .Values.globalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- range $name, $config := $ports }} + {{- if $config }} + {{- if or ( eq $config.protocol "HTTP" ) ( eq $config.protocol "HTTPS" ) ( eq $config.protocol "TCP" ) }} + {{- $_ := set $config "protocol" "TCP" }} + {{- end }} + - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}" + {{- end }} + {{- end }} + - "--api.dashboard=true" + - "--ping=true" + {{- if .Values.metrics }} + {{- if .Values.metrics.datadog }} + - "--metrics.datadog=true" + - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}" + {{- end }} + {{- if .Values.metrics.influxdb }} + - "--metrics.influxdb=true" + - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}" + - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}" + {{- end }} + {{- if .Values.metrics.prometheus }} + - "--metrics.prometheus=true" + - "--metrics.prometheus.entrypoint={{ .Values.metrics.prometheus.entryPoint }}" + {{- end }} + {{- if .Values.metrics.statsd }} + - "--metrics.statsd=true" + - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}" + {{- end }} + {{- end }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress" + {{- if and .Values.service.enabled .Values.providers.kubernetesIngress.publishedService.enabled }} + - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.labelSelector }} + - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}" + {{- end }} + {{- end }} + {{- if and .Values.rbac.enabled .Values.rbac.namespaced }} + {{- if .Values.providers.kubernetesCRD.enabled }} + - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}" + {{- end }} + {{- if .Values.providers.kubernetesIngress.enabled }} + - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}" + {{- end }} + {{- end }} + {{- range $entrypoint, $config := $ports }} + {{- if $config.redirectTo }} + {{- $toPort := index $ports $config.redirectTo }} + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.port }}" + - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https" + {{- end }} + {{- if or ( $config.tls ) ( eq $config.protocol "HTTPS" ) }} + {{- if or ( $config.tls.enabled ) ( eq $config.protocol "HTTPS" ) }} + - "--entrypoints.{{ $entrypoint }}.http.tls=true" + {{- if $config.tls.options }} + - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}" + {{- end }} + {{- if $config.tls.certResolver }} + - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}" + {{- end }} + {{- if $config.tls.domains }} + {{- range $index, $domain := $config.tls.domains }} + {{- if $domain.main }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}" + {{- end }} + {{- if $domain.sans }} + - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}" + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- with .Values.logs }} + {{- if .general.format }} + - "--log.format={{ .general.format }}" + {{- end }} + {{- if ne .general.level "ERROR" }} + - "--log.level={{ .general.level | upper }}" + {{- end }} + {{- if .access.enabled }} + - "--accesslog=true" + {{- if .access.format }} + - "--accesslog.format={{ .access.format }}" + {{- end }} + {{- if .access.bufferingsize }} + - "--accesslog.bufferingsize={{ .access.bufferingsize }}" + {{- end }} + {{- if .access.filters }} + {{- if .access.filters.statuscodes }} + - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}" + {{- end }} + {{- if .access.filters.retryattempts }} + - "--accesslog.filters.retryattempts" + {{- end }} + {{- if .access.filters.minduration }} + - "--accesslog.filters.minduration={{ .access.filters.minduration }}" + {{- end }} + {{- end }} + - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.general.names }} + - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}" + {{- range $fieldname, $fieldaction := .access.fields.headers.names }} + - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}" + {{- end }} + {{- end }} + {{- end }} + {{- if .Values.pilot.enabled }} + - "--pilot.token={{ .Values.pilot.token }}" + {{- end }} + {{- if hasKey .Values.pilot "dashboard" }} + - "--pilot.dashboard={{ .Values.pilot.dashboard }}" + {{- end }} + {{- with .Values.additionalArguments }} + {{- range . }} + - {{ . | quote }} + {{- end }} + {{- end }} +{{- end -}} diff --git a/stable/traefik/7.0.0/templates/_helpers.tpl b/stable/traefik/7.0.0/templates/_helpers.tpl new file mode 100644 index 0000000000..5abff4405b --- /dev/null +++ b/stable/traefik/7.0.0/templates/_helpers.tpl @@ -0,0 +1,21 @@ +{{/* +Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice. +By convention this will simply use the / to match the name of the +service generated. +Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride` +*/}} +{{- define "providers.kubernetesIngress.publishedServicePath" -}} +{{- $defServiceName := printf "%s/%s-tcp" .Release.Namespace (include "traefik.fullname" .) -}} +{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }} +{{- print $servicePath | trimSuffix "-" -}} +{{- end -}} + +{{/* +Construct a comma-separated list of whitelisted namespaces +*/}} +{{- define "providers.kubernetesIngress.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }} +{{- end -}} +{{- define "providers.kubernetesCRD.namespaces" -}} +{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }} +{{- end -}} diff --git a/stable/traefik/7.0.0/templates/_ingressclass.tpl b/stable/traefik/7.0.0/templates/_ingressclass.tpl new file mode 100644 index 0000000000..27f8467fc9 --- /dev/null +++ b/stable/traefik/7.0.0/templates/_ingressclass.tpl @@ -0,0 +1,24 @@ +{{/* Define the ingressClass */}} +{{- define "traefik.ingressClass" -}} +{{- if .Values.ingressClass.enabled }} + {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }} +apiVersion: networking.k8s.io/v1 + {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }} +apiVersion: networking.k8s.io/v1beta1 + {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }} +apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }} + {{- else }} + {{- fail "\n\n ERROR: You must have at least networking.k8s.io/v1beta1 to use ingressClass" }} + {{- end }} +--- +kind: IngressClass +metadata: + annotations: + ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} + labels: + {{- include "common.labels" . | nindent 4 }} + name: {{ .Release.Name }} +spec: + controller: traefik.io/ingress-controller +{{- end }} +{{- end }} diff --git a/stable/traefik/7.0.0/templates/_ingressroute.tpl b/stable/traefik/7.0.0/templates/_ingressroute.tpl new file mode 100644 index 0000000000..e47e5916c0 --- /dev/null +++ b/stable/traefik/7.0.0/templates/_ingressroute.tpl @@ -0,0 +1,25 @@ +{{/* Define the ingressRoute */}} +{{- define "traefik.ingressRoute" -}} +{{- if .Values.ingressRoute.dashboard.enabled -}} +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: {{ include "common.names.fullname" . }}-dashboard + annotations: + helm.sh/hook: "post-install,post-upgrade" + {{- with .Values.ingressRoute.dashboard.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} + labels: + {{- include "common.labels" . | nindent 4 }} +spec: + entryPoints: + - main + routes: + - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`) + kind: Rule + services: + - name: api@internal + kind: TraefikService +{{- end -}} +{{- end -}} diff --git a/stable/traefik/7.0.0/templates/_portalhook.tpl b/stable/traefik/7.0.0/templates/_portalhook.tpl new file mode 100644 index 0000000000..6d12bc3977 --- /dev/null +++ b/stable/traefik/7.0.0/templates/_portalhook.tpl @@ -0,0 +1,27 @@ +{{/* Define the portalHook */}} +{{- define "traefik.portalhook" -}} +{{- if .Values.portalhook.enabled }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: portalhook + namespace: {{ $namespace }} +data: + {{- $ports := dict }} + {{- range $.Values.service }} + {{- range $name, $value := .ports }} + {{- $_ := set $ports $name $value }} + {{- end }} + {{- end }} + websecureport: {{ $ports.websecure.exposedPort | quote }} + {{- range $name, $value := $ports }} + {{ $name }}: {{ $value.port | quote }} + {{- end }} +{{- end }} +{{- end -}} diff --git a/stable/traefik/7.0.0/templates/_tlsoptions.tpl b/stable/traefik/7.0.0/templates/_tlsoptions.tpl new file mode 100644 index 0000000000..34e80eab74 --- /dev/null +++ b/stable/traefik/7.0.0/templates/_tlsoptions.tpl @@ -0,0 +1,12 @@ +{{/* Define the tlsOptions */}} +{{- define "traefik.tlsOptions" -}} +{{- range $name, $config := .Values.tlsOptions }} +apiVersion: traefik.containo.us/v1alpha1 +kind: TLSOption +metadata: + name: {{ $name }} +spec: + {{- toYaml $config | nindent 2 }} +--- +{{- end -}} +{{- end -}} diff --git a/stable/traefik/7.0.0/templates/common.yaml b/stable/traefik/7.0.0/templates/common.yaml new file mode 100644 index 0000000000..a3ba841bdd --- /dev/null +++ b/stable/traefik/7.0.0/templates/common.yaml @@ -0,0 +1,24 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{- if .Values.metrics }} +{{- if .Values.metrics.prometheus }} +{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "true" -}} +{{- $_ := set .Values.podAnnotations "prometheus.io/path" "/metrics" -}} +{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "9100" -}} +{{- end }} +{{- end }} + +{{- $newArgs := (include "traefik.args" . | fromYaml) }} +{{- $_ := set .Values "newArgs" $newArgs -}} +{{- $mergedargs := concat .Values.args .Values.newArgs.args }} +{{- $_ := set .Values "args" $mergedargs -}} + +{{- include "traefik.portalhook" . }} +{{- include "traefik.tlsOptions" . }} +{{- include "traefik.ingressRoute" . }} +{{- include "traefik.ingressClass" . }} + + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/traefik/7.0.0/templates/middleware-namespace.yaml b/stable/traefik/7.0.0/templates/middleware-namespace.yaml new file mode 100644 index 0000000000..43d2728446 --- /dev/null +++ b/stable/traefik/7.0.0/templates/middleware-namespace.yaml @@ -0,0 +1,7 @@ +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +apiVersion: v1 +kind: Namespace +metadata: + name: traefikmiddlewares + namespace: traefikmiddlewares +{{- end }} diff --git a/stable/traefik/7.0.0/templates/middlewares/basic-middleware.yaml b/stable/traefik/7.0.0/templates/middlewares/basic-middleware.yaml new file mode 100644 index 0000000000..e50f00c98d --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/basic-middleware.yaml @@ -0,0 +1,63 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: compress + namespace: {{ $namespace }} +spec: + compress: {} +--- +# Here, an average of 300 requests per second is allowed. +# In addition, a burst of 200 requests is allowed. +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-ratelimit + namespace: {{ $namespace }} +spec: + rateLimit: + average: 300 + burst: 200 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: basic-secure-headers + namespace: {{ $namespace }} +spec: + headers: + accessControlAllowMethods: + - GET + - OPTIONS + - HEAD + - PUT + accessControlMaxAge: 100 + sslRedirect: true + # stsSeconds: 63072000 + # stsIncludeSubdomains: false + # stsPreload: false + # forceSTSHeader: true + contentTypeNosniff: true + browserXssFilter: true + sslForceHost: true + referrerPolicy: same-origin + customResponseHeaders: + X-Robots-Tag: 'none' + server: '' +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: chain-basic + namespace: {{ $namespace }} +spec: + chain: + middlewares: + - name: basic-ratelimit + - name: basic-secure-headers + - name: compress diff --git a/stable/traefik/7.0.0/templates/middlewares/basicauth.yaml b/stable/traefik/7.0.0/templates/middlewares/basicauth.yaml new file mode 100644 index 0000000000..54dacb824f --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/basicauth.yaml @@ -0,0 +1,34 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.basicAuth }} +--- +{{- $users := list }} +{{ range $index, $userdata := $middlewareData.users }} + {{ $users = append $users ( htpasswd $userdata.username $userdata.password ) }} +{{ end }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{printf "%v-%v" $middlewareData.name "secret" }} + namespace: {{ $namespace }} +type: Opaque +stringData: + users: | + {{- range $index, $user := $users }} + {{ printf "%s" $user }} + {{- end }} +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + basicAuth: + secret: {{printf "%v-%v" $middlewareData.name "secret" }} +{{ end }} diff --git a/stable/traefik/7.0.0/templates/middlewares/chain.yaml b/stable/traefik/7.0.0/templates/middlewares/chain.yaml new file mode 100644 index 0000000000..49dfd9610e --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/chain.yaml @@ -0,0 +1,21 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.chain }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + chain: + middlewares: + {{ range $index, $chainData := . }} + - name: {{ printf "%v-%v@%v" $namespace $chainData.name "kubernetescrd" }} + {{ end }} +{{ end }} diff --git a/stable/traefik/7.0.0/templates/middlewares/forwardauth.yaml b/stable/traefik/7.0.0/templates/middlewares/forwardauth.yaml new file mode 100644 index 0000000000..654eb8a6cb --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/forwardauth.yaml @@ -0,0 +1,28 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }} +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + forwardAuth: + address: {{ $middlewareData.address }} + {{- if $middlewareData.authResponseHeaders }} + authResponseHeaders: {{ $middlewareData.authResponseHeaders }} + {{- end }} + {{- if $middlewareData.authRequestHeaders }} + authRequestHeaders: {{ $middlewareData.authRequestHeaders }} + {{- end }} + {{- if $middlewareData.authResponseHeadersRegex }} + authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }} + {{- end }} + {{- if $middlewareData.trustForwardHeader }} + trustForwardHeader: true + {{- end }} +{{ end }} diff --git a/stable/traefik/7.0.0/templates/middlewares/ratelimit.yaml b/stable/traefik/7.0.0/templates/middlewares/ratelimit.yaml new file mode 100644 index 0000000000..624e7ff0d3 --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/ratelimit.yaml @@ -0,0 +1,19 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.rateLimit }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + rateLimit: + average: {{ $middlewareData.average }} + burst: {{ $middlewareData.burst }} +{{ end }} diff --git a/stable/traefik/7.0.0/templates/middlewares/redirectScheme.yaml b/stable/traefik/7.0.0/templates/middlewares/redirectScheme.yaml new file mode 100644 index 0000000000..9ff49d7618 --- /dev/null +++ b/stable/traefik/7.0.0/templates/middlewares/redirectScheme.yaml @@ -0,0 +1,19 @@ +{{- $values := .Values }} +{{- $namespace := ( printf "ix-%s" .Release.Name ) }} +{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }} +{{- $namespace = "traefikmiddlewares" }} +{{- end }} +{{ range $index, $middlewareData := .Values.middlewares.redirectScheme }} + +--- +# Declaring the user list +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + name: {{ $middlewareData.name }} + namespace: {{ $namespace }} +spec: + redirectScheme: + scheme: {{ $middlewareData.scheme }} + permanent: {{ $middlewareData.permanent }} +{{ end }} diff --git a/stable/traefik/7.0.0/test_values.yaml b/stable/traefik/7.0.0/test_values.yaml new file mode 100644 index 0000000000..e349ea6229 --- /dev/null +++ b/stable/traefik/7.0.0/test_values.yaml @@ -0,0 +1,320 @@ +# Default values for Traefik +image: + repository: traefik + # defaults to appVersion + tag: v2.5 + pullPolicy: IfNotPresent + +# -- Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x +ingressClass: + # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12 + enabled: false + isDefaultClass: false + # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1" + fallbackApiVersion: "" + +# -- Activate Pilot integration +pilot: + enabled: false + token: "" + # Toggle Pilot Dashboard + # dashboard: false + +# -- Create an IngressRoute for the dashboard +ingressRoute: + dashboard: + enabled: true + # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class) + annotations: {} + # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels) + labels: {} + +# +# -- Configure providers +providers: + kubernetesCRD: + enabled: true + namespaces: [] + # - "default" + kubernetesIngress: + enabled: true + # labelSelector: environment=production,method=traefik + namespaces: [] + # - "default" + # IP used for Kubernetes Ingress endpoints + publishedService: + enabled: true + # Published Kubernetes Service to copy status from. Format: namespace/servicename + # By default this Traefik service + # pathOverride: "" + + +# -- Logs +# https://docs.traefik.io/observability/logs/ +logs: + # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on). + general: + # By default, the logs use a text format (common), but you can + # also ask for the json format in the format option + # format: json + # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO. + level: ERROR + access: + # To enable access logs + enabled: false + # By default, logs are written using the Common Log Format (CLF). + # To write logs in JSON, use json in the format option. + # If the given format is unsupported, the default (CLF) is used instead. + # format: json + # To write the logs in an asynchronous fashion, specify a bufferingSize option. + # This option represents the number of log lines Traefik will keep in memory before writing + # them to the selected output. In some cases, this option can greatly help performances. + # bufferingSize: 100 + # Filtering https://docs.traefik.io/observability/access-logs/#filtering + filters: {} + # statuscodes: "200,300-302" + # retryattempts: true + # minduration: 10ms + # Fields + # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers + fields: + general: + defaultmode: keep + names: {} + # Examples: + # ClientUsername: drop + headers: + defaultmode: drop + names: {} + # Examples: + # User-Agent: redact + # Authorization: drop + # Content-Type: keep + +metrics: + # datadog: + # address: 127.0.0.1:8125 + # influxdb: + # address: localhost:8089 + # protocol: udp + prometheus: + entryPoint: metrics + # statsd: + # address: localhost:8125 + +globalArguments: + - "--global.checknewversion" + +## +# -- Additional arguments to be passed at Traefik's binary +# All available options available on https://docs.traefik.io/reference/static-configuration/cli/ +## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"` +additionalArguments: + - "--metrics.prometheus" + - "--ping" + - "--serverstransport.insecureskipverify=true" + - "--providers.kubernetesingress.allowexternalnameservices=true" + + +# -- TLS Options to be created as TLSOption CRDs +# https://doc.traefik.io/traefik/https/tls/#tls-options +# Example: +tlsOptions: + default: + sniStrict: false + minVersion: VersionTLS12 + curvePreferences: + - CurveP521 + - CurveP384 + cipherSuites: + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 + - TLS_AES_128_GCM_SHA256 + - TLS_AES_256_GCM_SHA384 + - TLS_CHACHA20_POLY1305_SHA256 + +# -- Options for the main traefik service, where the entrypoints traffic comes from +# from. +service: + main: + enabled: true + type: LoadBalancer + ports: + main: + enabled: true + port: 9000 + protocol: HTTP + tcp: + enabled: true + type: LoadBalancer + ports: + web: + enabled: true + port: 9080 + protocol: HTTP + redirectTo: websecure + websecure: + enabled: true + port: 9443 + protocol: HTTPS +# tcpexample: +# enabled: true +# port: 9443 +# protocol: TCP +# tls: +# enabled: false +# # this is the name of a TLSOption definition +# options: "" +# certResolver: "" +# domains: [] +# # - main: example.com +# # sans: +# # - foo.example.com +# # - bar.example.com + metrics: + enabled: true + type: LoadBalancer + ports: + metrics: + enabled: true + port: 9100 + protocol: HTTP + udp: + enabled: false + + +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + + # -- Redainess probe configuration + # @default -- See below + readiness: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + + # -- Startup probe configuration + # @default -- See below + startup: + # -- sets the probe type when not using a custom probe + # @default -- "TCP" + type: HTTP + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + path: "/ping" + + +# -- Whether Role Based Access Control objects like roles and rolebindings should be created +rbac: + enabled: true + rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses + - ingressclasses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update + - apiGroups: + - traefik.containo.us + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - middlewaretcps + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + verbs: + - get + - list + - watch + + +# -- The service account the pods will use to interact with the Kubernetes API +serviceAccount: + enabled: true + # If set, an existing service account is used + # If not set, a service account is created automatically using the fullname template + name: "" + +# -- Set the container security context +# To run the container with ports below 1024 this will need to be adjust to run as root +securityContext: + capabilities: + drop: [ALL] + readOnlyRootFilesystem: true + runAsGroup: 568 + runAsNonRoot: true + runAsUser: 568 + +podSecurityContext: + fsGroup: 568 + +# -- SCALE Middleware Handlers +middlewares: + basicAuth: [] + # - name: basicauthexample + # users: + # - username: testuser + # password: testpassword + forwardAuth: [] + # - name: forwardAuthexample + # address: https://auth.example.com/ + # authResponseHeaders: + # - X-Secret + # - X-Auth-User + # authRequestHeaders: + # - "Accept" + # - "X-CustomHeader" + # authResponseHeadersRegex: "^X-" + # trustForwardHeader: true + chain: [] + # name: chainname + # middlewares: + # - name: compress + redirectScheme: [] + # scheme: https + # permanent: true + rateLimit: [] + # average: 300 + # burst: 200 + +portalhook: + enabled: true diff --git a/stable/traefik/7.0.0/values.yaml b/stable/traefik/7.0.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/transmission/6.11.11/Chart.lock b/stable/transmission/6.11.11/Chart.lock index f44591bb9a..ea4eae94b8 100644 --- a/stable/transmission/6.11.11/Chart.lock +++ b/stable/transmission/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:23.271265332Z" +generated: "2021-09-03T23:06:36.791544467Z" diff --git a/stable/truecommand/6.11.12/Chart.lock b/stable/truecommand/6.11.12/Chart.lock index 81dc938def..a7460e5f93 100644 --- a/stable/truecommand/6.11.12/Chart.lock +++ b/stable/truecommand/6.11.12/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:28.434378221Z" +generated: "2021-09-03T23:06:42.073640303Z" diff --git a/stable/tvheadend/7.11.11/Chart.lock b/stable/tvheadend/7.11.11/Chart.lock index 65c16a556b..2000c1cb12 100644 --- a/stable/tvheadend/7.11.11/Chart.lock +++ b/stable/tvheadend/7.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:33.427580105Z" +generated: "2021-09-03T23:06:47.269352051Z" diff --git a/stable/unifi/6.11.11/Chart.lock b/stable/unifi/6.11.11/Chart.lock index 13333f7120..8f8e815413 100644 --- a/stable/unifi/6.11.11/Chart.lock +++ b/stable/unifi/6.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:38.50166501Z" +generated: "2021-09-03T23:06:52.423834038Z" diff --git a/stable/unpackerr/1.11.11/Chart.lock b/stable/unpackerr/1.11.11/Chart.lock index c7beb4cd37..61ffddfcb0 100644 --- a/stable/unpackerr/1.11.11/Chart.lock +++ b/stable/unpackerr/1.11.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:23:43.461363183Z" +generated: "2021-09-03T23:06:57.787512975Z" diff --git a/stable/vaultwarden/6.1.8/Chart.lock b/stable/vaultwarden/6.1.8/Chart.lock index 8ab7986f41..2a51f7ae7a 100644 --- a/stable/vaultwarden/6.1.8/Chart.lock +++ b/stable/vaultwarden/6.1.8/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.5.10 digest: sha256:b20f0d5123c6e90d785f652821123fbb0849046236ebd960637a90f4dbd10cde -generated: "2021-09-03T22:23:49.322722191Z" +generated: "2021-09-03T23:07:04.022610448Z" diff --git a/stable/xteve/1.9.11/Chart.lock b/stable/xteve/1.9.11/Chart.lock index 642ee47eee..fb0e036aaf 100644 --- a/stable/xteve/1.9.11/Chart.lock +++ b/stable/xteve/1.9.11/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.4 digest: sha256:310100cc4b043b6ad0fc371a550e3f34853d472793291588be1cc3d78d19aaa7 -generated: "2021-09-03T22:23:55.445584183Z" +generated: "2021-09-03T23:07:10.447107644Z" diff --git a/stable/zwavejs2mqtt/6.11.12/Chart.lock b/stable/zwavejs2mqtt/6.11.12/Chart.lock index a0c8cd857e..d4cdf6356c 100644 --- a/stable/zwavejs2mqtt/6.11.12/Chart.lock +++ b/stable/zwavejs2mqtt/6.11.12/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.4 digest: sha256:62b51750a57da4ed871c5222664ac35112f28bb013f042fc09ff928bf466a970 -generated: "2021-09-03T22:24:00.382172758Z" +generated: "2021-09-03T23:07:15.767467986Z"