From c8a242252a75648260cc6756891cc755ca98a68b Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sun, 5 Sep 2021 11:38:45 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/custom-app/0.2.16/Chart.lock | 2 +- incubator/nextcloud/3.7.9/Chart.lock | 2 +- stable/airsonic/1.11.13/Chart.lock | 2 +- stable/appdaemon/3.11.13/Chart.lock | 2 +- stable/authelia/1.6.22/Chart.lock | 2 +- stable/bazarr/6.11.14/Chart.lock | 2 +- stable/booksonic-air/1.9.13/Chart.lock | 2 +- stable/calibre-web/6.11.13/Chart.lock | 2 +- stable/calibre/1.9.13/Chart.lock | 2 +- stable/collabora-online/6.11.13/Chart.lock | 2 +- stable/deconz/1.9.13/Chart.lock | 2 +- stable/deepstack-cpu/4.11.13/Chart.lock | 2 +- stable/deluge/6.11.13/Chart.lock | 2 +- stable/dizquetv/1.9.13/Chart.lock | 2 +- stable/duplicati/1.9.13/Chart.lock | 2 +- stable/emby/6.11.13/Chart.lock | 2 +- stable/esphome/6.11.13/Chart.lock | 2 +- stable/external-service/1.4.13/Chart.lock | 2 +- stable/fireflyiii/6.1.8/Chart.lock | 2 +- stable/flaresolverr/1.9.13/Chart.lock | 2 +- stable/flood/1.9.13/Chart.lock | 2 +- stable/focalboard/1.9.13/Chart.lock | 2 +- stable/freeradius/1.7.16/Chart.lock | 2 +- stable/freshrss/6.11.13/Chart.lock | 2 +- stable/gaps/6.11.13/Chart.lock | 2 +- stable/gonic/1.9.13/Chart.lock | 2 +- stable/grocy/6.11.13/Chart.lock | 2 +- stable/handbrake/6.11.13/Chart.lock | 2 +- stable/haste-server/1.11.13/Chart.lock | 2 +- stable/healthchecks/1.9.13/Chart.lock | 2 +- stable/heimdall/6.11.13/Chart.lock | 2 +- stable/home-assistant/6.11.13/Chart.lock | 2 +- stable/hyperion-ng/1.9.13/Chart.lock | 2 +- stable/jackett/6.11.15/Chart.lock | 2 +- stable/jdownloader2/1.0.3/Chart.lock | 2 +- stable/jellyfin/6.11.13/Chart.lock | 2 +- stable/k8s-gateway/1.0.8/Chart.lock | 2 +- stable/kms/6.11.13/Chart.lock | 2 +- stable/komga/1.9.16/Chart.lock | 2 +- stable/lazylibrarian/6.11.13/Chart.lock | 2 +- stable/librespeed/1.9.13/Chart.lock | 2 +- stable/lidarr/6.11.13/Chart.lock | 2 +- stable/littlelink/1.5.13/Chart.lock | 2 +- stable/lychee/6.11.13/Chart.lock | 2 +- stable/mealie/1.11.13/Chart.lock | 2 +- stable/mosquitto/1.11.13/Chart.lock | 2 +- stable/mylar/1.9.13/Chart.lock | 2 +- stable/navidrome/6.11.13/Chart.lock | 2 +- stable/node-red/6.11.13/Chart.lock | 2 +- stable/nullserv/1.9.13/Chart.lock | 2 +- stable/nzbget/6.11.13/Chart.lock | 2 +- stable/nzbhydra/6.11.13/Chart.lock | 2 +- stable/octoprint/1.9.13/Chart.lock | 2 +- stable/omada-controller/1.9.13/Chart.lock | 2 +- stable/ombi/6.11.14/Chart.lock | 2 +- stable/openldap/1.7.17/Chart.lock | 2 +- stable/organizr/6.11.13/Chart.lock | 2 +- stable/overseerr/1.9.13/Chart.lock | 2 +- stable/owncast/1.9.13/Chart.lock | 2 +- stable/owncloud-ocis/1.9.13/Chart.lock | 2 +- stable/pgadmin/1.8.13/Chart.lock | 2 +- stable/photoprism/1.9.13/Chart.lock | 2 +- stable/phpldapadmin/1.8.13/Chart.lock | 2 +- stable/piaware/1.9.13/Chart.lock | 2 +- stable/pihole/1.0.4/CONFIG.md | 8 + stable/pihole/1.0.4/Chart.lock | 6 + stable/pihole/1.0.4/Chart.yaml | 24 + stable/pihole/1.0.4/README.md | 39 + stable/pihole/1.0.4/app-readme.md | 4 + stable/pihole/1.0.4/charts/common-6.13.7.tgz | Bin 0 -> 29097 bytes stable/pihole/1.0.4/helm-values.md | 35 + stable/pihole/1.0.4/ix_values.yaml | 19 + stable/pihole/1.0.4/questions.yaml | 1544 +++++++++++++++++ stable/pihole/1.0.4/templates/_configmap.tpl | 13 + stable/pihole/1.0.4/templates/common.yaml | 8 + stable/pihole/1.0.4/test_values.yaml | 49 + stable/pihole/1.0.4/values.yaml | 0 stable/plex/5.11.14/Chart.lock | 2 +- stable/podgrab/4.11.13/Chart.lock | 2 +- stable/postgresql/1.6.2/Chart.lock | 2 +- stable/pretend-youre-xyzzy/1.9.13/Chart.lock | 2 +- stable/protonmail-bridge/1.9.13/Chart.lock | 2 +- stable/prowlarr/1.11.15/Chart.lock | 2 +- stable/pyload/1.9.13/Chart.lock | 2 +- stable/qbittorrent/6.11.13/Chart.lock | 2 +- stable/radarr/6.11.13/Chart.lock | 2 +- stable/readarr/6.11.13/Chart.lock | 2 +- stable/reg/1.11.13/Chart.lock | 2 +- stable/resilio-sync/1.9.13/Chart.lock | 2 +- stable/sabnzbd/6.11.13/Chart.lock | 2 +- stable/ser2sock/1.9.13/Chart.lock | 2 +- stable/sonarr/6.11.13/Chart.lock | 2 +- stable/stash/1.9.14/Chart.lock | 2 +- stable/syncthing/6.11.13/Chart.lock | 2 +- stable/tautulli/6.11.13/Chart.lock | 2 +- stable/thelounge/1.11.13/Chart.lock | 2 +- stable/traefik/7.0.8/CONFIG.md | 8 + stable/traefik/7.0.8/Chart.lock | 6 + stable/traefik/7.0.8/Chart.yaml | 25 + stable/traefik/7.0.8/README.md | 39 + stable/traefik/7.0.8/app-readme.md | 4 + stable/traefik/7.0.8/charts/common-6.13.7.tgz | Bin 0 -> 29097 bytes stable/traefik/7.0.8/crds/ingressroute.yaml | 198 +++ .../traefik/7.0.8/crds/ingressroutetcp.yaml | 160 ++ .../traefik/7.0.8/crds/ingressrouteudp.yaml | 84 + stable/traefik/7.0.8/crds/middlewares.yaml | 563 ++++++ stable/traefik/7.0.8/crds/middlewarestcp.yaml | 59 + .../traefik/7.0.8/crds/serverstransports.yaml | 101 ++ stable/traefik/7.0.8/crds/tlsoptions.yaml | 87 + stable/traefik/7.0.8/crds/tlsstores.yaml | 64 + .../traefik/7.0.8/crds/traefikservices.yaml | 270 +++ stable/traefik/7.0.8/helm-values.md | 50 + stable/traefik/7.0.8/ix_values.yaml | 181 ++ stable/traefik/7.0.8/questions.yaml | 1171 +++++++++++++ stable/traefik/7.0.8/templates/_args.tpl | 141 ++ stable/traefik/7.0.8/templates/_helpers.tpl | 22 + .../traefik/7.0.8/templates/_ingressclass.tpl | 24 + .../traefik/7.0.8/templates/_ingressroute.tpl | 26 + .../traefik/7.0.8/templates/_portalhook.tpl | 26 + .../traefik/7.0.8/templates/_tlsoptions.tpl | 13 + stable/traefik/7.0.8/templates/common.yaml | 24 + .../middlewares/basic-middleware.yaml | 63 + .../templates/middlewares/basicauth.yaml | 34 + .../7.0.8/templates/middlewares/chain.yaml | 21 + .../templates/middlewares/forwardauth.yaml | 28 + .../templates/middlewares/ratelimit.yaml | 19 + .../templates/middlewares/redirectScheme.yaml | 19 + stable/traefik/7.0.8/test_values.yaml | 320 ++++ stable/traefik/7.0.8/values.yaml | 0 stable/transmission/6.11.14/Chart.lock | 2 +- stable/truecommand/6.11.14/Chart.lock | 2 +- stable/tvheadend/7.11.13/Chart.lock | 2 +- stable/unifi/6.11.13/Chart.lock | 2 +- stable/unpackerr/1.11.13/Chart.lock | 2 +- stable/vaultwarden/6.1.10/Chart.lock | 2 +- stable/xteve/1.9.13/Chart.lock | 2 +- stable/zwavejs2mqtt/6.11.14/Chart.lock | 2 +- 137 files changed, 5690 insertions(+), 91 deletions(-) create mode 100644 stable/pihole/1.0.4/CONFIG.md create mode 100644 stable/pihole/1.0.4/Chart.lock create mode 100644 stable/pihole/1.0.4/Chart.yaml create mode 100644 stable/pihole/1.0.4/README.md create mode 100644 stable/pihole/1.0.4/app-readme.md create mode 100644 stable/pihole/1.0.4/charts/common-6.13.7.tgz create mode 100644 stable/pihole/1.0.4/helm-values.md create mode 100644 stable/pihole/1.0.4/ix_values.yaml create mode 100644 stable/pihole/1.0.4/questions.yaml create mode 100644 stable/pihole/1.0.4/templates/_configmap.tpl create mode 100644 stable/pihole/1.0.4/templates/common.yaml create mode 100644 stable/pihole/1.0.4/test_values.yaml create mode 100644 stable/pihole/1.0.4/values.yaml create mode 100644 stable/traefik/7.0.8/CONFIG.md create mode 100644 stable/traefik/7.0.8/Chart.lock create mode 100644 stable/traefik/7.0.8/Chart.yaml create mode 100644 stable/traefik/7.0.8/README.md create mode 100644 stable/traefik/7.0.8/app-readme.md create mode 100644 stable/traefik/7.0.8/charts/common-6.13.7.tgz create mode 100644 stable/traefik/7.0.8/crds/ingressroute.yaml create mode 100644 stable/traefik/7.0.8/crds/ingressroutetcp.yaml create mode 100644 stable/traefik/7.0.8/crds/ingressrouteudp.yaml create mode 100644 stable/traefik/7.0.8/crds/middlewares.yaml create mode 100644 stable/traefik/7.0.8/crds/middlewarestcp.yaml create mode 100644 stable/traefik/7.0.8/crds/serverstransports.yaml create mode 100644 stable/traefik/7.0.8/crds/tlsoptions.yaml create mode 100644 stable/traefik/7.0.8/crds/tlsstores.yaml create mode 100644 stable/traefik/7.0.8/crds/traefikservices.yaml create mode 100644 stable/traefik/7.0.8/helm-values.md create mode 100644 stable/traefik/7.0.8/ix_values.yaml create mode 100644 stable/traefik/7.0.8/questions.yaml create mode 100644 stable/traefik/7.0.8/templates/_args.tpl create mode 100644 stable/traefik/7.0.8/templates/_helpers.tpl create mode 100644 stable/traefik/7.0.8/templates/_ingressclass.tpl create mode 100644 stable/traefik/7.0.8/templates/_ingressroute.tpl create mode 100644 stable/traefik/7.0.8/templates/_portalhook.tpl create mode 100644 stable/traefik/7.0.8/templates/_tlsoptions.tpl create mode 100644 stable/traefik/7.0.8/templates/common.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/basic-middleware.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/basicauth.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/chain.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/forwardauth.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/ratelimit.yaml create mode 100644 stable/traefik/7.0.8/templates/middlewares/redirectScheme.yaml create mode 100644 stable/traefik/7.0.8/test_values.yaml create mode 100644 stable/traefik/7.0.8/values.yaml diff --git a/incubator/custom-app/0.2.16/Chart.lock b/incubator/custom-app/0.2.16/Chart.lock index 64ce5c0dd8..56e0175732 100644 --- a/incubator/custom-app/0.2.16/Chart.lock +++ b/incubator/custom-app/0.2.16/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:54:31.205267915Z" +generated: "2021-09-05T11:38:03.852738755Z" diff --git a/incubator/nextcloud/3.7.9/Chart.lock b/incubator/nextcloud/3.7.9/Chart.lock index f513fdfec5..fd9859c906 100644 --- a/incubator/nextcloud/3.7.9/Chart.lock +++ b/incubator/nextcloud/3.7.9/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.3.1 digest: sha256:8e1539556c3970833500f4afd64a93b92f3a89d55f215a85a6788408feb3e809 -generated: "2021-09-05T08:54:38.778909064Z" +generated: "2021-09-05T11:38:10.502705687Z" diff --git a/stable/airsonic/1.11.13/Chart.lock b/stable/airsonic/1.11.13/Chart.lock index 939d3e973b..00c71cc696 100644 --- a/stable/airsonic/1.11.13/Chart.lock +++ b/stable/airsonic/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:46:46.628685317Z" +generated: "2021-09-05T11:31:11.501970969Z" diff --git a/stable/appdaemon/3.11.13/Chart.lock b/stable/appdaemon/3.11.13/Chart.lock index 984feab948..779efac790 100644 --- a/stable/appdaemon/3.11.13/Chart.lock +++ b/stable/appdaemon/3.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:46:51.821729807Z" +generated: "2021-09-05T11:31:15.84726541Z" diff --git a/stable/authelia/1.6.22/Chart.lock b/stable/authelia/1.6.22/Chart.lock index 4f44820e65..1b1b1a103c 100644 --- a/stable/authelia/1.6.22/Chart.lock +++ b/stable/authelia/1.6.22/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.3.1 digest: sha256:8e1539556c3970833500f4afd64a93b92f3a89d55f215a85a6788408feb3e809 -generated: "2021-09-05T08:46:59.540328674Z" +generated: "2021-09-05T11:31:22.657381902Z" diff --git a/stable/bazarr/6.11.14/Chart.lock b/stable/bazarr/6.11.14/Chart.lock index 0257ef7f17..511f99acf8 100644 --- a/stable/bazarr/6.11.14/Chart.lock +++ b/stable/bazarr/6.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:08.487164379Z" +generated: "2021-09-05T11:31:30.578903174Z" diff --git a/stable/booksonic-air/1.9.13/Chart.lock b/stable/booksonic-air/1.9.13/Chart.lock index 8f6827bb75..15637d9533 100644 --- a/stable/booksonic-air/1.9.13/Chart.lock +++ b/stable/booksonic-air/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:47:13.530153965Z" +generated: "2021-09-05T11:31:34.844307387Z" diff --git a/stable/calibre-web/6.11.13/Chart.lock b/stable/calibre-web/6.11.13/Chart.lock index 954d6cf340..cdfdc465b4 100644 --- a/stable/calibre-web/6.11.13/Chart.lock +++ b/stable/calibre-web/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:23.842452424Z" +generated: "2021-09-05T11:31:43.544467214Z" diff --git a/stable/calibre/1.9.13/Chart.lock b/stable/calibre/1.9.13/Chart.lock index 307ee72a4e..04a9bbd7b4 100644 --- a/stable/calibre/1.9.13/Chart.lock +++ b/stable/calibre/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:47:18.667732121Z" +generated: "2021-09-05T11:31:39.236168097Z" diff --git a/stable/collabora-online/6.11.13/Chart.lock b/stable/collabora-online/6.11.13/Chart.lock index 8078f179f6..09dc3796a6 100644 --- a/stable/collabora-online/6.11.13/Chart.lock +++ b/stable/collabora-online/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:28.884646792Z" +generated: "2021-09-05T11:31:47.914586485Z" diff --git a/stable/deconz/1.9.13/Chart.lock b/stable/deconz/1.9.13/Chart.lock index 48bbd58b0c..dbccf34abe 100644 --- a/stable/deconz/1.9.13/Chart.lock +++ b/stable/deconz/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:47:33.823414545Z" +generated: "2021-09-05T11:31:52.295004146Z" diff --git a/stable/deepstack-cpu/4.11.13/Chart.lock b/stable/deepstack-cpu/4.11.13/Chart.lock index 0fffc8550a..71ec86b196 100644 --- a/stable/deepstack-cpu/4.11.13/Chart.lock +++ b/stable/deepstack-cpu/4.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:38.899349293Z" +generated: "2021-09-05T11:31:56.745446048Z" diff --git a/stable/deluge/6.11.13/Chart.lock b/stable/deluge/6.11.13/Chart.lock index 2751f9c5e5..22eb318927 100644 --- a/stable/deluge/6.11.13/Chart.lock +++ b/stable/deluge/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:43.824267672Z" +generated: "2021-09-05T11:32:01.177222697Z" diff --git a/stable/dizquetv/1.9.13/Chart.lock b/stable/dizquetv/1.9.13/Chart.lock index 1d89e74519..0e4186005a 100644 --- a/stable/dizquetv/1.9.13/Chart.lock +++ b/stable/dizquetv/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:47:48.769891419Z" +generated: "2021-09-05T11:32:05.595858111Z" diff --git a/stable/duplicati/1.9.13/Chart.lock b/stable/duplicati/1.9.13/Chart.lock index cbc0402c3e..d1c89985b7 100644 --- a/stable/duplicati/1.9.13/Chart.lock +++ b/stable/duplicati/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:47:53.82085162Z" +generated: "2021-09-05T11:32:10.088549345Z" diff --git a/stable/emby/6.11.13/Chart.lock b/stable/emby/6.11.13/Chart.lock index abbeef3762..6725c32e15 100644 --- a/stable/emby/6.11.13/Chart.lock +++ b/stable/emby/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:47:58.790749996Z" +generated: "2021-09-05T11:32:14.409621473Z" diff --git a/stable/esphome/6.11.13/Chart.lock b/stable/esphome/6.11.13/Chart.lock index 2122dfe0dc..9218209029 100644 --- a/stable/esphome/6.11.13/Chart.lock +++ b/stable/esphome/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:03.729811142Z" +generated: "2021-09-05T11:32:18.688587986Z" diff --git a/stable/external-service/1.4.13/Chart.lock b/stable/external-service/1.4.13/Chart.lock index 41a3db90cf..60aa1feb10 100644 --- a/stable/external-service/1.4.13/Chart.lock +++ b/stable/external-service/1.4.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:08.670528025Z" +generated: "2021-09-05T11:32:23.174086149Z" diff --git a/stable/fireflyiii/6.1.8/Chart.lock b/stable/fireflyiii/6.1.8/Chart.lock index 9fd6bec2e6..1d29688be0 100644 --- a/stable/fireflyiii/6.1.8/Chart.lock +++ b/stable/fireflyiii/6.1.8/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.6.1 digest: sha256:7d052f87287c75c33137e6e8a856ef71bb138717949069ee2102c0c11cad8a85 -generated: "2021-09-05T08:48:14.678559764Z" +generated: "2021-09-05T11:32:28.396157989Z" diff --git a/stable/flaresolverr/1.9.13/Chart.lock b/stable/flaresolverr/1.9.13/Chart.lock index c223409ecb..71981930a4 100644 --- a/stable/flaresolverr/1.9.13/Chart.lock +++ b/stable/flaresolverr/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:48:20.68685401Z" +generated: "2021-09-05T11:32:33.824658222Z" diff --git a/stable/flood/1.9.13/Chart.lock b/stable/flood/1.9.13/Chart.lock index d7a205b291..b7f8f9a822 100644 --- a/stable/flood/1.9.13/Chart.lock +++ b/stable/flood/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:48:25.652661462Z" +generated: "2021-09-05T11:32:38.288734671Z" diff --git a/stable/focalboard/1.9.13/Chart.lock b/stable/focalboard/1.9.13/Chart.lock index 743c960171..40a99fa744 100644 --- a/stable/focalboard/1.9.13/Chart.lock +++ b/stable/focalboard/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:48:30.570003296Z" +generated: "2021-09-05T11:32:42.808694568Z" diff --git a/stable/freeradius/1.7.16/Chart.lock b/stable/freeradius/1.7.16/Chart.lock index d5c92fa466..04bba16b56 100644 --- a/stable/freeradius/1.7.16/Chart.lock +++ b/stable/freeradius/1.7.16/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:35.467292561Z" +generated: "2021-09-05T11:32:47.222802852Z" diff --git a/stable/freshrss/6.11.13/Chart.lock b/stable/freshrss/6.11.13/Chart.lock index bee6e2de7c..b06545b6fa 100644 --- a/stable/freshrss/6.11.13/Chart.lock +++ b/stable/freshrss/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:40.38011261Z" +generated: "2021-09-05T11:32:51.65722644Z" diff --git a/stable/gaps/6.11.13/Chart.lock b/stable/gaps/6.11.13/Chart.lock index 60faf84068..252518ef26 100644 --- a/stable/gaps/6.11.13/Chart.lock +++ b/stable/gaps/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:45.357276734Z" +generated: "2021-09-05T11:32:56.150589512Z" diff --git a/stable/gonic/1.9.13/Chart.lock b/stable/gonic/1.9.13/Chart.lock index 0615433e89..cfaa6150d5 100644 --- a/stable/gonic/1.9.13/Chart.lock +++ b/stable/gonic/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:48:50.252668991Z" +generated: "2021-09-05T11:33:00.51432826Z" diff --git a/stable/grocy/6.11.13/Chart.lock b/stable/grocy/6.11.13/Chart.lock index 1ecc127bdd..693bea8594 100644 --- a/stable/grocy/6.11.13/Chart.lock +++ b/stable/grocy/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:48:55.187603373Z" +generated: "2021-09-05T11:33:04.889326951Z" diff --git a/stable/handbrake/6.11.13/Chart.lock b/stable/handbrake/6.11.13/Chart.lock index d6d7049e2c..ef8aad20fa 100644 --- a/stable/handbrake/6.11.13/Chart.lock +++ b/stable/handbrake/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:00.331520842Z" +generated: "2021-09-05T11:33:09.35931123Z" diff --git a/stable/haste-server/1.11.13/Chart.lock b/stable/haste-server/1.11.13/Chart.lock index 640527d3a2..3d2ef6fc8c 100644 --- a/stable/haste-server/1.11.13/Chart.lock +++ b/stable/haste-server/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:05.257894814Z" +generated: "2021-09-05T11:33:13.781434277Z" diff --git a/stable/healthchecks/1.9.13/Chart.lock b/stable/healthchecks/1.9.13/Chart.lock index 2305b0f6c5..14fa2cf474 100644 --- a/stable/healthchecks/1.9.13/Chart.lock +++ b/stable/healthchecks/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:49:10.248643865Z" +generated: "2021-09-05T11:33:18.238917517Z" diff --git a/stable/heimdall/6.11.13/Chart.lock b/stable/heimdall/6.11.13/Chart.lock index fe35183fc2..85efb0533e 100644 --- a/stable/heimdall/6.11.13/Chart.lock +++ b/stable/heimdall/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:15.119835597Z" +generated: "2021-09-05T11:33:22.612865587Z" diff --git a/stable/home-assistant/6.11.13/Chart.lock b/stable/home-assistant/6.11.13/Chart.lock index 4787d3beea..041a2bff70 100644 --- a/stable/home-assistant/6.11.13/Chart.lock +++ b/stable/home-assistant/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:20.227768477Z" +generated: "2021-09-05T11:33:27.070860359Z" diff --git a/stable/hyperion-ng/1.9.13/Chart.lock b/stable/hyperion-ng/1.9.13/Chart.lock index 39d8a7cfbf..8c0c3a0272 100644 --- a/stable/hyperion-ng/1.9.13/Chart.lock +++ b/stable/hyperion-ng/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:49:25.313212249Z" +generated: "2021-09-05T11:33:31.432770531Z" diff --git a/stable/jackett/6.11.15/Chart.lock b/stable/jackett/6.11.15/Chart.lock index ece220374a..a8e6144128 100644 --- a/stable/jackett/6.11.15/Chart.lock +++ b/stable/jackett/6.11.15/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:30.419160246Z" +generated: "2021-09-05T11:33:35.800048376Z" diff --git a/stable/jdownloader2/1.0.3/Chart.lock b/stable/jdownloader2/1.0.3/Chart.lock index 4c4944775e..e51dfcc9f6 100644 --- a/stable/jdownloader2/1.0.3/Chart.lock +++ b/stable/jdownloader2/1.0.3/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:35.51212689Z" +generated: "2021-09-05T11:33:40.3918644Z" diff --git a/stable/jellyfin/6.11.13/Chart.lock b/stable/jellyfin/6.11.13/Chart.lock index 6a91e622d3..edc49de16b 100644 --- a/stable/jellyfin/6.11.13/Chart.lock +++ b/stable/jellyfin/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:40.488163783Z" +generated: "2021-09-05T11:33:44.906665003Z" diff --git a/stable/k8s-gateway/1.0.8/Chart.lock b/stable/k8s-gateway/1.0.8/Chart.lock index 8bae4ce0c9..07ad3c8bac 100644 --- a/stable/k8s-gateway/1.0.8/Chart.lock +++ b/stable/k8s-gateway/1.0.8/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:45.433578196Z" +generated: "2021-09-05T11:33:49.676509608Z" diff --git a/stable/kms/6.11.13/Chart.lock b/stable/kms/6.11.13/Chart.lock index 5ef9c0ebd3..407f7e329e 100644 --- a/stable/kms/6.11.13/Chart.lock +++ b/stable/kms/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:49:50.37913887Z" +generated: "2021-09-05T11:33:54.224646035Z" diff --git a/stable/komga/1.9.16/Chart.lock b/stable/komga/1.9.16/Chart.lock index b9aedeb644..755253d5e8 100644 --- a/stable/komga/1.9.16/Chart.lock +++ b/stable/komga/1.9.16/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:49:55.309657065Z" +generated: "2021-09-05T11:33:58.907260648Z" diff --git a/stable/lazylibrarian/6.11.13/Chart.lock b/stable/lazylibrarian/6.11.13/Chart.lock index 502bb1d695..0787e61f04 100644 --- a/stable/lazylibrarian/6.11.13/Chart.lock +++ b/stable/lazylibrarian/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:00.288900317Z" +generated: "2021-09-05T11:34:03.450070165Z" diff --git a/stable/librespeed/1.9.13/Chart.lock b/stable/librespeed/1.9.13/Chart.lock index 9c4a3a2649..00c18e71fc 100644 --- a/stable/librespeed/1.9.13/Chart.lock +++ b/stable/librespeed/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:50:05.196828266Z" +generated: "2021-09-05T11:34:08.187151848Z" diff --git a/stable/lidarr/6.11.13/Chart.lock b/stable/lidarr/6.11.13/Chart.lock index 56a6606f36..ce4750bc9a 100644 --- a/stable/lidarr/6.11.13/Chart.lock +++ b/stable/lidarr/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:10.14610954Z" +generated: "2021-09-05T11:34:12.8664044Z" diff --git a/stable/littlelink/1.5.13/Chart.lock b/stable/littlelink/1.5.13/Chart.lock index 67155bb95b..ed3f675d0b 100644 --- a/stable/littlelink/1.5.13/Chart.lock +++ b/stable/littlelink/1.5.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:15.156546089Z" +generated: "2021-09-05T11:34:17.470781914Z" diff --git a/stable/lychee/6.11.13/Chart.lock b/stable/lychee/6.11.13/Chart.lock index f1c788525e..debf7989a0 100644 --- a/stable/lychee/6.11.13/Chart.lock +++ b/stable/lychee/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:20.134078486Z" +generated: "2021-09-05T11:34:21.921459133Z" diff --git a/stable/mealie/1.11.13/Chart.lock b/stable/mealie/1.11.13/Chart.lock index e2b43634e4..d4a293d012 100644 --- a/stable/mealie/1.11.13/Chart.lock +++ b/stable/mealie/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:25.003708263Z" +generated: "2021-09-05T11:34:26.731556359Z" diff --git a/stable/mosquitto/1.11.13/Chart.lock b/stable/mosquitto/1.11.13/Chart.lock index f22e19c939..13681a6a31 100644 --- a/stable/mosquitto/1.11.13/Chart.lock +++ b/stable/mosquitto/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:29.969065451Z" +generated: "2021-09-05T11:34:31.027423046Z" diff --git a/stable/mylar/1.9.13/Chart.lock b/stable/mylar/1.9.13/Chart.lock index 1e1ddb222d..33b4a32820 100644 --- a/stable/mylar/1.9.13/Chart.lock +++ b/stable/mylar/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:50:34.92013809Z" +generated: "2021-09-05T11:34:35.345665957Z" diff --git a/stable/navidrome/6.11.13/Chart.lock b/stable/navidrome/6.11.13/Chart.lock index ac1d5e6580..21db9fae5d 100644 --- a/stable/navidrome/6.11.13/Chart.lock +++ b/stable/navidrome/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:39.868326108Z" +generated: "2021-09-05T11:34:39.685627374Z" diff --git a/stable/node-red/6.11.13/Chart.lock b/stable/node-red/6.11.13/Chart.lock index 509409f47c..5041a79ac3 100644 --- a/stable/node-red/6.11.13/Chart.lock +++ b/stable/node-red/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:44.828687454Z" +generated: "2021-09-05T11:34:44.160805129Z" diff --git a/stable/nullserv/1.9.13/Chart.lock b/stable/nullserv/1.9.13/Chart.lock index e7a3b51da6..a98ce1325f 100644 --- a/stable/nullserv/1.9.13/Chart.lock +++ b/stable/nullserv/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:50:49.781156381Z" +generated: "2021-09-05T11:34:48.470138493Z" diff --git a/stable/nzbget/6.11.13/Chart.lock b/stable/nzbget/6.11.13/Chart.lock index 61d5e0a0b7..0dbc344b41 100644 --- a/stable/nzbget/6.11.13/Chart.lock +++ b/stable/nzbget/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:54.821709449Z" +generated: "2021-09-05T11:34:52.732028059Z" diff --git a/stable/nzbhydra/6.11.13/Chart.lock b/stable/nzbhydra/6.11.13/Chart.lock index 33949b00b1..1837eba37c 100644 --- a/stable/nzbhydra/6.11.13/Chart.lock +++ b/stable/nzbhydra/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:50:59.867560182Z" +generated: "2021-09-05T11:34:57.368327983Z" diff --git a/stable/octoprint/1.9.13/Chart.lock b/stable/octoprint/1.9.13/Chart.lock index 0513a0b2f3..b8b2b09b9b 100644 --- a/stable/octoprint/1.9.13/Chart.lock +++ b/stable/octoprint/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:05.078028413Z" +generated: "2021-09-05T11:35:01.770246146Z" diff --git a/stable/omada-controller/1.9.13/Chart.lock b/stable/omada-controller/1.9.13/Chart.lock index ce9dc4470d..7dacffc2a6 100644 --- a/stable/omada-controller/1.9.13/Chart.lock +++ b/stable/omada-controller/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:10.119467326Z" +generated: "2021-09-05T11:35:06.074359084Z" diff --git a/stable/ombi/6.11.14/Chart.lock b/stable/ombi/6.11.14/Chart.lock index b28fe52aa7..21c4a7ab7f 100644 --- a/stable/ombi/6.11.14/Chart.lock +++ b/stable/ombi/6.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:51:15.175030952Z" +generated: "2021-09-05T11:35:10.480309346Z" diff --git a/stable/openldap/1.7.17/Chart.lock b/stable/openldap/1.7.17/Chart.lock index aa43306bde..da6378326e 100644 --- a/stable/openldap/1.7.17/Chart.lock +++ b/stable/openldap/1.7.17/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:51:20.113153209Z" +generated: "2021-09-05T11:35:14.861774835Z" diff --git a/stable/organizr/6.11.13/Chart.lock b/stable/organizr/6.11.13/Chart.lock index 88c869e053..6cde004a53 100644 --- a/stable/organizr/6.11.13/Chart.lock +++ b/stable/organizr/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:51:25.077632231Z" +generated: "2021-09-05T11:35:19.159294524Z" diff --git a/stable/overseerr/1.9.13/Chart.lock b/stable/overseerr/1.9.13/Chart.lock index 98c6a71004..eab9b01ff7 100644 --- a/stable/overseerr/1.9.13/Chart.lock +++ b/stable/overseerr/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:30.06104972Z" +generated: "2021-09-05T11:35:23.740901293Z" diff --git a/stable/owncast/1.9.13/Chart.lock b/stable/owncast/1.9.13/Chart.lock index 26d6f1eae2..0fa081b83f 100644 --- a/stable/owncast/1.9.13/Chart.lock +++ b/stable/owncast/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:34.990239025Z" +generated: "2021-09-05T11:35:28.152587743Z" diff --git a/stable/owncloud-ocis/1.9.13/Chart.lock b/stable/owncloud-ocis/1.9.13/Chart.lock index 82c84d79a6..82c4860f3e 100644 --- a/stable/owncloud-ocis/1.9.13/Chart.lock +++ b/stable/owncloud-ocis/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:39.859114865Z" +generated: "2021-09-05T11:35:32.306175664Z" diff --git a/stable/pgadmin/1.8.13/Chart.lock b/stable/pgadmin/1.8.13/Chart.lock index 7bf1a3cae8..77f0c4942a 100644 --- a/stable/pgadmin/1.8.13/Chart.lock +++ b/stable/pgadmin/1.8.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:51:44.793004502Z" +generated: "2021-09-05T11:35:36.775004839Z" diff --git a/stable/photoprism/1.9.13/Chart.lock b/stable/photoprism/1.9.13/Chart.lock index b2f7a9a8c9..ca2432388c 100644 --- a/stable/photoprism/1.9.13/Chart.lock +++ b/stable/photoprism/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:49.704129399Z" +generated: "2021-09-05T11:35:41.332740542Z" diff --git a/stable/phpldapadmin/1.8.13/Chart.lock b/stable/phpldapadmin/1.8.13/Chart.lock index c12ed743bd..969a398277 100644 --- a/stable/phpldapadmin/1.8.13/Chart.lock +++ b/stable/phpldapadmin/1.8.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:51:54.760114418Z" +generated: "2021-09-05T11:35:45.586529571Z" diff --git a/stable/piaware/1.9.13/Chart.lock b/stable/piaware/1.9.13/Chart.lock index da774c6231..b119ca87ec 100644 --- a/stable/piaware/1.9.13/Chart.lock +++ b/stable/piaware/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:51:59.668311149Z" +generated: "2021-09-05T11:35:49.911688916Z" diff --git a/stable/pihole/1.0.4/CONFIG.md b/stable/pihole/1.0.4/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/pihole/1.0.4/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps 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/pihole/1.0.4/Chart.lock b/stable/pihole/1.0.4/Chart.lock new file mode 100644 index 0000000000..4728891123 --- /dev/null +++ b/stable/pihole/1.0.4/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.7 +digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d +generated: "2021-09-05T11:35:54.283939111Z" diff --git a/stable/pihole/1.0.4/Chart.yaml b/stable/pihole/1.0.4/Chart.yaml new file mode 100644 index 0000000000..08a2055e86 --- /dev/null +++ b/stable/pihole/1.0.4/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.7 +deprecated: false +description: DNS and Ad-filtering for your network +home: https://github.com/truecharts/apps/tree/master/charts/stable/pihole +icon: https://upload.wikimedia.org/wikipedia/en/thumb/1/15/Pi-hole_vector_logo.svg/1200px-Pi-hole_vector_logo.svg.png +keywords: +- DNS +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: pihole +sources: +- https://pi-hole.net/ +- https://github.com/pi-hole +- https://github.com/pi-hole/docker-pi-hole +type: application +version: 1.0.4 diff --git a/stable/pihole/1.0.4/README.md b/stable/pihole/1.0.4/README.md new file mode 100644 index 0000000000..d863d59aed --- /dev/null +++ b/stable/pihole/1.0.4/README.md @@ -0,0 +1,39 @@ +# Introduction + +DNS and Ad-filtering for your network + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 6.13.7 | + +## 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/pihole/1.0.4/app-readme.md b/stable/pihole/1.0.4/app-readme.md new file mode 100644 index 0000000000..fdfec11be7 --- /dev/null +++ b/stable/pihole/1.0.4/app-readme.md @@ -0,0 +1,4 @@ +DNS and Ad-filtering for your network + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +DNS and Ad-filtering for your network diff --git a/stable/pihole/1.0.4/charts/common-6.13.7.tgz b/stable/pihole/1.0.4/charts/common-6.13.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6b300369a4104b7e1c080373a5551f417541bc26 GIT binary patch literal 29097 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%0Dcpj^f#>0OE)`Q~@T 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 literal 0 HcmV?d00001 diff --git a/stable/pihole/1.0.4/helm-values.md b/stable/pihole/1.0.4/helm-values.md new file mode 100644 index 0000000000..c4d0b1dbe2 --- /dev/null +++ b/stable/pihole/1.0.4/helm-values.md @@ -0,0 +1,35 @@ +# 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 | +|-----|------|---------|-------------| +| envFrom[0].configMapRef.name | string | `"pihole-env"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"pihole/pihole"` | | +| image.tag | string | `"v5.8.1"` | | +| persistence.config.accessMode | string | `"ReadWriteOnce"` | | +| persistence.config.enabled | bool | `true` | | +| persistence.config.mountPath | string | `"/etc/pihole"` | | +| persistence.config.size | string | `"100Gi"` | | +| persistence.config.type | string | `"pvc"` | | +| pihole.DNS1 | string | `"9.9.9.9"` | | +| pihole.DNS2 | string | `"149.112.112.112"` | | +| pihole.WEBPASSWORD | string | `"somepassword"` | | +| service.dns-tcp.enabled | bool | `true` | | +| service.dns-tcp.ports.https.enabled | bool | `true` | | +| service.dns-tcp.ports.https.port | int | `53` | | +| service.dns.enabled | bool | `true` | | +| service.dns.ports.dns.enabled | bool | `true` | | +| service.dns.ports.dns.port | int | `53` | | +| service.main.enabled | bool | `true` | | +| service.main.ports.main.port | int | `80` | | + +All Rights Reserved - The TrueCharts Project diff --git a/stable/pihole/1.0.4/ix_values.yaml b/stable/pihole/1.0.4/ix_values.yaml new file mode 100644 index 0000000000..d4d5afa47e --- /dev/null +++ b/stable/pihole/1.0.4/ix_values.yaml @@ -0,0 +1,19 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: pihole/pihole + pullPolicy: IfNotPresent + tag: v5.8.1 + +envFrom: + - configMapRef: + name: pihole-env + +## +# 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/pihole/1.0.4/questions.yaml b/stable/pihole/1.0.4/questions.yaml new file mode 100644 index 0000000000..ecd823f0aa --- /dev/null +++ b/stable/pihole/1.0.4/questions.yaml @@ -0,0 +1,1544 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "/admin/" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + - variable: 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: pihole + group: "App Configuration" + label: "Pi-Hole Configuration" + schema: + type: dict + attrs: + - variable: WEBPASSWORD + label: "WEBPASSWORD" + description: "Sets admin password for the GUI" + schema: + type: string + default: "" + required: true + - variable: DNS1 + label: "DNS1" + description: "Sets the first DNS server (use #port suffix for ports)" + schema: + type: string + default: "9.9.9.9" + - variable: DNS2 + label: "DNS2" + description: "Sets the second DNS server (use #port suffix for ports), only if DNS1 is entered" + schema: + type: string + default: "149.112.112.112" + + + - 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: 80 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 80 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36101 + - variable: dns + label: "DNS 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: "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: dns + label: "DNS Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 53 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 53 + 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: dns-tcp + label: "DNS-TCP 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: "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: dns-tcp + label: "DNS-TCP Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 53 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 53 + 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: serviceList + label: "Additional Services" + group: "Networking and Services" + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: "Custom Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - 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: portsList + label: "Additional Service Ports" + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: "Custom ports" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Port Name" + schema: + type: string + default: "" + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + required: true + - variable: port + label: "Container Port" + schema: + type: int + 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: persistence + label: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: 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: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - 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: "/etc/pihole" + 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: dnsmasq + label: "App dnsmasq.d Storage" + description: "Stores the Application dnsmasq.d." + schema: + type: dict + attrs: + - variable: enabled + label: "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: 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: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - 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: "/etc/dnsmasq.d" + 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: 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: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - 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: 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: 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: "Resource Limits" + 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/pihole/1.0.4/templates/_configmap.tpl b/stable/pihole/1.0.4/templates/_configmap.tpl new file mode 100644 index 0000000000..f39ca5c60b --- /dev/null +++ b/stable/pihole/1.0.4/templates/_configmap.tpl @@ -0,0 +1,13 @@ +{{/* Define the configmap */}} +{{- define "pihole.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: pihole-env +data: + WEBPASSWORD: {{ .Values.pihole.WEBPASSWORD | squote }} + {{- if .Values.pihole.DNS1 }} + "PIHOLE_DNS_": {{ if .Values.pihole.DNS2 }}{{ ( printf "%v;%v" .Values.pihole.DNS1 .Values.pihole.DNS2 ) | squote }}{{ else }}{{ .Values.pihole.DNS1 | squote }}{{ end }} + {{- end }} +{{- end -}} diff --git a/stable/pihole/1.0.4/templates/common.yaml b/stable/pihole/1.0.4/templates/common.yaml new file mode 100644 index 0000000000..795166e50a --- /dev/null +++ b/stable/pihole/1.0.4/templates/common.yaml @@ -0,0 +1,8 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render configmap for pihole */}} +{{- include "pihole.configmap" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/stable/pihole/1.0.4/test_values.yaml b/stable/pihole/1.0.4/test_values.yaml new file mode 100644 index 0000000000..f9c8e26123 --- /dev/null +++ b/stable/pihole/1.0.4/test_values.yaml @@ -0,0 +1,49 @@ +# Default values for Jackett. + +image: + repository: pihole/pihole + pullPolicy: IfNotPresent + tag: v5.8.1 + +envFrom: + - configMapRef: + name: pihole-env + +service: + main: + enabled: true + ports: + main: + port: 80 + dns-tcp: + enabled: true + ports: + https: + enabled: true + port: 53 + dns: + enabled: true + ports: + dns: + enabled: true + port: 53 + +pihole: + WEBPASSWORD: "somepassword" + DNS1: "9.9.9.9" + DNS2: "149.112.112.112" + + +persistence: + config: + enabled: true + mountPath: "/etc/pihole" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + dnsmasq: + enabled: true + mountPath: "/etc/dnsmasq.d" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" diff --git a/stable/pihole/1.0.4/values.yaml b/stable/pihole/1.0.4/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/plex/5.11.14/Chart.lock b/stable/plex/5.11.14/Chart.lock index fd6f8c6841..ff82e746a2 100644 --- a/stable/plex/5.11.14/Chart.lock +++ b/stable/plex/5.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:09.470752897Z" +generated: "2021-09-05T11:35:58.754570631Z" diff --git a/stable/podgrab/4.11.13/Chart.lock b/stable/podgrab/4.11.13/Chart.lock index bedd9bdc23..3543efdd0f 100644 --- a/stable/podgrab/4.11.13/Chart.lock +++ b/stable/podgrab/4.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:14.432928746Z" +generated: "2021-09-05T11:36:03.167917159Z" diff --git a/stable/postgresql/1.6.2/Chart.lock b/stable/postgresql/1.6.2/Chart.lock index 57820050c0..18ca441d49 100644 --- a/stable/postgresql/1.6.2/Chart.lock +++ b/stable/postgresql/1.6.2/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:19.518622062Z" +generated: "2021-09-05T11:36:07.482989785Z" diff --git a/stable/pretend-youre-xyzzy/1.9.13/Chart.lock b/stable/pretend-youre-xyzzy/1.9.13/Chart.lock index 2d58c1aede..6279095dab 100644 --- a/stable/pretend-youre-xyzzy/1.9.13/Chart.lock +++ b/stable/pretend-youre-xyzzy/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:52:24.566216986Z" +generated: "2021-09-05T11:36:12.109635642Z" diff --git a/stable/protonmail-bridge/1.9.13/Chart.lock b/stable/protonmail-bridge/1.9.13/Chart.lock index b9d0253286..23506d780a 100644 --- a/stable/protonmail-bridge/1.9.13/Chart.lock +++ b/stable/protonmail-bridge/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:52:29.579305959Z" +generated: "2021-09-05T11:36:16.507823402Z" diff --git a/stable/prowlarr/1.11.15/Chart.lock b/stable/prowlarr/1.11.15/Chart.lock index 85df7b3814..e13185dc84 100644 --- a/stable/prowlarr/1.11.15/Chart.lock +++ b/stable/prowlarr/1.11.15/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:34.495643327Z" +generated: "2021-09-05T11:36:20.792696562Z" diff --git a/stable/pyload/1.9.13/Chart.lock b/stable/pyload/1.9.13/Chart.lock index 6e330ed42a..44f156fcac 100644 --- a/stable/pyload/1.9.13/Chart.lock +++ b/stable/pyload/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:52:39.48611612Z" +generated: "2021-09-05T11:36:25.250166714Z" diff --git a/stable/qbittorrent/6.11.13/Chart.lock b/stable/qbittorrent/6.11.13/Chart.lock index debfb29cc2..dfa3cf2498 100644 --- a/stable/qbittorrent/6.11.13/Chart.lock +++ b/stable/qbittorrent/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:44.481669918Z" +generated: "2021-09-05T11:36:29.640456551Z" diff --git a/stable/radarr/6.11.13/Chart.lock b/stable/radarr/6.11.13/Chart.lock index 2c64a2e294..46a6152c60 100644 --- a/stable/radarr/6.11.13/Chart.lock +++ b/stable/radarr/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:49.456665102Z" +generated: "2021-09-05T11:36:33.948175077Z" diff --git a/stable/readarr/6.11.13/Chart.lock b/stable/readarr/6.11.13/Chart.lock index fe56565eda..22fa4ce4de 100644 --- a/stable/readarr/6.11.13/Chart.lock +++ b/stable/readarr/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:54.350180504Z" +generated: "2021-09-05T11:36:38.266207427Z" diff --git a/stable/reg/1.11.13/Chart.lock b/stable/reg/1.11.13/Chart.lock index 5742bf4cc5..7b90f01151 100644 --- a/stable/reg/1.11.13/Chart.lock +++ b/stable/reg/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:52:59.273447795Z" +generated: "2021-09-05T11:36:42.682919839Z" diff --git a/stable/resilio-sync/1.9.13/Chart.lock b/stable/resilio-sync/1.9.13/Chart.lock index ebaa4ed64e..c83ac82b1c 100644 --- a/stable/resilio-sync/1.9.13/Chart.lock +++ b/stable/resilio-sync/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:53:04.203130403Z" +generated: "2021-09-05T11:36:47.097225023Z" diff --git a/stable/sabnzbd/6.11.13/Chart.lock b/stable/sabnzbd/6.11.13/Chart.lock index 3d73e9cf7b..67ea7fb05e 100644 --- a/stable/sabnzbd/6.11.13/Chart.lock +++ b/stable/sabnzbd/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:09.322671085Z" +generated: "2021-09-05T11:36:51.661348832Z" diff --git a/stable/ser2sock/1.9.13/Chart.lock b/stable/ser2sock/1.9.13/Chart.lock index 585d18dc71..4c38482733 100644 --- a/stable/ser2sock/1.9.13/Chart.lock +++ b/stable/ser2sock/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:53:14.206529453Z" +generated: "2021-09-05T11:36:56.105110119Z" diff --git a/stable/sonarr/6.11.13/Chart.lock b/stable/sonarr/6.11.13/Chart.lock index f470eab418..0748b83231 100644 --- a/stable/sonarr/6.11.13/Chart.lock +++ b/stable/sonarr/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:19.172101076Z" +generated: "2021-09-05T11:37:00.523123391Z" diff --git a/stable/stash/1.9.14/Chart.lock b/stable/stash/1.9.14/Chart.lock index bae06284e3..6640ca8584 100644 --- a/stable/stash/1.9.14/Chart.lock +++ b/stable/stash/1.9.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:53:24.093902804Z" +generated: "2021-09-05T11:37:04.944818593Z" diff --git a/stable/syncthing/6.11.13/Chart.lock b/stable/syncthing/6.11.13/Chart.lock index af9a19ddb0..4984fe982c 100644 --- a/stable/syncthing/6.11.13/Chart.lock +++ b/stable/syncthing/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:29.01752476Z" +generated: "2021-09-05T11:37:09.403577631Z" diff --git a/stable/tautulli/6.11.13/Chart.lock b/stable/tautulli/6.11.13/Chart.lock index 5bccd2fbca..fb3cf2f94c 100644 --- a/stable/tautulli/6.11.13/Chart.lock +++ b/stable/tautulli/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:34.009305314Z" +generated: "2021-09-05T11:37:13.705893994Z" diff --git a/stable/thelounge/1.11.13/Chart.lock b/stable/thelounge/1.11.13/Chart.lock index f3b4048cd0..cb2d058d2c 100644 --- a/stable/thelounge/1.11.13/Chart.lock +++ b/stable/thelounge/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:39.005243856Z" +generated: "2021-09-05T11:37:17.97656877Z" diff --git a/stable/traefik/7.0.8/CONFIG.md b/stable/traefik/7.0.8/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/Chart.lock b/stable/traefik/7.0.8/Chart.lock new file mode 100644 index 0000000000..fd3acaad73 --- /dev/null +++ b/stable/traefik/7.0.8/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.7 +digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d +generated: "2021-09-05T11:37:22.317100121Z" diff --git a/stable/traefik/7.0.8/Chart.yaml b/stable/traefik/7.0.8/Chart.yaml new file mode 100644 index 0000000000..d80aad4f31 --- /dev/null +++ b/stable/traefik/7.0.8/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: '2.4' +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.13.7 +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.8 diff --git a/stable/traefik/7.0.8/README.md b/stable/traefik/7.0.8/README.md new file mode 100644 index 0000000000..2e866a91a8 --- /dev/null +++ b/stable/traefik/7.0.8/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.7 | + +## 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.8/app-readme.md b/stable/traefik/7.0.8/app-readme.md new file mode 100644 index 0000000000..544bc1240d --- /dev/null +++ b/stable/traefik/7.0.8/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.8/charts/common-6.13.7.tgz b/stable/traefik/7.0.8/charts/common-6.13.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6b300369a4104b7e1c080373a5551f417541bc26 GIT binary patch literal 29097 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%0Dcpj^f#>0OE)`Q~@T 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 literal 0 HcmV?d00001 diff --git a/stable/traefik/7.0.8/crds/ingressroute.yaml b/stable/traefik/7.0.8/crds/ingressroute.yaml new file mode 100644 index 0000000000..3391ba532a --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/ingressroutetcp.yaml b/stable/traefik/7.0.8/crds/ingressroutetcp.yaml new file mode 100644 index 0000000000..67e099b47d --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/ingressrouteudp.yaml b/stable/traefik/7.0.8/crds/ingressrouteudp.yaml new file mode 100644 index 0000000000..910acd6c27 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/middlewares.yaml b/stable/traefik/7.0.8/crds/middlewares.yaml new file mode 100644 index 0000000000..1770587a32 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/middlewarestcp.yaml b/stable/traefik/7.0.8/crds/middlewarestcp.yaml new file mode 100644 index 0000000000..f0d1d5640b --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/serverstransports.yaml b/stable/traefik/7.0.8/crds/serverstransports.yaml new file mode 100644 index 0000000000..78241697d1 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/tlsoptions.yaml b/stable/traefik/7.0.8/crds/tlsoptions.yaml new file mode 100644 index 0000000000..c901ac2df5 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/tlsstores.yaml b/stable/traefik/7.0.8/crds/tlsstores.yaml new file mode 100644 index 0000000000..7bb6193b02 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/crds/traefikservices.yaml b/stable/traefik/7.0.8/crds/traefikservices.yaml new file mode 100644 index 0000000000..1d98c25d68 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/helm-values.md b/stable/traefik/7.0.8/helm-values.md new file mode 100644 index 0000000000..19c746163b --- /dev/null +++ b/stable/traefik/7.0.8/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"` | | +| additionalArguments[3] | string | `"--providers.kubernetesingress.allowexternalnameservices=true"` | | +| 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` | | +| portalhook.enabled | bool | `true` | | +| 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.8/ix_values.yaml b/stable/traefik/7.0.8/ix_values.yaml new file mode 100644 index 0000000000..11e67e6ee6 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/questions.yaml b/stable/traefik/7.0.8/questions.yaml new file mode 100644 index 0000000000..947bbae594 --- /dev/null +++ b/stable/traefik/7.0.8/questions.yaml @@ -0,0 +1,1171 @@ +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: redirectTo + label: "Redirect to" + schema: + type: string + default: "websecure" + - 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: tls + label: "websecure Entrypoints Configuration" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: 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: tls + label: "websecure Entrypoints Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: 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.8/templates/_args.tpl b/stable/traefik/7.0.8/templates/_args.tpl new file mode 100644 index 0000000000..41e7e44b8f --- /dev/null +++ b/stable/traefik/7.0.8/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.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.8/templates/_helpers.tpl b/stable/traefik/7.0.8/templates/_helpers.tpl new file mode 100644 index 0000000000..8c6c4ac96b --- /dev/null +++ b/stable/traefik/7.0.8/templates/_helpers.tpl @@ -0,0 +1,22 @@ +{{/* +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" -}} +{{- $fullName := include "common.names.fullname" . -}} +{{- $defServiceName := printf "%s/%s-tcp" .Release.Namespace $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.8/templates/_ingressclass.tpl b/stable/traefik/7.0.8/templates/_ingressclass.tpl new file mode 100644 index 0000000000..27f8467fc9 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/templates/_ingressroute.tpl b/stable/traefik/7.0.8/templates/_ingressroute.tpl new file mode 100644 index 0000000000..9afc4785b7 --- /dev/null +++ b/stable/traefik/7.0.8/templates/_ingressroute.tpl @@ -0,0 +1,26 @@ +{{/* 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.8/templates/_portalhook.tpl b/stable/traefik/7.0.8/templates/_portalhook.tpl new file mode 100644 index 0000000000..e3586c5d4e --- /dev/null +++ b/stable/traefik/7.0.8/templates/_portalhook.tpl @@ -0,0 +1,26 @@ +{{/* 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 = "default" }} +{{- 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 }} + {{- range $name, $value := $ports }} + {{ $name }}: {{ $value.port | quote }} + {{- end }} +{{- end }} +{{- end -}} diff --git a/stable/traefik/7.0.8/templates/_tlsoptions.tpl b/stable/traefik/7.0.8/templates/_tlsoptions.tpl new file mode 100644 index 0000000000..9017ef4837 --- /dev/null +++ b/stable/traefik/7.0.8/templates/_tlsoptions.tpl @@ -0,0 +1,13 @@ +{{/* 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.8/templates/common.yaml b/stable/traefik/7.0.8/templates/common.yaml new file mode 100644 index 0000000000..a3ba841bdd --- /dev/null +++ b/stable/traefik/7.0.8/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.8/templates/middlewares/basic-middleware.yaml b/stable/traefik/7.0.8/templates/middlewares/basic-middleware.yaml new file mode 100644 index 0000000000..145f5c9a59 --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/templates/middlewares/basicauth.yaml b/stable/traefik/7.0.8/templates/middlewares/basicauth.yaml new file mode 100644 index 0000000000..ccb541742f --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/templates/middlewares/chain.yaml b/stable/traefik/7.0.8/templates/middlewares/chain.yaml new file mode 100644 index 0000000000..e22eb31220 --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/templates/middlewares/forwardauth.yaml b/stable/traefik/7.0.8/templates/middlewares/forwardauth.yaml new file mode 100644 index 0000000000..53f4ef5cc1 --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/templates/middlewares/ratelimit.yaml b/stable/traefik/7.0.8/templates/middlewares/ratelimit.yaml new file mode 100644 index 0000000000..144b9d8bf3 --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/templates/middlewares/redirectScheme.yaml b/stable/traefik/7.0.8/templates/middlewares/redirectScheme.yaml new file mode 100644 index 0000000000..f2413f84e1 --- /dev/null +++ b/stable/traefik/7.0.8/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 = "default" }} +{{- 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.8/test_values.yaml b/stable/traefik/7.0.8/test_values.yaml new file mode 100644 index 0000000000..e349ea6229 --- /dev/null +++ b/stable/traefik/7.0.8/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.8/values.yaml b/stable/traefik/7.0.8/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/transmission/6.11.14/Chart.lock b/stable/transmission/6.11.14/Chart.lock index 36eb8c502f..ed1edfa6c9 100644 --- a/stable/transmission/6.11.14/Chart.lock +++ b/stable/transmission/6.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:48.98972699Z" +generated: "2021-09-05T11:37:26.931001766Z" diff --git a/stable/truecommand/6.11.14/Chart.lock b/stable/truecommand/6.11.14/Chart.lock index 441667c526..c386e462e6 100644 --- a/stable/truecommand/6.11.14/Chart.lock +++ b/stable/truecommand/6.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:54.005529432Z" +generated: "2021-09-05T11:37:31.230600442Z" diff --git a/stable/tvheadend/7.11.13/Chart.lock b/stable/tvheadend/7.11.13/Chart.lock index 8000ddc46a..d3af323685 100644 --- a/stable/tvheadend/7.11.13/Chart.lock +++ b/stable/tvheadend/7.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:53:58.930051703Z" +generated: "2021-09-05T11:37:35.525524672Z" diff --git a/stable/unifi/6.11.13/Chart.lock b/stable/unifi/6.11.13/Chart.lock index 773a0555e6..afe2be0a9d 100644 --- a/stable/unifi/6.11.13/Chart.lock +++ b/stable/unifi/6.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:54:03.816738436Z" +generated: "2021-09-05T11:37:39.951024711Z" diff --git a/stable/unpackerr/1.11.13/Chart.lock b/stable/unpackerr/1.11.13/Chart.lock index ae37248241..89951b6f54 100644 --- a/stable/unpackerr/1.11.13/Chart.lock +++ b/stable/unpackerr/1.11.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:54:08.719406114Z" +generated: "2021-09-05T11:37:44.280329816Z" diff --git a/stable/vaultwarden/6.1.10/Chart.lock b/stable/vaultwarden/6.1.10/Chart.lock index ef5b93ed8b..37889ec41c 100644 --- a/stable/vaultwarden/6.1.10/Chart.lock +++ b/stable/vaultwarden/6.1.10/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.6.1 digest: sha256:7d052f87287c75c33137e6e8a856ef71bb138717949069ee2102c0c11cad8a85 -generated: "2021-09-05T08:54:14.772484502Z" +generated: "2021-09-05T11:37:49.504470782Z" diff --git a/stable/xteve/1.9.13/Chart.lock b/stable/xteve/1.9.13/Chart.lock index 0ae8cf0eb6..2a1085183e 100644 --- a/stable/xteve/1.9.13/Chart.lock +++ b/stable/xteve/1.9.13/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.13.7 digest: sha256:85cf82d19e7aaf78d62b80a6b9be4fe7b3d8eb5e50c1808c44b385ab2889f43d -generated: "2021-09-05T08:54:21.030263772Z" +generated: "2021-09-05T11:37:55.028004216Z" diff --git a/stable/zwavejs2mqtt/6.11.14/Chart.lock b/stable/zwavejs2mqtt/6.11.14/Chart.lock index ceefe68def..4cb30c0070 100644 --- a/stable/zwavejs2mqtt/6.11.14/Chart.lock +++ b/stable/zwavejs2mqtt/6.11.14/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.13.7 digest: sha256:92d1d2f7152c1bb539698578569ed8a3b96363319ffeb6b890ca86b83d1fdb2d -generated: "2021-09-05T08:54:26.085165668Z" +generated: "2021-09-05T11:37:59.40786723Z"