diff --git a/incubator/autobrr/0.0.1/CHANGELOG.md b/incubator/autobrr/0.0.1/CHANGELOG.md
deleted file mode 100644
index 78228da4b88..00000000000
--- a/incubator/autobrr/0.0.1/CHANGELOG.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Changelog
-
-
-
-## [autobrr-0.0.1]autobrr-0.0.1 (2022-07-27)
-
-### Feat
-
-- Add autobrr ([#3309](https://github.com/truecharts/apps/issues/3309))
-
-
\ No newline at end of file
diff --git a/incubator/autobrr/0.0.2/CHANGELOG.md b/incubator/autobrr/0.0.2/CHANGELOG.md
new file mode 100644
index 00000000000..6f25d68886b
--- /dev/null
+++ b/incubator/autobrr/0.0.2/CHANGELOG.md
@@ -0,0 +1,18 @@
+# Changelog
+
+
+
+## [autobrr-0.0.2](https://github.com/truecharts/apps/compare/autobrr-0.0.1...autobrr-0.0.2) (2022-07-27)
+
+### Chore
+
+- update image refs ([#3324](https://github.com/truecharts/apps/issues/3324))
+
+
+
+
+## [autobrr-0.0.1]autobrr-0.0.1 (2022-07-27)
+
+### Feat
+
+- Add autobrr ([#3309](https://github.com/truecharts/apps/issues/3309))
diff --git a/incubator/frigate/2.0.23/Chart.lock b/incubator/autobrr/0.0.2/Chart.lock
similarity index 80%
rename from incubator/frigate/2.0.23/Chart.lock
rename to incubator/autobrr/0.0.2/Chart.lock
index d1721e72726..4569050ba99 100644
--- a/incubator/frigate/2.0.23/Chart.lock
+++ b/incubator/autobrr/0.0.2/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.8
digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
-generated: "2022-07-26T10:19:44.51048346Z"
+generated: "2022-07-27T16:43:09.04544997Z"
diff --git a/incubator/autobrr/0.0.1/Chart.yaml b/incubator/autobrr/0.0.2/Chart.yaml
similarity index 97%
rename from incubator/autobrr/0.0.1/Chart.yaml
rename to incubator/autobrr/0.0.2/Chart.yaml
index b23b1f0442d..c40e7ef8f5e 100644
--- a/incubator/autobrr/0.0.1/Chart.yaml
+++ b/incubator/autobrr/0.0.2/Chart.yaml
@@ -1,7 +1,7 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: autobrr
-version: 0.0.1
+version: 0.0.2
appVersion: "1.1.0"
description: The modern download automation tool for torrents.
type: application
diff --git a/incubator/autobrr/0.0.1/README.md b/incubator/autobrr/0.0.2/README.md
similarity index 98%
rename from incubator/autobrr/0.0.1/README.md
rename to incubator/autobrr/0.0.2/README.md
index e77f83e79e7..d99bd7a8cf9 100644
--- a/incubator/autobrr/0.0.1/README.md
+++ b/incubator/autobrr/0.0.2/README.md
@@ -1,6 +1,6 @@
# autobrr
-![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square)
+![Version: 0.0.2](https://img.shields.io/badge/Version-0.0.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.1.0](https://img.shields.io/badge/AppVersion-1.1.0-informational?style=flat-square)
The modern download automation tool for torrents.
diff --git a/incubator/autobrr/0.0.1/app-readme.md b/incubator/autobrr/0.0.2/app-readme.md
similarity index 100%
rename from incubator/autobrr/0.0.1/app-readme.md
rename to incubator/autobrr/0.0.2/app-readme.md
diff --git a/incubator/autobrr/0.0.1/charts/common-10.4.8.tgz b/incubator/autobrr/0.0.2/charts/common-10.4.8.tgz
similarity index 100%
rename from incubator/autobrr/0.0.1/charts/common-10.4.8.tgz
rename to incubator/autobrr/0.0.2/charts/common-10.4.8.tgz
diff --git a/incubator/autobrr/0.0.1/ix_values.yaml b/incubator/autobrr/0.0.2/ix_values.yaml
similarity index 86%
rename from incubator/autobrr/0.0.1/ix_values.yaml
rename to incubator/autobrr/0.0.2/ix_values.yaml
index e9b61dd0960..9ea4c5ddd9c 100644
--- a/incubator/autobrr/0.0.1/ix_values.yaml
+++ b/incubator/autobrr/0.0.2/ix_values.yaml
@@ -1,7 +1,7 @@
image:
- repository: ghcr.io/autobrr/autobrr
+ repository: tccr.io/truecharts/autobrr
pullPolicy: IfNotPresent
- tag: v1.1.0@sha256:6d3a723c7160b837a132acf5e52582bf28efa88b72298227d106bb8728daa553
+ tag: v1.1.0@sha256:9ab0e5508fd6f20157089e7674ee4ac8f3b6830ba806047a31998d1674bdc6d4
service:
main:
diff --git a/incubator/autobrr/0.0.1/questions.yaml b/incubator/autobrr/0.0.2/questions.yaml
similarity index 100%
rename from incubator/autobrr/0.0.1/questions.yaml
rename to incubator/autobrr/0.0.2/questions.yaml
diff --git a/incubator/autobrr/0.0.1/templates/common.yaml b/incubator/autobrr/0.0.2/templates/common.yaml
similarity index 100%
rename from incubator/autobrr/0.0.1/templates/common.yaml
rename to incubator/autobrr/0.0.2/templates/common.yaml
diff --git a/incubator/autobrr/0.0.1/values.yaml b/incubator/autobrr/0.0.2/values.yaml
similarity index 100%
rename from incubator/autobrr/0.0.1/values.yaml
rename to incubator/autobrr/0.0.2/values.yaml
diff --git a/incubator/frigate/2.0.23/CHANGELOG.md b/incubator/frigate/2.0.24/CHANGELOG.md
similarity index 92%
rename from incubator/frigate/2.0.23/CHANGELOG.md
rename to incubator/frigate/2.0.24/CHANGELOG.md
index eed96f3fa46..f6dc516ddf4 100644
--- a/incubator/frigate/2.0.23/CHANGELOG.md
+++ b/incubator/frigate/2.0.24/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [frigate-2.0.24](https://github.com/truecharts/apps/compare/frigate-2.0.23...frigate-2.0.24) (2022-07-27)
+
+### Chore
+
+- update image refs ([#3324](https://github.com/truecharts/apps/issues/3324))
+
+
+
+
## [frigate-2.0.23](https://github.com/truecharts/apps/compare/frigate-2.0.22...frigate-2.0.23) (2022-07-26)
### Chore
@@ -88,12 +97,3 @@
### Chore
-- bump to regenerate documentation
-
-
-
-
-### [frigate-2.0.12](https://github.com/truecharts/apps/compare/frigate-2.0.11...frigate-2.0.12) (2022-07-12)
-
-#### Chore
-
diff --git a/incubator/autobrr/0.0.1/Chart.lock b/incubator/frigate/2.0.24/Chart.lock
similarity index 80%
rename from incubator/autobrr/0.0.1/Chart.lock
rename to incubator/frigate/2.0.24/Chart.lock
index 4b214079b7a..1beebed6eb1 100644
--- a/incubator/autobrr/0.0.1/Chart.lock
+++ b/incubator/frigate/2.0.24/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.8
digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
-generated: "2022-07-27T13:25:28.596482267Z"
+generated: "2022-07-27T16:43:09.160822429Z"
diff --git a/incubator/frigate/2.0.23/Chart.yaml b/incubator/frigate/2.0.24/Chart.yaml
similarity index 95%
rename from incubator/frigate/2.0.23/Chart.yaml
rename to incubator/frigate/2.0.24/Chart.yaml
index 1984307c935..78be5f693c2 100644
--- a/incubator/frigate/2.0.23/Chart.yaml
+++ b/incubator/frigate/2.0.24/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: "idia"
+appVersion: "latest"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
@@ -23,7 +23,7 @@ sources:
- https://github.com/blakeblackshear/frigate
- https://hub.docker.com/r/blakeblackshear/frigate
type: application
-version: 2.0.23
+version: 2.0.24
annotations:
truecharts.org/catagories: |
- nvr
diff --git a/incubator/frigate/2.0.23/README.md b/incubator/frigate/2.0.24/README.md
similarity index 95%
rename from incubator/frigate/2.0.23/README.md
rename to incubator/frigate/2.0.24/README.md
index efd1becc628..7f9469541c0 100644
--- a/incubator/frigate/2.0.23/README.md
+++ b/incubator/frigate/2.0.24/README.md
@@ -1,6 +1,6 @@
# frigate
-![Version: 2.0.23](https://img.shields.io/badge/Version-2.0.23-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: idia](https://img.shields.io/badge/AppVersion-idia-informational?style=flat-square)
+![Version: 2.0.24](https://img.shields.io/badge/Version-2.0.24-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
NVR With Realtime Object Detection for IP Cameras
diff --git a/incubator/frigate/2.0.23/app-readme.md b/incubator/frigate/2.0.24/app-readme.md
similarity index 100%
rename from incubator/frigate/2.0.23/app-readme.md
rename to incubator/frigate/2.0.24/app-readme.md
diff --git a/incubator/frigate/2.0.23/charts/common-10.4.8.tgz b/incubator/frigate/2.0.24/charts/common-10.4.8.tgz
similarity index 100%
rename from incubator/frigate/2.0.23/charts/common-10.4.8.tgz
rename to incubator/frigate/2.0.24/charts/common-10.4.8.tgz
diff --git a/incubator/frigate/2.0.23/ix_values.yaml b/incubator/frigate/2.0.24/ix_values.yaml
similarity index 99%
rename from incubator/frigate/2.0.23/ix_values.yaml
rename to incubator/frigate/2.0.24/ix_values.yaml
index 617900c386b..f7f8b55d5b3 100644
--- a/incubator/frigate/2.0.23/ix_values.yaml
+++ b/incubator/frigate/2.0.24/ix_values.yaml
@@ -1,7 +1,7 @@
image:
- repository: blakeblackshear/frigate
+ repository: tccr.io/truecharts/frigate-nvidia
pullPolicy: IfNotPresent
- tag: 0.10.0-beta6-amd64nvidia
+ tag: latest@sha256:9facc1383ebbf148873bcc2fba501868b0e09417cffff7f6c06fb31b9c9b95ec
securityContext:
readOnlyRootFilesystem: false
diff --git a/incubator/frigate/2.0.23/questions.yaml b/incubator/frigate/2.0.24/questions.yaml
similarity index 100%
rename from incubator/frigate/2.0.23/questions.yaml
rename to incubator/frigate/2.0.24/questions.yaml
diff --git a/incubator/frigate/2.0.23/templates/common.yaml b/incubator/frigate/2.0.24/templates/common.yaml
similarity index 100%
rename from incubator/frigate/2.0.23/templates/common.yaml
rename to incubator/frigate/2.0.24/templates/common.yaml
diff --git a/incubator/frigate/2.0.23/values.yaml b/incubator/frigate/2.0.24/values.yaml
similarity index 100%
rename from incubator/frigate/2.0.23/values.yaml
rename to incubator/frigate/2.0.24/values.yaml
diff --git a/incubator/jitsi/0.0.18/CHANGELOG.md b/incubator/jitsi/0.0.19/CHANGELOG.md
similarity index 92%
rename from incubator/jitsi/0.0.18/CHANGELOG.md
rename to incubator/jitsi/0.0.19/CHANGELOG.md
index c7b8aa06b2c..6eaac3b41d6 100644
--- a/incubator/jitsi/0.0.18/CHANGELOG.md
+++ b/incubator/jitsi/0.0.19/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [jitsi-0.0.19](https://github.com/truecharts/apps/compare/jitsi-0.0.18...jitsi-0.0.19) (2022-07-27)
+
+### Chore
+
+- update image refs ([#3324](https://github.com/truecharts/apps/issues/3324))
+
+
+
+
## [jitsi-0.0.18](https://github.com/truecharts/apps/compare/jitsi-0.0.17...jitsi-0.0.18) (2022-07-26)
### Chore
@@ -88,12 +97,3 @@
### Chore
-- bump to regenerate documentation
-
-
-
-
-### [jitsi-0.0.7](https://github.com/truecharts/apps/compare/jitsi-0.0.6...jitsi-0.0.7) (2022-07-12)
-
-#### Chore
-
diff --git a/incubator/jitsi/0.0.18/Chart.lock b/incubator/jitsi/0.0.19/Chart.lock
similarity index 80%
rename from incubator/jitsi/0.0.18/Chart.lock
rename to incubator/jitsi/0.0.19/Chart.lock
index b900b0fac75..ab138cf5bb0 100644
--- a/incubator/jitsi/0.0.18/Chart.lock
+++ b/incubator/jitsi/0.0.19/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.8
digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
-generated: "2022-07-26T10:23:34.967187054Z"
+generated: "2022-07-27T16:43:09.054474339Z"
diff --git a/incubator/jitsi/0.0.18/Chart.yaml b/incubator/jitsi/0.0.19/Chart.yaml
similarity index 94%
rename from incubator/jitsi/0.0.18/Chart.yaml
rename to incubator/jitsi/0.0.19/Chart.yaml
index 295d1b040f8..109c2f13241 100644
--- a/incubator/jitsi/0.0.18/Chart.yaml
+++ b/incubator/jitsi/0.0.19/Chart.yaml
@@ -1,8 +1,8 @@
apiVersion: v2
-appVersion: "stable-728"
+appVersion: "7439"
description: Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions
name: jitsi
-version: 0.0.18
+version: 0.0.19
kubeVersion: ">=1.16.0-0"
keywords:
- jitsi
diff --git a/incubator/jitsi/0.0.18/README.md b/incubator/jitsi/0.0.19/README.md
similarity index 94%
rename from incubator/jitsi/0.0.18/README.md
rename to incubator/jitsi/0.0.19/README.md
index ee804e34eda..cdd9f5e9fdf 100644
--- a/incubator/jitsi/0.0.18/README.md
+++ b/incubator/jitsi/0.0.19/README.md
@@ -1,6 +1,6 @@
# jitsi
-![Version: 0.0.18](https://img.shields.io/badge/Version-0.0.18-informational?style=flat-square) ![AppVersion: stable-728](https://img.shields.io/badge/AppVersion-stable--728-informational?style=flat-square)
+![Version: 0.0.19](https://img.shields.io/badge/Version-0.0.19-informational?style=flat-square) ![AppVersion: 7439](https://img.shields.io/badge/AppVersion-7439-informational?style=flat-square)
Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions
diff --git a/incubator/jitsi/0.0.18/app-readme.md b/incubator/jitsi/0.0.19/app-readme.md
similarity index 100%
rename from incubator/jitsi/0.0.18/app-readme.md
rename to incubator/jitsi/0.0.19/app-readme.md
diff --git a/incubator/jitsi/0.0.18/charts/common-10.4.8.tgz b/incubator/jitsi/0.0.19/charts/common-10.4.8.tgz
similarity index 100%
rename from incubator/jitsi/0.0.18/charts/common-10.4.8.tgz
rename to incubator/jitsi/0.0.19/charts/common-10.4.8.tgz
diff --git a/incubator/jitsi/0.0.18/ix_values.yaml b/incubator/jitsi/0.0.19/ix_values.yaml
similarity index 94%
rename from incubator/jitsi/0.0.18/ix_values.yaml
rename to incubator/jitsi/0.0.19/ix_values.yaml
index 0e5b443b986..38b5eb3959f 100644
--- a/incubator/jitsi/0.0.18/ix_values.yaml
+++ b/incubator/jitsi/0.0.19/ix_values.yaml
@@ -1,19 +1,19 @@
image:
- repository: jitsi/web
+ repository: tccr.io/truecharts/jitsi-web
pullPolicy: IfNotPresent
- tag: stable-7287-2@sha256:b89751242b64c408ba17b198cfa18e41f7b7536e3dc9ccc3956dfa0c69421ffc
+ tag: v7439@sha256:18374c58ed22cf99f0cfbdad1d8f01062898b4290560e65582879b04a733ba44
prosodyImage:
- repository: jitsi/prosody
- tag: stable-7287-2@sha256:4ec0f219ff8e1d912ce0106a52414c323f85ef6900b46bc97c700febba0fab81
+ repository: tccr.io/truecharts/jitsi-prosody
+ tag: v7439@sha256:39c12997f44d3583fdc9699cfc247d0fd61e8f56278062d718d7583cdfa78259
jicofoImage:
- repository: jitsi/jicofo
- tag: stable-7287-2@sha256:f82b4affad4e52854674ffb178ca40dabcfc3af2a087ebbf284934569744d425
+ repository: tccr.io/truecharts/jitsi-jicofo
+ tag: v7439@sha256:e1d3b8c213197eab8a9ded23dc3f63e7a99c376baaa0b2d74c7571f292c4c57e
jvbImage:
- repository: jitsi/jvb
- tag: stable-7287-2@sha256:8f81c1b8361233a407ebc4210536910b4ec11e885015451b4a009cd02284d75a
+ repository: tccr.io/truecharts/jitsi-jvb
+ tag: v7439@sha256:02fc3833c4d6cdf8dc9f707feb2e09d032a8641802bd2079f875d8a78058e185
securityContext:
readOnlyRootFilesystem: false
diff --git a/incubator/jitsi/0.0.18/questions.yaml b/incubator/jitsi/0.0.19/questions.yaml
similarity index 100%
rename from incubator/jitsi/0.0.18/questions.yaml
rename to incubator/jitsi/0.0.19/questions.yaml
diff --git a/incubator/jitsi/0.0.18/templates/common.yaml b/incubator/jitsi/0.0.19/templates/common.yaml
similarity index 100%
rename from incubator/jitsi/0.0.18/templates/common.yaml
rename to incubator/jitsi/0.0.19/templates/common.yaml
diff --git a/incubator/jitsi/0.0.18/values.yaml b/incubator/jitsi/0.0.19/values.yaml
similarity index 100%
rename from incubator/jitsi/0.0.18/values.yaml
rename to incubator/jitsi/0.0.19/values.yaml
diff --git a/incubator/ts3-manager/0.0.1/CHANGELOG.md b/incubator/ts3-manager/0.0.1/CHANGELOG.md
new file mode 100644
index 00000000000..cb1f6c3e158
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Changelog
+
+
+
+## [ts3-manager-0.0.1]ts3-manager-0.0.1 (2022-07-27)
+
+### Feat
+
+- Add ts3-manager ([#3323](https://github.com/truecharts/apps/issues/3323))
+
+
\ No newline at end of file
diff --git a/incubator/ztcuui-aio/0.0.3/Chart.lock b/incubator/ts3-manager/0.0.1/Chart.lock
similarity index 80%
rename from incubator/ztcuui-aio/0.0.3/Chart.lock
rename to incubator/ts3-manager/0.0.1/Chart.lock
index e19928d9ff4..c0d967ec07d 100644
--- a/incubator/ztcuui-aio/0.0.3/Chart.lock
+++ b/incubator/ts3-manager/0.0.1/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.8
digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
-generated: "2022-07-27T09:46:54.862950536Z"
+generated: "2022-07-27T16:43:09.135963864Z"
diff --git a/incubator/ts3-manager/0.0.1/Chart.yaml b/incubator/ts3-manager/0.0.1/Chart.yaml
new file mode 100644
index 00000000000..b8f3164958c
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/Chart.yaml
@@ -0,0 +1,30 @@
+apiVersion: v2
+kubeVersion: ">=1.16.0-0"
+name: ts3-manager
+version: 0.0.1
+appVersion: "2.2.0"
+description: A modern web interface for maintaining Teamspeak3 servers.
+type: application
+deprecated: false
+home: https://github.com/truecharts/charts/tree/master/charts/incubator/ts3-manager
+icon: https://truecharts.org/img/chart-icons/ts3-manager.png
+keywords:
+ - ts3-manager
+ - teamspeak
+ - teamspeak3
+sources:
+ - https://hub.docker.com/r/joni1802/ts3-manager/
+ - https://github.com/joni1802/ts3-manager/
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.8
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+annotations:
+ truecharts.org/catagories: |
+ - web
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/incubator/ts3-manager/0.0.1/README.md b/incubator/ts3-manager/0.0.1/README.md
new file mode 100644
index 00000000000..6f1d6b0cbca
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/README.md
@@ -0,0 +1,108 @@
+# ts3-manager
+
+![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.2.0](https://img.shields.io/badge/AppVersion-2.2.0-informational?style=flat-square)
+
+A modern web interface for maintaining Teamspeak3 servers.
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [ts3-manager](https://truecharts.org/docs/charts/stable/ts3-manager)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://library-charts.truecharts.org | common | 10.4.8 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `ts3-manager`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install ts3-manager TrueCharts/ts3-manager
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `ts3-manager` deployment
+
+```console
+helm uninstall ts3-manager
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install ts3-manager \
+ --set env.TZ="America/New York" \
+ TrueCharts/ts3-manager
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install ts3-manager TrueCharts/ts3-manager -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/incubator/ts3-manager/0.0.1/app-readme.md b/incubator/ts3-manager/0.0.1/app-readme.md
new file mode 100644
index 00000000000..62c1486b343
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/app-readme.md
@@ -0,0 +1,8 @@
+A modern web interface for maintaining Teamspeak3 servers.
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/incubator/ts3-manager
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/incubator/ztcuui-aio/0.0.3/charts/common-10.4.8.tgz b/incubator/ts3-manager/0.0.1/charts/common-10.4.8.tgz
similarity index 100%
rename from incubator/ztcuui-aio/0.0.3/charts/common-10.4.8.tgz
rename to incubator/ts3-manager/0.0.1/charts/common-10.4.8.tgz
diff --git a/incubator/ts3-manager/0.0.1/ix_values.yaml b/incubator/ts3-manager/0.0.1/ix_values.yaml
new file mode 100644
index 00000000000..c51553c24ca
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/ix_values.yaml
@@ -0,0 +1,61 @@
+image:
+ repository: joni1802/ts3-manager
+ pullPolicy: IfNotPresent
+ tag: v2.2.0@sha256:9db01d161d2b37e8e872ed701cbedb3986eff46721d12f4d59279abfec5b0354
+
+env:
+ PORT: "{{ .Values.service.main.ports.main.port }}"
+
+secretEnv:
+ JWT_SECRET: "changeme"
+
+probes:
+ liveness:
+ enabled: true
+ custom: true
+ spec:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - wget --spider localhost:10284
+ failureThreshold: 5
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ readiness:
+ enabled: true
+ custom: true
+ spec:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - wget --spider localhost:10284
+ failureThreshold: 5
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+ startup:
+ enabled: true
+ custom: true
+ spec:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - wget --spider localhost:10284
+ failureThreshold: 5
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 10
+
+service:
+ main:
+ ports:
+ main:
+ protocol: HTTP
+ port: 10284
diff --git a/incubator/ts3-manager/0.0.1/questions.yaml b/incubator/ts3-manager/0.0.1/questions.yaml
new file mode 100644
index 00000000000..41100133e11
--- /dev/null
+++ b/incubator/ts3-manager/0.0.1/questions.yaml
@@ -0,0 +1,2279 @@
+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: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_portal_protocol"
+ host:
+ - "$kubernetes-resource_configmap_portal_host"
+ ports:
+ - "$kubernetes-resource_configmap_portal_port"
+questions:
+ - variable: portal
+ group: "Container Image"
+ label: "Configure Portal Button"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "enable the portal button"
+ schema:
+ hidden: true
+ editable: false
+ type: boolean
+ default: true
+ - variable: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - 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: "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: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: env
+ group: "Container Configuration"
+ label: "Image Environment"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: WHITELIST
+ label: "WHITELIST"
+ description: "Comma separated list of TeamSpeak servers you can connect to (ip or domain)"
+ schema:
+ type: string
+ default: ""
+ - variable: secretEnv
+ group: "Container Configuration"
+ label: "Image Secrets"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: JWT_SECRET
+ label: "JWT SECRET"
+ description: "Secret for decrypting and encrypting the token"
+ schema:
+ type: string
+ private: true
+ required: false
+ default: ""
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: service
+ group: "Networking and Services"
+ label: "Configure Service(s)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ 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: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - 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: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 10284
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enabled
+ label: "Enable the port"
+ schema:
+ type: boolean
+ default: 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: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 10284
+
+ - variable: serviceexpert
+ group: "Networking and Services"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ group: "Networking and Services"
+ label: "Host-Networking (Complicated)"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: externalInterfaces
+ description: "Add External Interfaces"
+ label: "Add external Interfaces"
+ group: "Networking"
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: "Interface Configuration"
+ label: "Interface Configuration"
+ schema:
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: "Please specify host interface"
+ label: "Host Interface"
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: "Define how IP Address will be managed"
+ label: "IP Address Management"
+ schema:
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: "Specify type for IPAM"
+ label: "IPAM Type"
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: "dhcp"
+ description: "Use DHCP"
+ - value: "static"
+ description: "Use static IP"
+ show_subquestions_if: "static"
+ subquestions:
+ - variable: staticIPConfigurations
+ label: "Static IP Addresses"
+ schema:
+ type: list
+ items:
+ - variable: staticIP
+ label: "Static IP"
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: "Static Routes"
+ schema:
+ type: list
+ items:
+ - variable: staticRouteConfiguration
+ label: "Static Route Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: "Destination"
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: "Gateway"
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: dnsPolicy
+ group: "Networking and Services"
+ label: "dnsPolicy"
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "ClusterFirst"
+ description: "ClusterFirst"
+ - value: "ClusterFirstWithHostNet"
+ description: "ClusterFirstWithHostNet"
+ - value: "None"
+ description: "None"
+
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ group: "Networking and Services"
+ description: "Specify custom DNS configuration which will be applied to the pod"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: nameserver
+ label: "Nameserver"
+ schema:
+ type: string
+ - variable: options
+ label: "options"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: option
+ label: "Option Entry"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: searches
+ label: "Searches"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: search
+ label: "Search Entry"
+ schema:
+ type: string
+ - variable: serviceList
+ label: "Add Manual Custom Services"
+ group: "Networking and Services"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: "Custom Service"
+ schema:
+ additional_attrs: true
+ 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: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - 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:
+ additional_attrs: true
+ 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: persistenceList
+ label: "Additional app storage"
+ group: "Storage and Persistence"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: "Custom Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name (optional)"
+ description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
+ schema:
+ type: string
+ - variable: type
+ label: "Type of Storage"
+ description: "Sets the persistence type, Anything other than PVC could break rollback!"
+ schema:
+ type: string
+ default: "simpleHP"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - 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: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: "mountPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) 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: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ 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: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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: "(Advanced) 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: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ 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: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: true
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# 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
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - 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: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
diff --git a/incubator/ztcuui-aio/0.0.3/templates/common.yaml b/incubator/ts3-manager/0.0.1/templates/common.yaml
similarity index 100%
rename from incubator/ztcuui-aio/0.0.3/templates/common.yaml
rename to incubator/ts3-manager/0.0.1/templates/common.yaml
diff --git a/incubator/ztcuui-aio/0.0.3/values.yaml b/incubator/ts3-manager/0.0.1/values.yaml
similarity index 100%
rename from incubator/ztcuui-aio/0.0.3/values.yaml
rename to incubator/ts3-manager/0.0.1/values.yaml
diff --git a/incubator/ts3-manager/item.yaml b/incubator/ts3-manager/item.yaml
new file mode 100644
index 00000000000..2cbe587b4b3
--- /dev/null
+++ b/incubator/ts3-manager/item.yaml
@@ -0,0 +1,4 @@
+icon_url: https://truecharts.org/img/chart-icons/ts3-manager.png
+categories:
+- web
+
diff --git a/incubator/ztcuui-aio/0.0.3/CHANGELOG.md b/incubator/ztcuui-aio/0.0.4/CHANGELOG.md
similarity index 76%
rename from incubator/ztcuui-aio/0.0.3/CHANGELOG.md
rename to incubator/ztcuui-aio/0.0.4/CHANGELOG.md
index 0231f16d62f..6ad0ef52622 100644
--- a/incubator/ztcuui-aio/0.0.3/CHANGELOG.md
+++ b/incubator/ztcuui-aio/0.0.4/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [ztcuui-aio-0.0.4](https://github.com/truecharts/apps/compare/ztcuui-aio-0.0.3...ztcuui-aio-0.0.4) (2022-07-27)
+
+### Chore
+
+- update image refs ([#3324](https://github.com/truecharts/apps/issues/3324))
+
+
+
+
## [ztcuui-aio-0.0.3](https://github.com/truecharts/apps/compare/ztcuui-aio-0.0.2...ztcuui-aio-0.0.3) (2022-07-27)
### Feat
diff --git a/incubator/ztcuui-aio/0.0.4/Chart.lock b/incubator/ztcuui-aio/0.0.4/Chart.lock
new file mode 100644
index 00000000000..1e25959a273
--- /dev/null
+++ b/incubator/ztcuui-aio/0.0.4/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.8
+digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
+generated: "2022-07-27T16:43:30.350035353Z"
diff --git a/incubator/ztcuui-aio/0.0.3/Chart.yaml b/incubator/ztcuui-aio/0.0.4/Chart.yaml
similarity index 97%
rename from incubator/ztcuui-aio/0.0.3/Chart.yaml
rename to incubator/ztcuui-aio/0.0.4/Chart.yaml
index 541c0636896..0471e17b92a 100644
--- a/incubator/ztcuui-aio/0.0.3/Chart.yaml
+++ b/incubator/ztcuui-aio/0.0.4/Chart.yaml
@@ -17,7 +17,7 @@ maintainers:
name: ztcuui-aio
sources:
- https://github.com/key-networks/ztncui-aio
-version: 0.0.3
+version: 0.0.4
annotations:
truecharts.org/catagories: |
- network
diff --git a/incubator/ztcuui-aio/0.0.3/README.md b/incubator/ztcuui-aio/0.0.4/README.md
similarity index 98%
rename from incubator/ztcuui-aio/0.0.3/README.md
rename to incubator/ztcuui-aio/0.0.4/README.md
index 93d3d4af0e2..78c361f6a27 100644
--- a/incubator/ztcuui-aio/0.0.3/README.md
+++ b/incubator/ztcuui-aio/0.0.4/README.md
@@ -1,6 +1,6 @@
# ztcuui-aio
-![Version: 0.0.3](https://img.shields.io/badge/Version-0.0.3-informational?style=flat-square) ![AppVersion: 1.2.11](https://img.shields.io/badge/AppVersion-1.2.11-informational?style=flat-square)
+![Version: 0.0.4](https://img.shields.io/badge/Version-0.0.4-informational?style=flat-square) ![AppVersion: 1.2.11](https://img.shields.io/badge/AppVersion-1.2.11-informational?style=flat-square)
ZeroTier network controller user interface in a Docker container
diff --git a/incubator/ztcuui-aio/0.0.3/app-readme.md b/incubator/ztcuui-aio/0.0.4/app-readme.md
similarity index 100%
rename from incubator/ztcuui-aio/0.0.3/app-readme.md
rename to incubator/ztcuui-aio/0.0.4/app-readme.md
diff --git a/stable/meshroom/2.0.22/charts/common-10.4.8.tgz b/incubator/ztcuui-aio/0.0.4/charts/common-10.4.8.tgz
similarity index 100%
rename from stable/meshroom/2.0.22/charts/common-10.4.8.tgz
rename to incubator/ztcuui-aio/0.0.4/charts/common-10.4.8.tgz
diff --git a/incubator/ztcuui-aio/0.0.3/ix_values.yaml b/incubator/ztcuui-aio/0.0.4/ix_values.yaml
similarity index 86%
rename from incubator/ztcuui-aio/0.0.3/ix_values.yaml
rename to incubator/ztcuui-aio/0.0.4/ix_values.yaml
index dd83f84210e..378370ea9e0 100644
--- a/incubator/ztcuui-aio/0.0.3/ix_values.yaml
+++ b/incubator/ztcuui-aio/0.0.4/ix_values.yaml
@@ -1,6 +1,6 @@
image:
- repository: keynetworks/ztncui
- tag: 1.2.11@sha256:d65638287ab8429fa0ad6cdc57a8ab3e74fb0dcae6e81ffdc42c25ab88a55f05
+ repository: tccr.io/truecharts/ztcuui-aio
+ tag: v1.2.11@sha256:89e5b5a5c2b0473f3c16d9c0fb0f8411be83ca8dbfa2d290ca619cc9f2d4c399
pullPolicy: IfNotPresent
securityContext:
diff --git a/incubator/ztcuui-aio/0.0.3/questions.yaml b/incubator/ztcuui-aio/0.0.4/questions.yaml
similarity index 100%
rename from incubator/ztcuui-aio/0.0.3/questions.yaml
rename to incubator/ztcuui-aio/0.0.4/questions.yaml
diff --git a/stable/meshroom/2.0.22/templates/common.yaml b/incubator/ztcuui-aio/0.0.4/templates/common.yaml
similarity index 100%
rename from stable/meshroom/2.0.22/templates/common.yaml
rename to incubator/ztcuui-aio/0.0.4/templates/common.yaml
diff --git a/stable/meshroom/2.0.22/values.yaml b/incubator/ztcuui-aio/0.0.4/values.yaml
similarity index 100%
rename from stable/meshroom/2.0.22/values.yaml
rename to incubator/ztcuui-aio/0.0.4/values.yaml
diff --git a/stable/meshroom/2.0.22/Chart.lock b/stable/meshroom/2.0.22/Chart.lock
deleted file mode 100644
index e1794e88f57..00000000000
--- a/stable/meshroom/2.0.22/Chart.lock
+++ /dev/null
@@ -1,6 +0,0 @@
-dependencies:
-- name: common
- repository: https://library-charts.truecharts.org
- version: 10.4.8
-digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
-generated: "2022-07-26T11:03:27.548565851Z"
diff --git a/stable/meshroom/2.0.22/CHANGELOG.md b/stable/meshroom/2.0.23/CHANGELOG.md
similarity index 92%
rename from stable/meshroom/2.0.22/CHANGELOG.md
rename to stable/meshroom/2.0.23/CHANGELOG.md
index 11fba7680af..c14b8a94a1c 100644
--- a/stable/meshroom/2.0.22/CHANGELOG.md
+++ b/stable/meshroom/2.0.23/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [meshroom-2.0.23](https://github.com/truecharts/apps/compare/meshroom-2.0.22...meshroom-2.0.23) (2022-07-27)
+
+### Chore
+
+- update image refs ([#3324](https://github.com/truecharts/apps/issues/3324))
+
+
+
+
## [meshroom-2.0.22](https://github.com/truecharts/apps/compare/meshroom-2.0.21...meshroom-2.0.22) (2022-07-26)
### Chore
@@ -88,12 +97,3 @@
### Chore
-- bump to regenerate documentation
-
-
-
-
-### [meshroom-2.0.11](https://github.com/truecharts/apps/compare/meshroom-2.0.10...meshroom-2.0.11) (2022-07-12)
-
-#### Chore
-
diff --git a/stable/meshroom/2.0.23/Chart.lock b/stable/meshroom/2.0.23/Chart.lock
new file mode 100644
index 00000000000..fc1ddce433a
--- /dev/null
+++ b/stable/meshroom/2.0.23/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.8
+digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
+generated: "2022-07-27T16:43:30.363975214Z"
diff --git a/stable/meshroom/2.0.22/Chart.yaml b/stable/meshroom/2.0.23/Chart.yaml
similarity index 95%
rename from stable/meshroom/2.0.22/Chart.yaml
rename to stable/meshroom/2.0.23/Chart.yaml
index 1b582703925..41246ffd65f 100644
--- a/stable/meshroom/2.0.22/Chart.yaml
+++ b/stable/meshroom/2.0.23/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: "2.4.0-cent"
+appVersion: "2.4.0"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
@@ -18,7 +18,7 @@ name: meshroom
sources:
- https://github.com/alicevision/meshroom
- https://hub.docker.com/r/alicevision/meshroom
-version: 2.0.22
+version: 2.0.23
annotations:
truecharts.org/catagories: |
- media
diff --git a/stable/meshroom/2.0.22/README.md b/stable/meshroom/2.0.23/README.md
similarity index 94%
rename from stable/meshroom/2.0.22/README.md
rename to stable/meshroom/2.0.23/README.md
index 9207d395eaf..2ca33838e14 100644
--- a/stable/meshroom/2.0.22/README.md
+++ b/stable/meshroom/2.0.23/README.md
@@ -1,6 +1,6 @@
# meshroom
-![Version: 2.0.22](https://img.shields.io/badge/Version-2.0.22-informational?style=flat-square) ![AppVersion: 2.4.0-cent](https://img.shields.io/badge/AppVersion-2.4.0--cent-informational?style=flat-square)
+![Version: 2.0.23](https://img.shields.io/badge/Version-2.0.23-informational?style=flat-square) ![AppVersion: 2.4.0](https://img.shields.io/badge/AppVersion-2.4.0-informational?style=flat-square)
Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework.
diff --git a/stable/meshroom/2.0.22/app-readme.md b/stable/meshroom/2.0.23/app-readme.md
similarity index 100%
rename from stable/meshroom/2.0.22/app-readme.md
rename to stable/meshroom/2.0.23/app-readme.md
diff --git a/stable/meshroom/2.0.23/charts/common-10.4.8.tgz b/stable/meshroom/2.0.23/charts/common-10.4.8.tgz
new file mode 100644
index 00000000000..e7ddaf2da57
Binary files /dev/null and b/stable/meshroom/2.0.23/charts/common-10.4.8.tgz differ
diff --git a/stable/meshroom/2.0.22/ix_values.yaml b/stable/meshroom/2.0.23/ix_values.yaml
similarity index 73%
rename from stable/meshroom/2.0.22/ix_values.yaml
rename to stable/meshroom/2.0.23/ix_values.yaml
index 09a84888d4c..759ec062cef 100644
--- a/stable/meshroom/2.0.22/ix_values.yaml
+++ b/stable/meshroom/2.0.23/ix_values.yaml
@@ -1,6 +1,6 @@
image:
- repository: alicevision/meshroom
- tag: 2021.1.0-av2.4.0-centos7-cuda10.2@sha256:1cadc1a8f5edd8ebbf8de20df5cf1d6e44ee0aad4ebbb8939018fe0beadc2dad
+ repository: tccr.io/truecharts/meshroom
+ tag: v2.4.0@sha256:5fe602cd0c68fd2db19663b005e35f7b3dd221c09dc550020d225068f917b6b6
pullPolicy: IfNotPresent
securityContext:
diff --git a/stable/meshroom/2.0.22/questions.yaml b/stable/meshroom/2.0.23/questions.yaml
similarity index 100%
rename from stable/meshroom/2.0.22/questions.yaml
rename to stable/meshroom/2.0.23/questions.yaml
diff --git a/stable/meshroom/2.0.23/templates/common.yaml b/stable/meshroom/2.0.23/templates/common.yaml
new file mode 100644
index 00000000000..c1a366e1cf0
--- /dev/null
+++ b/stable/meshroom/2.0.23/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "tc.common.loader.all" . }}
diff --git a/stable/meshroom/2.0.23/values.yaml b/stable/meshroom/2.0.23/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/stable/traefik/13.1.7/CHANGELOG.md b/stable/traefik/13.1.7/CHANGELOG.md
new file mode 100644
index 00000000000..e6947e0a423
--- /dev/null
+++ b/stable/traefik/13.1.7/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [traefik-13.1.7](https://github.com/truecharts/apps/compare/traefik-13.1.6...traefik-13.1.7) (2022-07-27)
+
+### Feat
+
+- add theme-park middleware docs ([#3320](https://github.com/truecharts/apps/issues/3320))
+
+
+
+
+## [traefik-13.1.6](https://github.com/truecharts/apps/compare/traefik-13.1.5...traefik-13.1.6) (2022-07-26)
+
+### Chore
+
+- update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302))
+
+
+
+
+## [traefik-13.1.5](https://github.com/truecharts/apps/compare/traefik-13.1.4...traefik-13.1.5) (2022-07-25)
+
+### Chore
+
+- Auto-update chart README [skip ci]
+ - update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295))
+
+
+
+
+## [traefik-13.1.5](https://github.com/truecharts/apps/compare/traefik-13.1.4...traefik-13.1.5) (2022-07-25)
+
+### Chore
+
+- update docker general non-major ([#3295](https://github.com/truecharts/apps/issues/3295))
+
+
+
+
+## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23)
+
+### Chore
+
+- Auto-update chart README [skip ci]
+ - Auto-update chart README [skip ci]
+ - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
+
+
+
+
+## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23)
+
+### Chore
+
+- Auto-update chart README [skip ci]
+ - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
+
+
+
+
+## [traefik-13.1.4](https://github.com/truecharts/apps/compare/traefik-13.1.3...traefik-13.1.4) (2022-07-23)
+
+### Chore
+
+- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280))
+
+
+
+
+## [traefik-13.1.3](https://github.com/truecharts/apps/compare/traefik-13.1.2...traefik-13.1.3) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [traefik-13.1.2](https://github.com/truecharts/apps/compare/traefik-13.1.0...traefik-13.1.2) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+ - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268))
+ - update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266))
+
+
+
+## [traefik-13.1.0](https://github.com/truecharts/apps/compare/traefik-13.0.0...traefik-13.1.0) (2022-07-22)
+
+
+
+## [traefik-13.0.0](https://github.com/truecharts/apps/compare/traefik-12.0.24...traefik-13.0.0) (2022-07-21)
+
+### Feat
+
+- Adds theme.park middleware and remove Traefik pilot ([#3245](https://github.com/truecharts/apps/issues/3245))
diff --git a/stable/traefik/13.1.7/Chart.lock b/stable/traefik/13.1.7/Chart.lock
new file mode 100644
index 00000000000..7a2864e13ca
--- /dev/null
+++ b/stable/traefik/13.1.7/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.8
+digest: sha256:57e44481adb7fd605739fb266e38ae0c04f147ec6de12d4423545322e1461bad
+generated: "2022-07-27T16:43:30.341154287Z"
diff --git a/stable/traefik/13.1.7/Chart.yaml b/stable/traefik/13.1.7/Chart.yaml
new file mode 100644
index 00000000000..8eda2bd02c0
--- /dev/null
+++ b/stable/traefik/13.1.7/Chart.yaml
@@ -0,0 +1,30 @@
+apiVersion: v2
+appVersion: "2.8.1"
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.8
+deprecated: false
+description: Traefik is a flexible reverse proxy and Ingress Provider.
+home: https://github.com/truecharts/apps/tree/master/charts/core/traefik
+icon: https://truecharts.org/img/chart-icons/traefik.png
+keywords:
+ - traefik
+ - ingress
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: traefik
+sources:
+ - https://github.com/traefik/traefik
+ - https://github.com/traefik/traefik-helm-chart
+ - https://traefik.io/
+type: application
+version: 13.1.7
+annotations:
+ truecharts.org/catagories: |
+ - network
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/stable/traefik/13.1.7/README.md b/stable/traefik/13.1.7/README.md
new file mode 100644
index 00000000000..221fc173b74
--- /dev/null
+++ b/stable/traefik/13.1.7/README.md
@@ -0,0 +1,109 @@
+# traefik
+
+![Version: 13.1.7](https://img.shields.io/badge/Version-13.1.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.8.1](https://img.shields.io/badge/AppVersion-2.8.1-informational?style=flat-square)
+
+Traefik is a flexible reverse proxy and Ingress Provider.
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [traefik](https://truecharts.org/docs/charts/stable/traefik)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://library-charts.truecharts.org | common | 10.4.8 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `traefik`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install traefik TrueCharts/traefik
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `traefik` deployment
+
+```console
+helm uninstall traefik
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install traefik \
+ --set env.TZ="America/New York" \
+ TrueCharts/traefik
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install traefik TrueCharts/traefik -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/stable/traefik/13.1.7/app-readme.md b/stable/traefik/13.1.7/app-readme.md
new file mode 100644
index 00000000000..67bcce116d7
--- /dev/null
+++ b/stable/traefik/13.1.7/app-readme.md
@@ -0,0 +1,8 @@
+Traefik is a flexible reverse proxy and Ingress Provider.
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/stable/traefik
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/stable/traefik/13.1.7/charts/common-10.4.8.tgz b/stable/traefik/13.1.7/charts/common-10.4.8.tgz
new file mode 100644
index 00000000000..e7ddaf2da57
Binary files /dev/null and b/stable/traefik/13.1.7/charts/common-10.4.8.tgz differ
diff --git a/stable/traefik/13.1.7/crds/ingressroute.yaml b/stable/traefik/13.1.7/crds/ingressroute.yaml
new file mode 100644
index 00000000000..572adae5f00
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/ingressroute.yaml
@@ -0,0 +1,209 @@
+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/13.1.7/crds/ingressroutetcp.yaml b/stable/traefik/13.1.7/crds/ingressroutetcp.yaml
new file mode 100644
index 00000000000..127a41767e1
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/ingressroutetcp.yaml
@@ -0,0 +1,169 @@
+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/13.1.7/crds/ingressrouteudp.yaml b/stable/traefik/13.1.7/crds/ingressrouteudp.yaml
new file mode 100644
index 00000000000..2ed2b6969b2
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/ingressrouteudp.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: 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/13.1.7/crds/middlewares.yaml b/stable/traefik/13.1.7/crds/middlewares.yaml
new file mode 100644
index 00000000000..714d151151f
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/middlewares.yaml
@@ -0,0 +1,587 @@
+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/13.1.7/crds/middlewarestcp.yaml b/stable/traefik/13.1.7/crds/middlewarestcp.yaml
new file mode 100644
index 00000000000..32c41e532de
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/middlewarestcp.yaml
@@ -0,0 +1,61 @@
+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/13.1.7/crds/serverstransports.yaml b/stable/traefik/13.1.7/crds/serverstransports.yaml
new file mode 100644
index 00000000000..a5f5206abad
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/serverstransports.yaml
@@ -0,0 +1,108 @@
+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/13.1.7/crds/tlsoptions.yaml b/stable/traefik/13.1.7/crds/tlsoptions.yaml
new file mode 100644
index 00000000000..054ffe6cf5a
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/tlsoptions.yaml
@@ -0,0 +1,92 @@
+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/13.1.7/crds/tlsstores.yaml b/stable/traefik/13.1.7/crds/tlsstores.yaml
new file mode 100644
index 00000000000..0fd2501746c
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/tlsstores.yaml
@@ -0,0 +1,68 @@
+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/13.1.7/crds/traefikservices.yaml b/stable/traefik/13.1.7/crds/traefikservices.yaml
new file mode 100644
index 00000000000..c96892c41e0
--- /dev/null
+++ b/stable/traefik/13.1.7/crds/traefikservices.yaml
@@ -0,0 +1,289 @@
+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/13.1.7/ix_values.yaml b/stable/traefik/13.1.7/ix_values.yaml
new file mode 100644
index 00000000000..07dc412ffc8
--- /dev/null
+++ b/stable/traefik/13.1.7/ix_values.yaml
@@ -0,0 +1,364 @@
+image:
+ repository: tccr.io/truecharts/traefik
+ # defaults to appVersion
+ tag: v2.8.1@sha256:c56594c74ae0ed5f4dd466f05d2e8cebe528b7ca6796edd3b4870a6f6f75cbd4
+ 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: ""
+
+# -- Deprecated (will be removed later)
+# -- 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: {}
+
+podAnnotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: "/metrics"
+ prometheus.io/port: "9180"
+
+#
+# -- 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 level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO.
+ level: ERROR
+ # -- Set the format of General Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/logs/#format
+ format: common
+ access:
+ # To enable access logs
+ enabled: false
+ # 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
+ # -- Set the format of Access Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/access-logs/#format
+ format: common
+
+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/tccr.io/truecharts/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:
+ type: LoadBalancer
+ ports:
+ main:
+ port: 9000
+ targetPort: 9000
+ protocol: HTTP
+ # -- Forwarded Headers should never be enabled on Main entrypoint
+ forwardedHeaders:
+ enabled: false
+ tcp:
+ enabled: true
+ type: LoadBalancer
+ ports:
+ web:
+ enabled: true
+ port: 9080
+ protocol: HTTP
+ redirectTo: websecure
+ # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support
+ forwardedHeaders:
+ enabled: false
+ # -- List of trusted IP and CIDR references
+ trustedIPs: []
+ # -- Trust all forwarded headers
+ insecureMode: false
+ # Options: Empty, 0 (ingore), or positive int
+ # redirectPort:
+ websecure:
+ enabled: true
+ port: 9443
+ protocol: HTTPS
+ # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support
+ forwardedHeaders:
+ enabled: false
+ # -- List of trusted IP and CIDR references
+ trustedIPs: []
+ # -- Trust all forwarded headers
+ insecureMode: false
+ # tcpexample:
+ # enabled: true
+ # targetPort: 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: ClusterIP
+ ports:
+ metrics:
+ enabled: true
+ port: 9180
+ targetPort: 9180
+ protocol: HTTP
+ # -- Forwarded Headers should never be enabled on Metrics entrypoint
+ forwardedHeaders:
+ enabled: false
+ 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:
+ main:
+ 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:
+ main:
+ create: true
+
+# -- 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: []
+ # - name: redirectSchemeName
+ # scheme: https
+ # permanent: true
+ rateLimit: []
+ # - name: rateLimitName
+ # average: 300
+ # burst: 200
+ redirectRegex: []
+ # - name: redirectRegexName
+ # regex: putregexhere
+ # replacement: repslacementurlhere
+ # permanent: false
+ stripPrefixRegex: []
+ # - name: stripPrefixRegexName
+ # regex: []
+ ipWhiteList: []
+ # - name: ipWhiteListName
+ # sourceRange: []
+ # ipStrategy:
+ # depth: 2
+ # excludedIPs: []
+ # -- Currently requires to enable Traefik Pilot.
+ # -- Until it's deprecated.
+ themePark: []
+ # - name: themeParkName
+ # -- Supported apps, lower case name
+ # -- https://docs.theme-park.dev/themes
+ # app: appnamehere
+ # -- Supported themes, lower case name
+ # -- https://docs.theme-park.dev/themes/APPNAMEHERE
+ # -- https://docs.theme-park.dev/community-themes
+ # theme: themenamehere
+ # -- https://theme-park.dev or a self hosted url
+ # baseUrl: https://theme-park.dev
+ themeParkVersion: v1.1.0
+
+portalhook:
+ enabled: true
+
+persistence:
+ plugins:
+ enabled: true
+ mountPath: "/plugins-storage"
+ type: emptyDir
diff --git a/stable/traefik/13.1.7/questions.yaml b/stable/traefik/13.1.7/questions.yaml
new file mode 100644
index 00000000000..fa8caca9ec2
--- /dev/null
+++ b/stable/traefik/13.1.7/questions.yaml
@@ -0,0 +1,2632 @@
+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: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ 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: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - 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: "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: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressClass
+ label: "ingressClass"
+ group: "App Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "When enabled, ingressClass will match the entered name of this app"
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: general
+ label: "General Logs"
+ schema:
+ additional_attrs: true
+ 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: format
+ label: "General Log format"
+ schema:
+ type: string
+ default: "common"
+ enum:
+ - value: "common"
+ description: "Common Log Format"
+ - value: "json"
+ description: "JSON"
+ - variable: access
+ label: "Access Logs"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: general
+ label: "General"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: defaultmode
+ label: "Default Mode"
+ schema:
+ type: string
+ default: "drop"
+ enum:
+ - value: "keep"
+ description: "Keep"
+ - value: "drop"
+ description: "Drop"
+ - variable: format
+ label: "Access Log format"
+ schema:
+ type: string
+ default: "common"
+ enum:
+ - value: "common"
+ description: "Common Log Format"
+ - value: "json"
+ description: "JSON"
+ - variable: middlewares
+ label: ""
+ group: "Middlewares"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: basicAuth
+ label: "basicAuth"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: basicAuthEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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
+ default: false
+
+ - variable: rateLimit
+ label: "rateLimit"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: rateLimitEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ 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: redirectRegex
+ label: "redirectRegex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: redirectRegexEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: regex
+ label: "Regex"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: replacement
+ label: "Replacement"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: permanent
+ label: "Permanent"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: stripPrefixRegex
+ label: "stripPrefixRegex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: stripPrefixRegexEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: regex
+ label: "Regex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: regexEntry
+ label: "Regex"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: ipWhiteList
+ label: "ipWhiteList"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipWhiteListEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: sourceRange
+ label: "Source Range"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: sourceRangeEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: ipStrategy
+ label: "IP Strategy"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: depth
+ label: "Depth"
+ schema:
+ type: int
+ required: true
+ - variable: excludedIPs
+ label: "Excluded IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: excludedIPsEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: themePark
+ label: "theme.park"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: themeParkEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ description: This is a 3rd party plugin and not maintained by TrueCharts,
+ for more information go to traefik-themepark
+ schema:
+ type: string
+ required: true
+ - variable: appName
+ label: App Name
+ description: Lower case, name of the app to be themed.
+ Go to https://docs.theme-park.dev/themes/ to see supported apps.
+ schema:
+ type: string
+ required: true
+ - variable: themeName
+ label: Theme Name
+ description: Lower case, name of the theme to be applied.
+ Go to https://docs.theme-park.dev/theme-options/ to see supported themes.
+ schema:
+ type: string
+ required: true
+ - variable: baseUrl
+ label: Base URL
+ description: Replace `https://theme-park.dev` URL for self-hosting reference.
+ schema:
+ type: string
+ required: true
+ default: https://theme-park.dev
+
+ - variable: service
+ group: "Networking and Services"
+ label: "Configure Service Entrypoint"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ 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: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - 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: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Entrypoint Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - 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: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 9000
+
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9000
+ required: true
+ - variable: tcp
+ label: "TCP Service"
+ description: "The tcp Entrypoint service"
+ schema:
+ additional_attrs: true
+ 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: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - 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: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: web
+ label: "web Entrypoint Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9080
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - 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: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ default: "websecure"
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: websecure
+ label: "websecure Entrypoints Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9443
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTPS"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: ipaddr
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: tls
+ label: "websecure Entrypoints Configuration"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: portsList
+ label: "Additional TCP Entrypoints"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: "Custom Entrypoints"
+ schema:
+ additional_attrs: true
+ 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: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ required: true
+ - variable: tls
+ label: "websecure Entrypoints Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enabled"
+ schema:
+ type: boolean
+ default: true
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: ipaddr
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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: "(Advanced) 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: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ 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: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: true
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# 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
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - 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: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
diff --git a/stable/traefik/13.1.7/templates/_args.tpl b/stable/traefik/13.1.7/templates/_args.tpl
new file mode 100644
index 00000000000..e51ea524cae
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/_args.tpl
@@ -0,0 +1,155 @@
+{{/* 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 .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 }}
+ {{- if .Values.ingressClass.enabled }}
+ - "--providers.kubernetesingress.ingressclass={{ .Release.Name }}"
+ {{- end }}
+ {{- range $entrypoint, $config := $ports }}
+ {{/* add args for forwardedHeaders support */}}
+ {{- if $config.forwardedHeaders.enabled }}
+ {{- if not ( empty $config.forwardedHeaders.trustedIPs ) }}
+ - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.trustedIPs={{ join "," $config.forwardedHeaders.trustedIPs }}"
+ {{- end }}
+ {{- if $config.forwardedHeaders.insecureMode }}
+ - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.insecure"
+ {{- end }}
+ {{- end }}
+ {{/* end forwardedHeaders configuration */}}
+ {{- if $config.redirectTo }}
+ {{- $toPort := index $ports $config.redirectTo }}
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.port }}"
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https"
+ {{- else if $config.redirectPort }}
+ {{ if gt $config.redirectPort 0.0 }}
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $config.redirectPort }}"
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https"
+ {{- end }}
+ {{- 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 }}
+ - "--log.format={{ .general.format }}"
+ {{- if ne .general.level "ERROR" }}
+ - "--log.level={{ .general.level | upper }}"
+ {{- end }}
+ {{- if .access.enabled }}
+ - "--accesslog=true"
+ - "--accesslog.format={{ .access.format }}"
+ {{- 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 }}
+ {{/* theme.park */}}
+ {{- if .Values.middlewares.themePark }}
+ - "--experimental.plugins.traefik-themepark.modulename=github.com/packruler/traefik-themepark"
+ - "--experimental.plugins.traefik-themepark.version={{ .Values.middlewares.themeParkVersion }}"
+ {{- end }}
+ {{/* End of theme.park */}}
+ {{- with .Values.additionalArguments }}
+ {{- range . }}
+ - {{ . | quote }}
+ {{- end }}
+ {{- end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.7/templates/_helpers.tpl b/stable/traefik/13.1.7/templates/_helpers.tpl
new file mode 100644
index 00000000000..ab55e4e7ec6
--- /dev/null
+++ b/stable/traefik/13.1.7/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 "tc.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/13.1.7/templates/_ingressclass.tpl b/stable/traefik/13.1.7/templates/_ingressclass.tpl
new file mode 100644
index 00000000000..909e249d6a5
--- /dev/null
+++ b/stable/traefik/13.1.7/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 "tc.common.labels" . | nindent 4 }}
+ name: {{ .Release.Name }}
+spec:
+ controller: traefik.io/ingress-controller
+{{- end }}
+{{- end }}
diff --git a/stable/traefik/13.1.7/templates/_ingressroute.tpl b/stable/traefik/13.1.7/templates/_ingressroute.tpl
new file mode 100644
index 00000000000..7f012c92350
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/_ingressroute.tpl
@@ -0,0 +1,25 @@
+{{/* Define the ingressRoute */}}
+{{- define "traefik.ingressRoute" -}}
+{{ if .Values.ingressRoute.dashboard.enabled }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: {{ include "tc.common.names.fullname" . }}-dashboard
+ annotations:
+ {{- with .Values.ingressRoute.dashboard.annotations }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ labels:
+ {{- include "tc.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/13.1.7/templates/_portalhook.tpl b/stable/traefik/13.1.7/templates/_portalhook.tpl
new file mode 100644
index 00000000000..e3586c5d4e9
--- /dev/null
+++ b/stable/traefik/13.1.7/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/13.1.7/templates/_tlsoptions.tpl b/stable/traefik/13.1.7/templates/_tlsoptions.tpl
new file mode 100644
index 00000000000..3e5aad3bee9
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/_tlsoptions.tpl
@@ -0,0 +1,12 @@
+{{/* Define the tlsOptions */}}
+{{- define "traefik.tlsOptions" -}}
+{{- range $name, $config := .Values.tlsOptions }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: TLSOption
+metadata:
+ name: {{ $name }}
+spec:
+ {{- toYaml $config | nindent 2 }}
+{{- end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.7/templates/common.yaml b/stable/traefik/13.1.7/templates/common.yaml
new file mode 100644
index 00000000000..d078b251c20
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/common.yaml
@@ -0,0 +1,24 @@
+{{/* Make sure all variables are set properly */}}
+{{- include "tc.common.loader.init" . }}
+
+{{- 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" "9180" -}}
+{{- 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 "tc.common.loader.apply" . }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/basic-middleware.yaml b/stable/traefik/13.1.7/templates/middlewares/basic-middleware.yaml
new file mode 100644
index 00000000000..de5be0af830
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/basic-middleware.yaml
@@ -0,0 +1,64 @@
+{{- $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: 600
+ burst: 400
+---
+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
+ customRequestHeaders:
+ X-Forwarded-Proto: "https"
+ customResponseHeaders:
+ 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/13.1.7/templates/middlewares/basicauth.yaml b/stable/traefik/13.1.7/templates/middlewares/basicauth.yaml
new file mode 100644
index 00000000000..ccb541742f0
--- /dev/null
+++ b/stable/traefik/13.1.7/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/13.1.7/templates/middlewares/chain.yaml b/stable/traefik/13.1.7/templates/middlewares/chain.yaml
new file mode 100644
index 00000000000..f87994f7956
--- /dev/null
+++ b/stable/traefik/13.1.7/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, $middleware := .middlewares }}
+ - name: {{ printf "%v-%v@%v" $namespace $middleware "kubernetescrd" }}
+ {{ end }}
+{{ end }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/forwardauth.yaml b/stable/traefik/13.1.7/templates/middlewares/forwardauth.yaml
new file mode 100644
index 00000000000..7a3e32fdbf7
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/forwardauth.yaml
@@ -0,0 +1,30 @@
+{{- $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 }}
+ {{- with $middlewareData.authResponseHeaders }}
+ authResponseHeaders:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with $middlewareData.authRequestHeaders }}
+ authRequestHeaders:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- if $middlewareData.authResponseHeadersRegex }}
+ authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }}
+ {{- end }}
+ {{- if $middlewareData.trustForwardHeader }}
+ trustForwardHeader: true
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/ipwhitelist.yaml b/stable/traefik/13.1.7/templates/middlewares/ipwhitelist.yaml
new file mode 100644
index 00000000000..1179245017e
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/ipwhitelist.yaml
@@ -0,0 +1,33 @@
+{{- $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.ipWhiteList }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ ipWhiteList:
+ sourceRange:
+ {{- range $middlewareData.sourceRange }}
+ - {{ . }}
+ {{- end }}
+ {{- if $middlewareData.ipStrategy }}
+ ipStrategy:
+ {{- if $middlewareData.ipStrategy.depth }}
+ depth: {{ $middlewareData.ipStrategy.depth }}
+ {{- end }}
+ {{- if $middlewareData.ipStrategy.excludedIPs }}
+ excludedIPs:
+ {{- range $middlewareData.ipStrategy.excludedIPs }}
+ - {{ . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/ratelimit.yaml b/stable/traefik/13.1.7/templates/middlewares/ratelimit.yaml
new file mode 100644
index 00000000000..144b9d8bf38
--- /dev/null
+++ b/stable/traefik/13.1.7/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/13.1.7/templates/middlewares/redirectScheme.yaml b/stable/traefik/13.1.7/templates/middlewares/redirectScheme.yaml
new file mode 100644
index 00000000000..f2413f84e19
--- /dev/null
+++ b/stable/traefik/13.1.7/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/13.1.7/templates/middlewares/redirectregex.yaml b/stable/traefik/13.1.7/templates/middlewares/redirectregex.yaml
new file mode 100644
index 00000000000..46e3e724dd6
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/redirectregex.yaml
@@ -0,0 +1,20 @@
+{{- $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.redirectRegex }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ redirectRegex:
+ regex: {{ $middlewareData.regex | quote }}
+ replacement: {{ $middlewareData.replacement | quote }}
+ permanent: {{ $middlewareData.permanent }}
+{{ end }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/stripPrefixRegex.yaml b/stable/traefik/13.1.7/templates/middlewares/stripPrefixRegex.yaml
new file mode 100644
index 00000000000..007c166ff39
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/stripPrefixRegex.yaml
@@ -0,0 +1,20 @@
+{{- $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.stripPrefixRegex }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ stripPrefixRegex:
+ regex:
+ {{- range $middlewareData.regex }}
+ - {{ . | quote }}
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.7/templates/middlewares/tc-chains.yaml b/stable/traefik/13.1.7/templates/middlewares/tc-chains.yaml
new file mode 100644
index 00000000000..409766daa89
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/tc-chains.yaml
@@ -0,0 +1,29 @@
+{{- $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: tc-opencors-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: basic-ratelimit
+ - name: tc-opencors-headers
+ - name: compress
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-closedcors-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: basic-ratelimit
+ - name: tc-closedcors-headers
+ - name: compress
diff --git a/stable/traefik/13.1.7/templates/middlewares/tc-headers.yaml b/stable/traefik/13.1.7/templates/middlewares/tc-headers.yaml
new file mode 100644
index 00000000000..a0462f1fd73
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/tc-headers.yaml
@@ -0,0 +1,62 @@
+{{- $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: tc-opencors-headers
+ namespace: {{ $namespace }}
+spec:
+ headers:
+ accessControlAllowHeaders:
+ - '*'
+ accessControlAllowMethods:
+ - GET
+ - OPTIONS
+ - HEAD
+ - PUT
+ - POST
+ accessControlAllowOriginList:
+ - '*'
+ accessControlMaxAge: 100
+ browserXssFilter: true
+ contentTypeNosniff: true
+ customRequestHeaders:
+ X-Forwarded-Proto: https
+ customResponseHeaders:
+ server: ""
+ forceSTSHeader: true
+ referrerPolicy: same-origin
+ sslForceHost: true
+ sslRedirect: true
+ stsSeconds: 63072000
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-closedcors-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
+ customRequestHeaders:
+ X-Forwarded-Proto: "https"
+ customResponseHeaders:
+ server: ''
diff --git a/stable/traefik/13.1.7/templates/middlewares/tc-nextcloud.yaml b/stable/traefik/13.1.7/templates/middlewares/tc-nextcloud.yaml
new file mode 100644
index 00000000000..6a3019d56c5
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/tc-nextcloud.yaml
@@ -0,0 +1,25 @@
+{{- $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: tc-nextcloud-redirectregex-dav
+ namespace: {{ $namespace }}
+spec:
+ redirectRegex:
+ regex: "https://(.*)/.well-known/(card|cal)dav"
+ replacement: "https://${1}/remote.php/dav/"
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-nextcloud-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: tc-nextcloud-redirectregex-dav
diff --git a/stable/traefik/13.1.7/templates/middlewares/theme-park.yaml b/stable/traefik/13.1.7/templates/middlewares/theme-park.yaml
new file mode 100644
index 00000000000..0e181a02d2d
--- /dev/null
+++ b/stable/traefik/13.1.7/templates/middlewares/theme-park.yaml
@@ -0,0 +1,20 @@
+{{- $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.themePark }}
+
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ plugin:
+ traefik-themepark:
+ app: {{ $middlewareData.appName }}
+ theme: {{ $middlewareData.themeName }}
+ baseUrl: {{ $middlewareData.baseUrl }}
+{{- end }}
diff --git a/stable/traefik/13.1.7/values.yaml b/stable/traefik/13.1.7/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d