diff --git a/stable/flexget/6.0.25/app-changelog.md b/stable/flexget/6.0.25/app-changelog.md
deleted file mode 100644
index b4882335da8..00000000000
--- a/stable/flexget/6.0.25/app-changelog.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-## [flexget-6.0.25](https://github.com/truecharts/charts/compare/flexget-6.0.24...flexget-6.0.25) (2023-11-19)
-
-### Fix
-
-- update container image wiserain/flexget to v3.9.19 ([#15071](https://github.com/truecharts/charts/issues/15071))
-
-
\ No newline at end of file
diff --git a/stable/flexget/6.0.25/CHANGELOG.md b/stable/flexget/6.1.0/CHANGELOG.md
similarity index 90%
rename from stable/flexget/6.0.25/CHANGELOG.md
rename to stable/flexget/6.1.0/CHANGELOG.md
index 29ab41ff260..bc2aa61e1f2 100644
--- a/stable/flexget/6.0.25/CHANGELOG.md
+++ b/stable/flexget/6.1.0/CHANGELOG.md
@@ -4,6 +4,15 @@
+## [flexget-6.1.0](https://github.com/truecharts/charts/compare/flexget-6.0.25...flexget-6.1.0) (2023-11-25)
+
+### Chore
+
+- update container image wiserain/flexget to v3.10.1[@c065bc7](https://github.com/c065bc7) ([#15372](https://github.com/truecharts/charts/issues/15372))
+
+
+
+
## [flexget-6.0.25](https://github.com/truecharts/charts/compare/flexget-6.0.24...flexget-6.0.25) (2023-11-19)
### Fix
@@ -88,12 +97,3 @@
- update container image tccr.io/truecharts/flexget to v3.9.16 ([#14038](https://github.com/truecharts/charts/issues/14038))
-
-
-
-## [flexget-6.0.15](https://github.com/truecharts/charts/compare/flexget-6.0.14...flexget-6.0.15) (2023-10-21)
-
-### Chore
-
-- update container image tccr.io/truecharts/flexget to v3.9.15 ([#13862](https://github.com/truecharts/charts/issues/13862))
-
diff --git a/stable/flexget/6.0.25/Chart.yaml b/stable/flexget/6.1.0/Chart.yaml
similarity index 95%
rename from stable/flexget/6.0.25/Chart.yaml
rename to stable/flexget/6.1.0/Chart.yaml
index 959c61f0b56..ec782274edc 100644
--- a/stable/flexget/6.0.25/Chart.yaml
+++ b/stable/flexget/6.1.0/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: 3.9.19
+appVersion: 3.10.1
dependencies:
- name: common
repository: https://library-charts.truecharts.org
@@ -21,7 +21,7 @@ sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/flexget
- https://github.com/wiserain/docker-flexget
type: application
-version: 6.0.25
+version: 6.1.0
annotations:
truecharts.org/category: media
truecharts.org/SCALE-support: "true"
diff --git a/stable/flexget/6.0.25/README.md b/stable/flexget/6.1.0/README.md
similarity index 100%
rename from stable/flexget/6.0.25/README.md
rename to stable/flexget/6.1.0/README.md
diff --git a/stable/flexget/6.1.0/app-changelog.md b/stable/flexget/6.1.0/app-changelog.md
new file mode 100644
index 00000000000..6ad6f3bf9fe
--- /dev/null
+++ b/stable/flexget/6.1.0/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [flexget-6.1.0](https://github.com/truecharts/charts/compare/flexget-6.0.25...flexget-6.1.0) (2023-11-25)
+
+### Chore
+
+- update container image wiserain/flexget to v3.10.1[@c065bc7](https://github.com/c065bc7) ([#15372](https://github.com/truecharts/charts/issues/15372))
+
+
\ No newline at end of file
diff --git a/stable/flexget/6.0.25/app-readme.md b/stable/flexget/6.1.0/app-readme.md
similarity index 100%
rename from stable/flexget/6.0.25/app-readme.md
rename to stable/flexget/6.1.0/app-readme.md
diff --git a/stable/flexget/6.0.25/charts/common-14.3.5.tgz b/stable/flexget/6.1.0/charts/common-14.3.5.tgz
similarity index 100%
rename from stable/flexget/6.0.25/charts/common-14.3.5.tgz
rename to stable/flexget/6.1.0/charts/common-14.3.5.tgz
diff --git a/stable/flexget/6.0.25/ix_values.yaml b/stable/flexget/6.1.0/ix_values.yaml
similarity index 90%
rename from stable/flexget/6.0.25/ix_values.yaml
rename to stable/flexget/6.1.0/ix_values.yaml
index 5dec220623c..4c6445c1606 100644
--- a/stable/flexget/6.0.25/ix_values.yaml
+++ b/stable/flexget/6.1.0/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: wiserain/flexget
pullPolicy: IfNotPresent
- tag: 3.9.19@sha256:1e825d299d00144e33b2b6cdefe2546939afb4b3832704d8bbed0498bcde0df8
+ tag: 3.10.1@sha256:c065bc738005aca8f5d3c3407537da57cf647f075a39c63dac0e2a9b5b862792
securityContext:
container:
runAsNonRoot: false
diff --git a/stable/flexget/6.0.25/questions.yaml b/stable/flexget/6.1.0/questions.yaml
similarity index 100%
rename from stable/flexget/6.0.25/questions.yaml
rename to stable/flexget/6.1.0/questions.yaml
diff --git a/stable/flexget/6.0.25/templates/NOTES.txt b/stable/flexget/6.1.0/templates/NOTES.txt
similarity index 100%
rename from stable/flexget/6.0.25/templates/NOTES.txt
rename to stable/flexget/6.1.0/templates/NOTES.txt
diff --git a/stable/flexget/6.0.25/templates/common.yaml b/stable/flexget/6.1.0/templates/common.yaml
similarity index 100%
rename from stable/flexget/6.0.25/templates/common.yaml
rename to stable/flexget/6.1.0/templates/common.yaml
diff --git a/stable/flexget/6.0.25/values.yaml b/stable/flexget/6.1.0/values.yaml
similarity index 100%
rename from stable/flexget/6.0.25/values.yaml
rename to stable/flexget/6.1.0/values.yaml
diff --git a/stable/ghostfolio/0.1.41/app-changelog.md b/stable/ghostfolio/0.1.41/app-changelog.md
deleted file mode 100644
index adda2023389..00000000000
--- a/stable/ghostfolio/0.1.41/app-changelog.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-## [ghostfolio-0.1.41](https://github.com/truecharts/charts/compare/ghostfolio-0.0.41...ghostfolio-0.1.41) (2023-11-19)
-
-### Feat
-
-- update container image ghostfolio/ghostfolio to v2.25.1 ([#15114](https://github.com/truecharts/charts/issues/15114))
-
-
\ No newline at end of file
diff --git a/stable/ghostfolio/0.1.41/CHANGELOG.md b/stable/ghostfolio/0.2.0/CHANGELOG.md
similarity index 90%
rename from stable/ghostfolio/0.1.41/CHANGELOG.md
rename to stable/ghostfolio/0.2.0/CHANGELOG.md
index b89751e3d55..1cbc4073d5d 100644
--- a/stable/ghostfolio/0.1.41/CHANGELOG.md
+++ b/stable/ghostfolio/0.2.0/CHANGELOG.md
@@ -4,6 +4,15 @@
+## [ghostfolio-0.2.0](https://github.com/truecharts/charts/compare/ghostfolio-0.1.41...ghostfolio-0.2.0) (2023-11-25)
+
+### Chore
+
+- update container image ghostfolio/ghostfolio to v2.26.0[@7c99c32](https://github.com/7c99c32) ([#15371](https://github.com/truecharts/charts/issues/15371))
+
+
+
+
## [ghostfolio-0.1.41](https://github.com/truecharts/charts/compare/ghostfolio-0.0.41...ghostfolio-0.1.41) (2023-11-19)
### Feat
@@ -88,12 +97,3 @@
- update container image tccr.io/truecharts/ghostfolio to v2.19.0 ([#14395](https://github.com/truecharts/charts/issues/14395))
-
-
-## [ghostfolio-0.0.32](https://github.com/truecharts/charts/compare/ghostfolio-0.0.31...ghostfolio-0.0.32) (2023-11-05)
-
-### Chore
-
-- update container image tccr.io/truecharts/ghostfolio to v2.18.0 ([#14363](https://github.com/truecharts/charts/issues/14363))
-
-
diff --git a/stable/ghostfolio/0.1.41/Chart.yaml b/stable/ghostfolio/0.2.0/Chart.yaml
similarity index 96%
rename from stable/ghostfolio/0.1.41/Chart.yaml
rename to stable/ghostfolio/0.2.0/Chart.yaml
index ccdf765fb44..49b9367725b 100644
--- a/stable/ghostfolio/0.1.41/Chart.yaml
+++ b/stable/ghostfolio/0.2.0/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: 2.25.1
+appVersion: 2.26.0
dependencies:
- name: common
repository: https://library-charts.truecharts.org
@@ -25,7 +25,7 @@ sources:
- https://github.com/ghostfolio/ghostfolio
- https://ghostfol.io/
type: application
-version: 0.1.41
+version: 0.2.0
annotations:
truecharts.org/category: finance
truecharts.org/SCALE-support: "true"
diff --git a/stable/ghostfolio/0.1.41/README.md b/stable/ghostfolio/0.2.0/README.md
similarity index 100%
rename from stable/ghostfolio/0.1.41/README.md
rename to stable/ghostfolio/0.2.0/README.md
diff --git a/stable/ghostfolio/0.2.0/app-changelog.md b/stable/ghostfolio/0.2.0/app-changelog.md
new file mode 100644
index 00000000000..a093d47fe20
--- /dev/null
+++ b/stable/ghostfolio/0.2.0/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [ghostfolio-0.2.0](https://github.com/truecharts/charts/compare/ghostfolio-0.1.41...ghostfolio-0.2.0) (2023-11-25)
+
+### Chore
+
+- update container image ghostfolio/ghostfolio to v2.26.0[@7c99c32](https://github.com/7c99c32) ([#15371](https://github.com/truecharts/charts/issues/15371))
+
+
\ No newline at end of file
diff --git a/stable/ghostfolio/0.1.41/app-readme.md b/stable/ghostfolio/0.2.0/app-readme.md
similarity index 100%
rename from stable/ghostfolio/0.1.41/app-readme.md
rename to stable/ghostfolio/0.2.0/app-readme.md
diff --git a/stable/ghostfolio/0.1.41/charts/common-14.3.5.tgz b/stable/ghostfolio/0.2.0/charts/common-14.3.5.tgz
similarity index 100%
rename from stable/ghostfolio/0.1.41/charts/common-14.3.5.tgz
rename to stable/ghostfolio/0.2.0/charts/common-14.3.5.tgz
diff --git a/stable/ghostfolio/0.1.41/charts/redis-7.0.6.tgz b/stable/ghostfolio/0.2.0/charts/redis-7.0.6.tgz
similarity index 100%
rename from stable/ghostfolio/0.1.41/charts/redis-7.0.6.tgz
rename to stable/ghostfolio/0.2.0/charts/redis-7.0.6.tgz
diff --git a/stable/ghostfolio/0.1.41/ix_values.yaml b/stable/ghostfolio/0.2.0/ix_values.yaml
similarity index 94%
rename from stable/ghostfolio/0.1.41/ix_values.yaml
rename to stable/ghostfolio/0.2.0/ix_values.yaml
index b9da2644531..b0178118660 100644
--- a/stable/ghostfolio/0.1.41/ix_values.yaml
+++ b/stable/ghostfolio/0.2.0/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: ghostfolio/ghostfolio
pullPolicy: IfNotPresent
- tag: 2.25.1@sha256:c7caf143bb3e7d08eccb71c9ec9095eec2f7d33e198540c73756cbedabc052d3
+ tag: 2.26.0@sha256:7c99c32a2adb365b6de4a5e1f6e7fdbc9b82e0e0ca8e5642d4a2d330d6464cab
securityContext:
container:
runAsNonRoot: false
diff --git a/stable/ghostfolio/0.1.41/questions.yaml b/stable/ghostfolio/0.2.0/questions.yaml
similarity index 100%
rename from stable/ghostfolio/0.1.41/questions.yaml
rename to stable/ghostfolio/0.2.0/questions.yaml
diff --git a/stable/ghostfolio/0.1.41/templates/NOTES.txt b/stable/ghostfolio/0.2.0/templates/NOTES.txt
similarity index 100%
rename from stable/ghostfolio/0.1.41/templates/NOTES.txt
rename to stable/ghostfolio/0.2.0/templates/NOTES.txt
diff --git a/stable/ghostfolio/0.1.41/templates/_secrets.tpl b/stable/ghostfolio/0.2.0/templates/_secrets.tpl
similarity index 100%
rename from stable/ghostfolio/0.1.41/templates/_secrets.tpl
rename to stable/ghostfolio/0.2.0/templates/_secrets.tpl
diff --git a/stable/ghostfolio/0.1.41/templates/common.yaml b/stable/ghostfolio/0.2.0/templates/common.yaml
similarity index 100%
rename from stable/ghostfolio/0.1.41/templates/common.yaml
rename to stable/ghostfolio/0.2.0/templates/common.yaml
diff --git a/stable/ghostfolio/0.1.41/values.yaml b/stable/ghostfolio/0.2.0/values.yaml
similarity index 100%
rename from stable/ghostfolio/0.1.41/values.yaml
rename to stable/ghostfolio/0.2.0/values.yaml
diff --git a/stable/linkwarden/1.0.0/CHANGELOG.md b/stable/linkwarden/1.0.0/CHANGELOG.md
deleted file mode 100644
index c1f8cd7179d..00000000000
--- a/stable/linkwarden/1.0.0/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-**Important:**
-*for the complete changelog, please refer to the website*
-
-
-
-
-## [linkwarden-1.0.0](https://github.com/truecharts/charts/compare/linkwarden-0.0.1...linkwarden-1.0.0) (2023-11-21)
-
diff --git a/stable/linkwarden/1.0.0/app-changelog.md b/stable/linkwarden/1.0.0/app-changelog.md
deleted file mode 100644
index be43bf9f431..00000000000
--- a/stable/linkwarden/1.0.0/app-changelog.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-## [linkwarden-1.0.0](https://github.com/truecharts/charts/compare/linkwarden-0.0.1...linkwarden-1.0.0) (2023-11-21)
-
diff --git a/stable/linkwarden/1.1.0/CHANGELOG.md b/stable/linkwarden/1.1.0/CHANGELOG.md
new file mode 100644
index 00000000000..b3a2ca5f326
--- /dev/null
+++ b/stable/linkwarden/1.1.0/CHANGELOG.md
@@ -0,0 +1,17 @@
+**Important:**
+*for the complete changelog, please refer to the website*
+
+
+
+
+## [linkwarden-1.1.0](https://github.com/truecharts/charts/compare/linkwarden-1.0.0...linkwarden-1.1.0) (2023-11-25)
+
+### Chore
+
+- update container image ghcr.io/linkwarden/linkwarden to v2.3.0[@f0958c3](https://github.com/f0958c3) ([#15370](https://github.com/truecharts/charts/issues/15370))
+
+
+
+
+## [linkwarden-1.0.0](https://github.com/truecharts/charts/compare/linkwarden-0.0.1...linkwarden-1.0.0) (2023-11-21)
+
diff --git a/stable/linkwarden/1.0.0/Chart.yaml b/stable/linkwarden/1.1.0/Chart.yaml
similarity index 95%
rename from stable/linkwarden/1.0.0/Chart.yaml
rename to stable/linkwarden/1.1.0/Chart.yaml
index 64e8b17b8b6..8982eeb793a 100644
--- a/stable/linkwarden/1.0.0/Chart.yaml
+++ b/stable/linkwarden/1.1.0/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: "2.2.1"
+appVersion: v2.3.0
dependencies:
- name: common
repository: https://library-charts.truecharts.org
@@ -20,7 +20,7 @@ name: linkwarden
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/linkwarden
- https://github.com/linkwarden/linkwarden
-version: 1.0.0
+version: 1.1.0
annotations:
truecharts.org/category: bookmarks
truecharts.org/SCALE-support: "true"
diff --git a/stable/linkwarden/1.0.0/README.md b/stable/linkwarden/1.1.0/README.md
similarity index 93%
rename from stable/linkwarden/1.0.0/README.md
rename to stable/linkwarden/1.1.0/README.md
index 83229a60265..e0a9b8fa8d7 100644
--- a/stable/linkwarden/1.0.0/README.md
+++ b/stable/linkwarden/1.1.0/README.md
@@ -5,7 +5,7 @@
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
However only installations using the TrueNAS SCALE Apps system are supported.
-For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
**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)**
diff --git a/stable/linkwarden/1.1.0/app-changelog.md b/stable/linkwarden/1.1.0/app-changelog.md
new file mode 100644
index 00000000000..264eb12057e
--- /dev/null
+++ b/stable/linkwarden/1.1.0/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [linkwarden-1.1.0](https://github.com/truecharts/charts/compare/linkwarden-1.0.0...linkwarden-1.1.0) (2023-11-25)
+
+### Chore
+
+- update container image ghcr.io/linkwarden/linkwarden to v2.3.0[@f0958c3](https://github.com/f0958c3) ([#15370](https://github.com/truecharts/charts/issues/15370))
+
+
\ No newline at end of file
diff --git a/stable/linkwarden/1.0.0/app-readme.md b/stable/linkwarden/1.1.0/app-readme.md
similarity index 100%
rename from stable/linkwarden/1.0.0/app-readme.md
rename to stable/linkwarden/1.1.0/app-readme.md
diff --git a/stable/linkwarden/1.0.0/charts/common-15.0.1.tgz b/stable/linkwarden/1.1.0/charts/common-15.0.1.tgz
similarity index 100%
rename from stable/linkwarden/1.0.0/charts/common-15.0.1.tgz
rename to stable/linkwarden/1.1.0/charts/common-15.0.1.tgz
diff --git a/stable/linkwarden/1.0.0/ix_values.yaml b/stable/linkwarden/1.1.0/ix_values.yaml
similarity index 93%
rename from stable/linkwarden/1.0.0/ix_values.yaml
rename to stable/linkwarden/1.1.0/ix_values.yaml
index 157c8efe937..da42604a886 100644
--- a/stable/linkwarden/1.0.0/ix_values.yaml
+++ b/stable/linkwarden/1.1.0/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: ghcr.io/linkwarden/linkwarden
pullPolicy: IfNotPresent
- tag: v2.2.1@sha256:c948cdcf683ec7b6c634eb2a0e184e270e167401d41ef8e82f7ff64c61f39f9c
+ tag: v2.3.0@sha256:f0958c304f28f32c76e1111713c1e94b3c5d567ccf607b76526dadb95c1b5e8e
config:
nextauth_url: "http://example.com"
diff --git a/stable/linkwarden/1.0.0/questions.yaml b/stable/linkwarden/1.1.0/questions.yaml
similarity index 100%
rename from stable/linkwarden/1.0.0/questions.yaml
rename to stable/linkwarden/1.1.0/questions.yaml
diff --git a/stable/linkwarden/1.0.0/templates/NOTES.txt b/stable/linkwarden/1.1.0/templates/NOTES.txt
similarity index 100%
rename from stable/linkwarden/1.0.0/templates/NOTES.txt
rename to stable/linkwarden/1.1.0/templates/NOTES.txt
diff --git a/stable/linkwarden/1.0.0/templates/_secrets.tpl b/stable/linkwarden/1.1.0/templates/_secrets.tpl
similarity index 100%
rename from stable/linkwarden/1.0.0/templates/_secrets.tpl
rename to stable/linkwarden/1.1.0/templates/_secrets.tpl
diff --git a/stable/linkwarden/1.0.0/templates/common.yaml b/stable/linkwarden/1.1.0/templates/common.yaml
similarity index 100%
rename from stable/linkwarden/1.0.0/templates/common.yaml
rename to stable/linkwarden/1.1.0/templates/common.yaml
diff --git a/stable/linkwarden/1.0.0/values.yaml b/stable/linkwarden/1.1.0/values.yaml
similarity index 100%
rename from stable/linkwarden/1.0.0/values.yaml
rename to stable/linkwarden/1.1.0/values.yaml
diff --git a/stable/unifi/17.0.0/CHANGELOG.md b/stable/unifi/17.0.0/CHANGELOG.md
new file mode 100644
index 00000000000..1f6aafe517e
--- /dev/null
+++ b/stable/unifi/17.0.0/CHANGELOG.md
@@ -0,0 +1,99 @@
+**Important:**
+*for the complete changelog, please refer to the website*
+
+
+
+
+## [unifi-17.0.0](https://github.com/truecharts/charts/compare/unifi-16.0.5...unifi-17.0.0) (2023-11-25)
+
+### Chore
+
+- update container image ghcr.io/goofball222/unifi to v8.0.7[@2185652](https://github.com/2185652) ([#15315](https://github.com/truecharts/charts/issues/15315))
+
+
+
+
+## [unifi-16.0.5](https://github.com/truecharts/charts/compare/unifi-16.0.4...unifi-16.0.5) (2023-11-24)
+
+### Fix
+
+- allow for smooth migration ([#15327](https://github.com/truecharts/charts/issues/15327))
+
+
+
+
+## [unifi-16.0.4](https://github.com/truecharts/charts/compare/unifi-16.0.3...unifi-16.0.4) (2023-11-23)
+
+### Fix
+
+- fix values ([#15299](https://github.com/truecharts/charts/issues/15299))
+
+
+
+
+## [unifi-16.0.3](https://github.com/truecharts/charts/compare/unifi-16.0.2...unifi-16.0.3) (2023-11-23)
+
+
+
+
+## [unifi-16.0.2](https://github.com/truecharts/charts/compare/unifi-16.0.1...unifi-16.0.2) (2023-11-23)
+
+### Fix
+
+- Fix unifi storage ([#15293](https://github.com/truecharts/charts/issues/15293))
+
+
+
+
+## [unifi-16.0.1](https://github.com/truecharts/charts/compare/unifi-16.0.0...unifi-16.0.1) (2023-11-22)
+
+
+
+
+## [unifi-16.0.0](https://github.com/truecharts/charts/compare/unifi-15.0.11...unifi-16.0.0) (2023-11-22)
+
+### Fix
+
+- update image ([#15245](https://github.com/truecharts/charts/issues/15245))
+
+
+
+
+## [unifi-15.0.11](https://github.com/truecharts/charts/compare/unifi-15.0.10...unifi-15.0.11) (2023-11-17)
+
+
+
+
+## [unifi-15.0.10](https://github.com/truecharts/charts/compare/unifi-15.0.9...unifi-15.0.10) (2023-11-08)
+
+### Chore
+
+- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465))
+
+
+
+
+## [unifi-15.0.9](https://github.com/truecharts/charts/compare/unifi-15.0.8...unifi-15.0.9) (2023-11-08)
+
+### Chore
+
+- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454))
+
+
+
+
+## [unifi-15.0.8](https://github.com/truecharts/charts/compare/unifi-15.0.7...unifi-15.0.8) (2023-11-05)
+
+### Chore
+
+- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365))
+
+
+
+
+## [unifi-15.0.7](https://github.com/truecharts/charts/compare/unifi-15.0.6...unifi-15.0.7) (2023-11-03)
+
+### Chore
+
+- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287))
+
diff --git a/stable/unifi/17.0.0/Chart.yaml b/stable/unifi/17.0.0/Chart.yaml
new file mode 100644
index 00000000000..f6d62785a71
--- /dev/null
+++ b/stable/unifi/17.0.0/Chart.yaml
@@ -0,0 +1,28 @@
+apiVersion: v2
+appVersion: 8.0.7
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 14.3.5
+deprecated: false
+description: Ubiquiti Network's Unifi Controller
+home: https://truecharts.org/charts/stable/unifi
+icon: https://truecharts.org/img/hotlink-ok/chart-icons/unifi.png
+keywords:
+ - ubiquiti
+ - unifi
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: unifi
+sources:
+ - https://github.com/truecharts/charts/tree/master/charts/stable/unifi
+ - https://github.com/jacobalberty/unifi-docker
+ - https://unifi-network.ui.com
+type: application
+version: 17.0.0
+annotations:
+ truecharts.org/category: Networking
+ truecharts.org/SCALE-support: "true"
diff --git a/stable/unifi/17.0.0/README.md b/stable/unifi/17.0.0/README.md
new file mode 100644
index 00000000000..e0a9b8fa8d7
--- /dev/null
+++ b/stable/unifi/17.0.0/README.md
@@ -0,0 +1,27 @@
+# README
+
+## General Info
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+However only installations using the TrueNAS SCALE Apps system are supported.
+
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
+
+**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)**
+
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/charts/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/sponsor) or contributing back to the project any way you can!
+
+*All Rights Reserved - The TrueCharts Project*
diff --git a/stable/unifi/17.0.0/app-changelog.md b/stable/unifi/17.0.0/app-changelog.md
new file mode 100644
index 00000000000..2b192ca90ef
--- /dev/null
+++ b/stable/unifi/17.0.0/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [unifi-17.0.0](https://github.com/truecharts/charts/compare/unifi-16.0.5...unifi-17.0.0) (2023-11-25)
+
+### Chore
+
+- update container image ghcr.io/goofball222/unifi to v8.0.7[@2185652](https://github.com/2185652) ([#15315](https://github.com/truecharts/charts/issues/15315))
+
+
\ No newline at end of file
diff --git a/stable/unifi/17.0.0/app-readme.md b/stable/unifi/17.0.0/app-readme.md
new file mode 100644
index 00000000000..a5125bede58
--- /dev/null
+++ b/stable/unifi/17.0.0/app-readme.md
@@ -0,0 +1,8 @@
+Ubiquiti Network's Unifi Controller
+
+This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/unifi](https://truecharts.org/charts/stable/unifi)
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
diff --git a/stable/unifi/17.0.0/charts/common-14.3.5.tgz b/stable/unifi/17.0.0/charts/common-14.3.5.tgz
new file mode 100644
index 00000000000..58fbc6f4962
Binary files /dev/null and b/stable/unifi/17.0.0/charts/common-14.3.5.tgz differ
diff --git a/stable/unifi/17.0.0/ix_values.yaml b/stable/unifi/17.0.0/ix_values.yaml
new file mode 100644
index 00000000000..3616b08b766
--- /dev/null
+++ b/stable/unifi/17.0.0/ix_values.yaml
@@ -0,0 +1,112 @@
+image:
+ repository: ghcr.io/goofball222/unifi
+ tag: 8.0.7@sha256:218565257fdb4b2c7f27b8e4fdb4925e9348fd7cfb3ed027974bebf78bdc45ba
+ pullPolicy: IfNotPresent
+service:
+ main:
+ ports:
+ main:
+ protocol: https
+ port: 8443
+ targetPort: 8443
+ comm:
+ enabled: true
+ ports:
+ comm:
+ enabled: true
+ port: 8080
+ targetPort: 8080
+ stun:
+ enabled: true
+ ports:
+ stun:
+ enabled: true
+ port: 3478
+ targetPort: 3478
+ protocol: udp
+ speedtest:
+ enabled: true
+ ports:
+ speedtest:
+ enabled: true
+ port: 6789
+ targetPort: 6789
+ guestportal:
+ enabled: true
+ ports:
+ web:
+ enabled: true
+ port: 8880
+ targetPort: 8880
+ protocol: http
+ websecure:
+ enabled: true
+ port: 8843
+ targetPort: 8843
+ protocol: https
+persistence:
+ config:
+ enabled: true
+ targetSelector:
+ main:
+ main:
+ mountPath: /usr/lib/unifi/olddata
+ migrate:
+ mountPath: /usr/lib/unifi/olddata
+ data:
+ enabled: true
+ targetSelector:
+ main:
+ main:
+ mountPath: /usr/lib/unifi/data
+ migrate:
+ mountPath: /usr/lib/unifi/data
+ logs:
+ enabled: true
+ mountPath: "/usr/lib/unifi/logs"
+ type: "emptyDir"
+ certs:
+ enabled: true
+ mountPath: "/usr/lib/unifi/cert"
+portal:
+ open:
+ enabled: true
+securityContext:
+ container:
+ readOnlyRootFilesystem: false
+ runAsGroup: 0
+ runAsUser: 0
+workload:
+ main:
+ podSpec:
+ containers:
+ main:
+ env:
+ RUN_CHOWN: true
+ DB_MONGO_LOCAL: true
+ initContainers:
+ migrate:
+ enabled: true
+ type: init
+ imageSelector: alpineImage
+ command:
+ - /bin/sh
+ args:
+ - -c
+ - |
+ newdatadir="/usr/lib/unifi/data"
+ olddatadir="/usr/lib/unifi/olddata/data"
+ # Check the dir exists
+ [ ! -d "$newdatadir" ] && echo "$newdatadir missing" && exit 1
+ # Check if there is a data/data dir to migrate
+ [ ! -d "$olddatadir" ] && echo "No $olddatadir dir found. Migration skipped" && exit 0
+
+ # Check if the new data dir is empty, ignoring the old data dir
+ dirs=$(ls -A "$newdatadir" | grep -v "data")
+ if [ -n "$dirs" ]; then
+ echo "New data dir is empty. Migrating data one level up"
+ mv $olddatadir/* $newdatadir || echo "Failed to move data" && exit 1
+ # Remove the data/data dir
+ rm -rf $olddatadir
+ echo "Data migration complete"
+ fi
diff --git a/stable/unifi/17.0.0/questions.yaml b/stable/unifi/17.0.0/questions.yaml
new file mode 100644
index 00000000000..15504891f61
--- /dev/null
+++ b/stable/unifi/17.0.0/questions.yaml
@@ -0,0 +1,2430 @@
+groups:
+ - name: Container Image
+ description: Image to be used for container
+ - name: General Settings
+ description: General Deployment Settings
+ - name: Workload Settings
+ description: Workload Settings
+ - 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
+ - name: Postgresql
+ description: Postgresql
+ - name: Documentation
+ description: Documentation
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_tcportal-open_protocol"
+ host:
+ - "$kubernetes-resource_configmap_tcportal-open_host"
+ ports:
+ - "$kubernetes-resource_configmap_tcportal-open_port"
+questions:
+ - variable: global
+ group: General Settings
+ label: "Global Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stopAll
+ label: Stop All
+ description: "Stops All Running pods and hibernates cnpg"
+ schema:
+ type: boolean
+ default: false
+ - variable: workload
+ group: "Workload Settings"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type (Advanced)
+ schema:
+ type: string
+ default: Deployment
+ enum:
+ - value: Deployment
+ description: Deployment
+ - value: DaemonSet
+ description: DaemonSet
+
+ - variable: replicas
+ label: Replicas (Advanced)
+ description: Set the number of Replicas
+ schema:
+ type: int
+ show_if: [["type", "!=", "DaemonSet"]]
+ default: 1
+ - variable: podSpec
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: containers
+ label: Containers
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: Main Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+
+ - variable: envList
+ label: Extra Environment Variables
+ description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
+ 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: extraArgs
+ label: Extra Args
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: Arg
+ schema:
+ type: string
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: command
+ label: Command
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: param
+ label: Param
+ schema:
+ type: string
+
+ - variable: TZ
+ label: Timezone
+ group: "General Settings"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+ - variable: podOptions
+ group: "General Settings"
+ label: "Global Pod Options (Advanced)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: expertPodOpts
+ label: "Expert - Pod Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ label: "Host Networking"
+ schema:
+ type: boolean
+ default: false
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: options
+ label: "Options"
+ schema:
+ type: list
+ default: [{"name": "ndots", "value": "1"}]
+ items:
+ - variable: optionsEntry
+ label: "Option Entry"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: nsEntry
+ label: "Nameserver Entry"
+ schema:
+ type: string
+ required: true
+ - variable: searches
+ label: "Searches"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: searchEntry
+ label: "Search Entry"
+ schema:
+ type: string
+ required: true
+ - 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - 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: 8443
+ required: true
+ - variable: comm
+ label: "Unifi Device Communication Service"
+ description: "Unifi Device Communication 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: comm
+ label: "TCP 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: 8080
+ required: true
+ - variable: stun
+ label: "STUN Device Communication Service"
+ description: "STUN Device Communication 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stun
+ label: "TCP 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: 3478
+ required: true
+ - variable: speedtest
+ label: "Speedtest Service"
+ description: "Speedtest 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: speedtest
+ label: "TCP 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: 6789
+ required: true
+ - variable: guestportal
+ label: "Guest Portal Service"
+ description: "Guest Portal 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: web
+ label: "Web 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: 8880
+ required: true
+ - variable: websecure
+ label: "Secure Web 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: 8843
+ required: true
+ - variable: serviceexpert
+ group: Networking and Services
+ label: Show Expert Config
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: scaleExternalInterface
+ description: Add External Interfaces
+ label: Add external Interfaces
+ group: Networking
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: Interface Configuration
+ label: Interface Configuration
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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
+ - variable: staticIPConfigurations
+ label: Static IP Addresses
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticIP
+ label: Static IP
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: Static Routes
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ 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: 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - value: Simple
+ description: Deprecated CHANGE THIS
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: advancedsvcset
+ label: Show Advanced Service Settings
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: External IP
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: IP Family Policy
+ description: Specify the IP Policy
+ schema:
+ type: string
+ default: SingleStack
+ enum:
+ - value: SingleStack
+ description: SingleStack
+ - value: PreferDualStack
+ description: PreferDualStack
+ - value: RequireDualStack
+ description: RequireDualStack
+ - variable: ipFamilies
+ label: IP Families
+ description: (Advanced) The IP Families that should be used
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: IP Family
+ 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: persistence
+ label: Integrated Persistent Storage
+ description: Integrated Persistent Storage
+ group: Storage and Persistence
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: data
+ label: "App Config Storage"
+ description: "Stores the Application Configuration."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: pvc
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - 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: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - 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 (Do NOT REDUCE after installation)
+ description: This value can ONLY be INCREASED after the installation
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+ - 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: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: hostPath
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - 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: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: Mount Path
+ 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: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+ - 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: [{path: "/", pathType: "Prefix"}]
+ 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: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: certificateIssuer
+ label: Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
+ schema:
+ type: string
+ default: ""
+ - 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: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: entrypoint
+ label: (Advanced) Traefik Entrypoint
+ description: Entrypoint used by Traefik when using Traefik as Ingress Provider
+ schema:
+ type: string
+ default: websecure
+ show_if: [["advanced", "=", true]]
+ required: true
+ - variable: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ show_if: [["advanced", "=", true]]
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ 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: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: 'Use TrueNAS SCALE Certificate (Deprecated)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - 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: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ show_if: [["advanced", "=", true]]
+ default: false
+ - 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: Path Type
+ 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: certificateIssuer
+ label: certificateIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
+ schema:
+ type: string
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ default: []
+ show_if: [["certificateIssuer", "=", ""]]
+ 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: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: Use TrueNAS SCALE Certificate (Deprecated)
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: Use Custom Secret (Advanced)
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: entrypoint
+ label: Traefik Entrypoint
+ description: Entrypoint used by Traefik when using Traefik as Ingress Provider
+ schema:
+ type: string
+ default: websecure
+ required: true
+ - variable: middlewares
+ label: Traefik Middlewares
+ description: Add previously created Traefik Middlewares to this Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: securityContext
+ group: Security and Permissions
+ label: Security Context
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: container
+ label: Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 999
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 999
+ # Settings from questions.yaml get appended here on a per-app basis
+ - 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
+ show_if: [["runAsUser", "=", 0]]
+ default: 568
+ - variable: UMASK
+ label: UMASK
+ description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
+ schema:
+ type: string
+ default: "0022"
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+ - variable: pod
+ label: Pod
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - 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
+ # Settings from questions.yaml get appended here on a per-app basis
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+
+ - variable: resources
+ group: Resources and Devices
+ label: "Resource Limits"
+ 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/SCALE/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/SCALE/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
+ hidden: true
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 10m
+ hidden: true
+ 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/SCALE/validation"
+ schema:
+ type: string
+ default: 50Mi
+ hidden: true
+ 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: device
+ hidden: true
+ - variable: readOnly
+ label: readOnly
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Device Path
+ description: Path to the device on the host system
+ schema:
+ type: path
+ - variable: mountPath
+ label: Container Device Path
+ description: Path inside the container the device is mounted
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+ - variable: scaleGPU
+ label: GPU Configuration
+ group: Resources and Devices
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: scaleGPUEntry
+ label: GPU
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Specify GPU configuration
+ - variable: gpu
+ label: Select GPU
+ schema:
+ additional_attrs: true
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+ - variable: workaround
+ label: "Workaround"
+ schema:
+ type: string
+ default: workaround
+ hidden: true
+# - variable: horizontalPodAutoscaler
+# group: Advanced
+# label: (Advanced) Horizontal Pod Autoscaler
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: hpaEntry
+# label: HPA Entry
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: name
+# label: Name
+# schema:
+# type: string
+# required: true
+# default: ""
+# - 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:
+ type: list
+ default: []
+ items:
+ - variable: netPolicyEntry
+ label: Network Policy Entry
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ default: ""
+ - 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: IP Block
+ 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: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ 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: Match Expressions
+ 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: End 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: IP Block
+ 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: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ 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: Match Expressions
+ 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: End 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: 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: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: NodePort
+ description: Deprecated CHANGE THIS
+ - value: ClusterIP
+ description: ClusterIP
+ - value: LoadBalancer
+ description: LoadBalancer
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ 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: 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
+ - 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: gluetun
+ description: Gluetun
+ - value: tailscale
+ description: Tailscale
+ - value: openvpn
+ description: OpenVPN (Deprecated)
+ - value: wireguard
+ description: Wireguard (Deprecated)
+ - variable: openvpn
+ label: OpenVPN Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: Authentication Username (Optional)
+ description: Authentication Username, Optional
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: Authentication Password
+ description: Authentication Credentials
+ schema:
+ type: string
+ show_if: [["username", "!=", ""]]
+ default: ""
+ required: true
+ - variable: tailscale
+ label: Tailscale Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "tailscale"]]
+ attrs:
+ - variable: authkey
+ label: Authentication Key
+ description: Provide an auth key to automatically authenticate the node as your user account.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: auth_once
+ label: Auth Once
+ description: Only attempt to log in if not already logged in.
+ schema:
+ type: boolean
+ default: true
+ - variable: accept_dns
+ label: Accept DNS
+ description: Accept DNS configuration from the admin console.
+ schema:
+ type: boolean
+ default: false
+ - variable: userspace
+ label: Userspace
+ description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
+ schema:
+ type: boolean
+ default: false
+ - variable: routes
+ label: Routes
+ description: Expose physical subnet routes to your entire Tailscale network.
+ schema:
+ type: string
+ default: ""
+ - variable: dest_ip
+ label: Destination IP
+ description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
+ schema:
+ type: string
+ default: ""
+ - variable: sock5_server
+ label: Sock5 Server
+ description: The address on which to listen for SOCKS5 proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: outbound_http_proxy_listen
+ label: Outbound HTTP Proxy Listen
+ description: The address on which to listen for HTTP proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: extra_args
+ label: Extra Args
+ description: Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: daemon_extra_args
+ label: Tailscale Daemon Extra Args
+ description: Tailscale Daemon Extra Args
+ schema:
+ type: string
+ default: ""
+ - 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 IPv6 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: string
+ show_if: [["type", "!=", "disabled"]]
+ default: ""
+
+ - 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
+ max_length: 10240
+ - variable: docs
+ group: Documentation
+ label: Please read the documentation at https://truecharts.org
+ description: Please read the documentation at
+
https://truecharts.org
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDocs
+ label: I have checked the documentation
+ schema:
+ type: boolean
+ default: true
+ - variable: donateNag
+ group: Documentation
+ label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
+ description: Please consider supporting TrueCharts, see
+
https://truecharts.org/sponsor
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDonate
+ label: I have considered donating
+ schema:
+ type: boolean
+ default: true
+ hidden: true
diff --git a/stable/unifi/17.0.0/templates/NOTES.txt b/stable/unifi/17.0.0/templates/NOTES.txt
new file mode 100644
index 00000000000..efcb74cb772
--- /dev/null
+++ b/stable/unifi/17.0.0/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "tc.v1.common.lib.chart.notes" $ -}}
diff --git a/stable/unifi/17.0.0/templates/common.yaml b/stable/unifi/17.0.0/templates/common.yaml
new file mode 100644
index 00000000000..b51394e00a4
--- /dev/null
+++ b/stable/unifi/17.0.0/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "tc.v1.common.loader.all" . }}
diff --git a/stable/unifi/17.0.0/values.yaml b/stable/unifi/17.0.0/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/stable/wekan/10.1.0/CHANGELOG.md b/stable/wekan/10.1.0/CHANGELOG.md
new file mode 100644
index 00000000000..cd622cea67a
--- /dev/null
+++ b/stable/wekan/10.1.0/CHANGELOG.md
@@ -0,0 +1,99 @@
+**Important:**
+*for the complete changelog, please refer to the website*
+
+
+
+
+## [wekan-10.1.0](https://github.com/truecharts/charts/compare/wekan-10.0.9...wekan-10.1.0) (2023-11-25)
+
+### Chore
+
+- update container image wekanteam/wekan to v7.19[@1f26bf9](https://github.com/1f26bf9) ([#15186](https://github.com/truecharts/charts/issues/15186))
+
+
+
+
+## [wekan-10.0.9](https://github.com/truecharts/charts/compare/wekan-10.0.8...wekan-10.0.9) (2023-11-17)
+
+
+
+
+## [wekan-10.0.8](https://github.com/truecharts/charts/compare/wekan-10.0.7...wekan-10.0.8) (2023-11-08)
+
+### Chore
+
+- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465))
+
+
+
+
+## [wekan-10.0.7](https://github.com/truecharts/charts/compare/wekan-10.0.6...wekan-10.0.7) (2023-11-08)
+
+### Chore
+
+- update helm general non-major ([#14454](https://github.com/truecharts/charts/issues/14454))
+
+
+
+
+## [wekan-10.0.6](https://github.com/truecharts/charts/compare/wekan-10.0.5...wekan-10.0.6) (2023-11-05)
+
+### Chore
+
+- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365))
+
+
+
+
+## [wekan-10.0.5](https://github.com/truecharts/charts/compare/wekan-10.0.4...wekan-10.0.5) (2023-11-03)
+
+### Chore
+
+- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287))
+
+
+
+
+## [wekan-10.0.4](https://github.com/truecharts/charts/compare/wekan-10.0.3...wekan-10.0.4) (2023-10-29)
+
+### Chore
+
+- update helm general non-major ([#14094](https://github.com/truecharts/charts/issues/14094))
+
+
+
+
+## [wekan-10.0.3](https://github.com/truecharts/charts/compare/wekan-10.0.1...wekan-10.0.3) (2023-10-28)
+
+### Chore
+
+- Fix typo in categories and make them singular ([#13693](https://github.com/truecharts/charts/issues/13693))
+
+
+
+
+## [wekan-10.0.1](https://github.com/truecharts/charts/compare/wekan-10.0.0...wekan-10.0.1) (2023-10-07)
+
+### Chore
+
+- update helm general non-major ([#13386](https://github.com/truecharts/charts/issues/13386))
+
+
+
+
+
+## [wekan-10.0.0](https://github.com/truecharts/charts/compare/wekan-9.0.23...wekan-10.0.0) (2023-07-31)
+
+
+
+
+## [wekan-9.0.23](https://github.com/truecharts/charts/compare/wekan-9.0.22...wekan-9.0.23) (2023-07-29)
+
+### Chore
+
+- update helm general non-major ([#10955](https://github.com/truecharts/charts/issues/10955))
+
+
+
+
+## [wekan-9.0.22](https://github.com/truecharts/charts/compare/wekan-9.0.21...wekan-9.0.22) (2023-07-01)
diff --git a/stable/wekan/10.1.0/Chart.yaml b/stable/wekan/10.1.0/Chart.yaml
new file mode 100644
index 00000000000..47f90942153
--- /dev/null
+++ b/stable/wekan/10.1.0/Chart.yaml
@@ -0,0 +1,30 @@
+apiVersion: v2
+appVersion: v7.19
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 14.3.5
+ - condition: mongodb.enabled
+ name: mongodb
+ repository: https://deps.truecharts.org
+ version: 6.0.67
+description: WeKan - Open Source kanban
+home: https://truecharts.org/charts/stable/wekan
+icon: https://truecharts.org/img/hotlink-ok/chart-icons/wekan.png
+keywords:
+ - wekan
+ - kanban
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: wekan
+sources:
+ - https://github.com/truecharts/charts/tree/master/charts/stable/wekan
+ - https://github.com/wekan/wekan
+ - https://wekan.github.io/
+version: 10.1.0
+annotations:
+ truecharts.org/category: productivity
+ truecharts.org/SCALE-support: "true"
diff --git a/stable/wekan/10.1.0/README.md b/stable/wekan/10.1.0/README.md
new file mode 100644
index 00000000000..e0a9b8fa8d7
--- /dev/null
+++ b/stable/wekan/10.1.0/README.md
@@ -0,0 +1,27 @@
+# README
+
+## General Info
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+However only installations using the TrueNAS SCALE Apps system are supported.
+
+For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
+
+**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)**
+
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/charts/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/sponsor) or contributing back to the project any way you can!
+
+*All Rights Reserved - The TrueCharts Project*
diff --git a/stable/wekan/10.1.0/app-changelog.md b/stable/wekan/10.1.0/app-changelog.md
new file mode 100644
index 00000000000..7aeeaad2e7a
--- /dev/null
+++ b/stable/wekan/10.1.0/app-changelog.md
@@ -0,0 +1,9 @@
+
+
+## [wekan-10.1.0](https://github.com/truecharts/charts/compare/wekan-10.0.9...wekan-10.1.0) (2023-11-25)
+
+### Chore
+
+- update container image wekanteam/wekan to v7.19[@1f26bf9](https://github.com/1f26bf9) ([#15186](https://github.com/truecharts/charts/issues/15186))
+
+
\ No newline at end of file
diff --git a/stable/wekan/10.1.0/app-readme.md b/stable/wekan/10.1.0/app-readme.md
new file mode 100644
index 00000000000..e0a07691ef8
--- /dev/null
+++ b/stable/wekan/10.1.0/app-readme.md
@@ -0,0 +1,8 @@
+WeKan - Open Source kanban
+
+This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/wekan](https://truecharts.org/charts/stable/wekan)
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
diff --git a/stable/wekan/10.1.0/charts/common-14.3.5.tgz b/stable/wekan/10.1.0/charts/common-14.3.5.tgz
new file mode 100644
index 00000000000..58fbc6f4962
Binary files /dev/null and b/stable/wekan/10.1.0/charts/common-14.3.5.tgz differ
diff --git a/stable/wekan/10.1.0/charts/mongodb-6.0.67.tgz b/stable/wekan/10.1.0/charts/mongodb-6.0.67.tgz
new file mode 100644
index 00000000000..f2027521d87
Binary files /dev/null and b/stable/wekan/10.1.0/charts/mongodb-6.0.67.tgz differ
diff --git a/stable/wekan/10.1.0/ix_values.yaml b/stable/wekan/10.1.0/ix_values.yaml
new file mode 100644
index 00000000000..9321d7474fb
--- /dev/null
+++ b/stable/wekan/10.1.0/ix_values.yaml
@@ -0,0 +1,159 @@
+image:
+ repository: wekanteam/wekan
+ tag: v7.19@sha256:1f26bf9fde90e9d89565eaf8cc999f47ea9f88d77124e6309b627771b185e588
+ pullPolicy: IfNotPresent
+service:
+ main:
+ ports:
+ main:
+ port: 10192
+ targetPort: 8080
+mongodb:
+ enabled: true
+ mongodbUsername: wekan
+ mongodbDatabase: wekan
+persistence:
+ data:
+ enabled: true
+ mountPath: "/data"
+portal:
+ open:
+ enabled: true
+workload:
+ main:
+ podSpec:
+ containers:
+ main:
+ env:
+ WRITABLE_PATH: "/data"
+ # User Defined
+ ROOT_URL: "http://localhost:8080"
+ # BROWSER_POLICY_ENABLED: false
+ # TRUSTED_URL: ""
+ # LOGOUT_WITH_TIMER: false
+ # LOGOUT_IN: 0
+ # LOGOUT_ON_HOURS: 0
+ # LOGOUT_ON_MINUTES: 0
+ # ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS: 90
+ # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE: 3
+ # ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD: 60
+ # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW: 15
+ # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE: 3
+ # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD: 60
+ # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW: 15
+ # MAX_IMAGE_PIXEL: 1024
+ # IMAGE_COMPRESS_RATIO: 80
+ # MAIL_URL: ""
+ # MAIL_SERVICE_USER: ""
+ # MAIL_SERVICE_PASSWORD: ""
+ # MAIL_SERVICE: ""
+ # BIGEVENTS_PATTERN: "NONE"
+ # NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE: 90
+ # EMAIL_NOTIFICATION_TIMEOUT: 30000
+ # NOTIFY_DUE_DAYS_BEFORE_AND_AFTER: "2,0"
+ # NOTIFY_DUE_AT_HOUR_OF_DAY: 8
+ # RESULTS_PER_PAGE: 20
+ # RICHER_CARD_COMMENT_EDITOR: false
+ # CARD_OPENED_WEBHOOK_ENABLED: false
+ # PASSWORD_LOGIN_ENABLED: false
+ # WAIT_SPINNER: "Bounce"
+ # WITH_API: true
+ # WEBHOOKS_ATTRIBUTES: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue"
+ # CORS: "*"
+ # CORS_ALLOW_HEADERS: "Authorization,Content-Type"
+ # CORS_EXPOSE_HEADERS: "*"
+ # MATOMO_ADDRESS: ""
+ # MATOMO_SITE_ID: 1
+ # MATOMO_DO_NOT_TRACK: true
+ # MATOMO_WITH_USERNAME: true
+ # ORACLE_OIM_ENABLED: false
+ # OAUTH2_ENABLED: false
+ # OAUTH2_LOGIN_STYLE: "redirect"
+ # OAUTH2_CLIENT_ID: ""
+ # OAUTH2_SECRET: ""
+ # OAUTH2_SERVER_URL: ""
+ # OAUTH2_AUTH_ENDPOINT: ""
+ # OAUTH2_USERINFO_ENDPOINT: ""
+ # OAUTH2_TOKEN_ENDPOINT: ""
+ # OAUTH2_ID_MAP: ""
+ # OAUTH2_USERNAME_MAP: ""
+ # OAUTH2_FULLNAME_MAP: ""
+ # OAUTH2_EMAIL_MAP: ""
+ # OAUTH2_ID_TOKEN_WHITELIST_FIELDS: ""
+ # OAUTH2_REQUEST_PERMISSIONS: ""
+ # OAUTH2_CA_CERT: ""
+ # OAUTH2_ADFS_ENABLED: false
+ # LDAP_ENABLE: false
+ # DEFAULT_AUTHENTICATION_METHOD: "ldap"
+ # LDAP_PORT: 389
+ # LDAP_HOST: ""
+ # LDAP_AD_SIMPLE_AUTH: false
+ # LDAP_USER_AUTHENTICATION: false
+ # LDAP_USER_AUTHENTICATION_FIELD: "uid"
+ # LDAP_DEFAULT_DOMAIN: ""
+ # LDAP_BASEDN: ""
+ # LDAP_LOGIN_FALLBACK: false
+ # LDAP_RECONNECT: true
+ # LDAP_TIMEOUT: 10000
+ # LDAP_IDLE_TIMEOUT: 10000
+ # LDAP_CONNECT_TIMEOUT: 10000
+ # LDAP_AUTHENTIFICATION: true
+ # LDAP_AUTHENTIFICATION_USERDN: ""
+ # LDAP_AUTHENTIFICATION_PASSWORD: ""
+ # LDAP_LOG_ENABLED: true
+ # LDAP_BACKGROUND_SYNC: true
+ # LDAP_BACKGROUND_SYNC_INTERVAL: "every 1 hour"
+ # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED: false
+ # LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS: false
+ # LDAP_ENCRYPTION: "false"
+ # LDAP_CA_CERT: ""
+ # LDAP_REJECT_UNAUTHORIZED: false
+ # LDAP_USER_SEARCH_FILTER: ""
+ # LDAP_USER_SEARCH_SCOPE: "one"
+ # LDAP_USER_SEARCH_FIELD: ""
+ # LDAP_SEARCH_PAGE_SIZE: 0
+ # LDAP_SEARCH_SIZE_LIMIT: 0
+ # LDAP_GROUP_FILTER_ENABLE: false
+ # LDAP_GROUP_FILTER_OBJECTCLASS: ""
+ # LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE: ""
+ # LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE: ""
+ # LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT: ""
+ # LDAP_GROUP_FILTER_GROUP_NAME: ""
+ # LDAP_UNIQUE_IDENTIFIER_FIELD: ""
+ # LDAP_UTF8_NAMES_SLUGIFY: true
+ # LDAP_USERNAME_FIELD: ""
+ # LDAP_FULLNAME_FIELD: "fullname"
+ # LDAP_MERGE_EXISTING_USERS: false
+ # LDAP_EMAIL_MATCH_ENABLE: true
+ # LDAP_EMAIL_MATCH_REQUIRE: true
+ # LDAP_EMAIL_MATCH_VERIFIED: true
+ # LDAP_EMAIL_FIELD: "mail"
+ # LDAP_SYNC_USER_DATA: false
+ # LDAP_SYNC_USER_DATA_FIELDMAP: ""
+ # LDAP_SYNC_GROUP_ROLES: ""
+ # LDAP_SYNC_ADMIN_STATUS: true
+ # LDAP_SYNC_ADMIN_GROUPS: ""
+ # HEADER_LOGIN_ID: ""
+ # HEADER_LOGIN_FIRSTNAME: ""
+ # HEADER_LOGIN_LASTNAME: ""
+ # HEADER_LOGIN_EMAIL: ""
+ # CAS_ENABLED: false
+ # CAS_BASE_URL: ""
+ # CAS_LOGIN_URL: ""
+ # CAS_VALIDATE_URL: ""
+ # SAML_ENABLED: false
+ # SAML_PROVIDER: ""
+ # SAML_ENTRYPOINT: ""
+ # SAML_ISSUER: ""
+ # SAML_CERT: ""
+ # SAML_IDPSLO_REDIRECTURL: ""
+ # SAML_PRIVATE_KEYFILE: ""
+ # SAML_PUBLIC_CERTFILE: ""
+ # SAML_IDENTIFIER_FORMAT: ""
+ # SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE: ""
+ # SAML_ATTRIBUTES: ""
+ MONGO_URL:
+ secretKeyRef:
+ expandObjectName: false
+ name: '{{ printf "%s-%s" .Release.Name "mongodbcreds" }}'
+ key: url
diff --git a/stable/wekan/10.1.0/questions.yaml b/stable/wekan/10.1.0/questions.yaml
new file mode 100644
index 00000000000..8d7f97ad05f
--- /dev/null
+++ b/stable/wekan/10.1.0/questions.yaml
@@ -0,0 +1,3215 @@
+groups:
+ - name: Container Image
+ description: Image to be used for container
+ - name: General Settings
+ description: General Deployment Settings
+ - name: Workload Settings
+ description: Workload Settings
+ - 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
+ - name: Postgresql
+ description: Postgresql
+ - name: Documentation
+ description: Documentation
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_tcportal-open_protocol"
+ host:
+ - "$kubernetes-resource_configmap_tcportal-open_host"
+ ports:
+ - "$kubernetes-resource_configmap_tcportal-open_port"
+questions:
+ - variable: global
+ group: General Settings
+ label: "Global Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: stopAll
+ label: Stop All
+ description: "Stops All Running pods and hibernates cnpg"
+ schema:
+ type: boolean
+ default: false
+ - variable: workload
+ group: "Workload Settings"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type (Advanced)
+ schema:
+ type: string
+ default: Deployment
+ enum:
+ - value: Deployment
+ description: Deployment
+ - value: DaemonSet
+ description: DaemonSet
+
+ - variable: replicas
+ label: Replicas (Advanced)
+ description: Set the number of Replicas
+ schema:
+ type: int
+ show_if: [["type", "!=", "DaemonSet"]]
+ default: 1
+ - variable: podSpec
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: containers
+ label: Containers
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: Main Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+
+
+ - variable: env
+ group: "App Configuration"
+ label: "Image Environment"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: ROOT_URL
+ label: "ROOT_URL"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: BROWSER_POLICY_ENABLED
+ label: "BROWSER_POLICY_ENABLED"
+ description: "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside."
+ schema:
+ type: boolean
+ default: false
+ - variable: TRUSTED_URL
+ label: "TRUSTED_URL"
+ description: "When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside."
+ schema:
+ type: string
+ default: ""
+ - variable: logoutenabled
+ label: "Logout/Login Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: LOGOUT_WITH_TIMER
+ label: "LOGOUT_WITH_TIMER"
+ schema:
+ type: boolean
+ default: false
+ - variable: LOGOUT_IN
+ label: "LOGOUT_IN (Days)"
+ schema:
+ type: int
+ default: 0
+ - variable: LOGOUT_ON_HOURS
+ label: "LOGOUT_ON_HOURS"
+ schema:
+ type: int
+ default: 0
+ - variable: LOGOUT_ON_MINUTES
+ label: "LOGOUT_ON_MINUTES"
+ schema:
+ type: int
+ default: 0
+ - variable: ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS
+ label: "ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS"
+ schema:
+ type: int
+ default: 90
+ - variable: passwordnabled
+ label: "Password Brute Force Protection Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE
+ label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE"
+ schema:
+ type: int
+ default: 3
+ - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD
+ label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD"
+ schema:
+ type: int
+ default: 60
+ - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW
+ label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW"
+ schema:
+ type: int
+ default: 15
+ - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE
+ label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE"
+ schema:
+ type: int
+ default: 3
+ - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD
+ label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD"
+ schema:
+ type: int
+ default: 60
+ - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW
+ label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW"
+ schema:
+ type: int
+ default: 15
+ - variable: imagenabled
+ label: "Image Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: MAX_IMAGE_PIXEL
+ label: "MAX_IMAGE_PIXEL"
+ schema:
+ type: int
+ default: 1024
+ - variable: IMAGE_COMPRESS_RATIO
+ label: "IMAGE_COMPRESS_RATIO"
+ schema:
+ type: int
+ default: 80
+ - variable: mailenabled
+ label: "Mail Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: MAIL_URL
+ label: "MAIL_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: MAIL_SERVICE_USER
+ label: "MAIL_SERVICE_USER"
+ schema:
+ type: string
+ default: ""
+ - variable: MAIL_SERVICE_PASSWORD
+ label: "MAIL_SERVICE_PASSWORD"
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: MAIL_SERVICE
+ label: "MAIL_SERVICE"
+ schema:
+ type: string
+ default: ""
+ - variable: notificationsenabled
+ label: "Notifications Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: BIGEVENTS_PATTERN
+ label: "BIGEVENTS_PATTERN"
+ schema:
+ type: string
+ default: "NONE"
+ - variable: NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE
+ label: "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE"
+ description: "Number of days after a notification is read before we remove it."
+ schema:
+ type: int
+ default: 90
+ - variable: EMAIL_NOTIFICATION_TIMEOUT
+ label: "EMAIL_NOTIFICATION_TIMEOUT"
+ schema:
+ type: int
+ default: 30000
+ - variable: NOTIFY_DUE_DAYS_BEFORE_AND_AFTER
+ label: "NOTIFY_DUE_DAYS_BEFORE_AND_AFTER"
+ description: "Notify due days, default is None, 2 days before and on the event day"
+ schema:
+ type: string
+ default: "2,0"
+ - variable: NOTIFY_DUE_AT_HOUR_OF_DAY
+ label: "NOTIFY_DUE_AT_HOUR_OF_DAY"
+ description: "Notify due at hour of day."
+ schema:
+ type: int
+ default: 8
+ - variable: personalizationenabled
+ label: "UX Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: RESULTS_PER_PAGE
+ label: "RESULTS_PER_PAGE"
+ schema:
+ type: int
+ default: 20
+ required: true
+ - variable: RICHER_CARD_COMMENT_EDITOR
+ label: "RICHER_CARD_COMMENT_EDITOR"
+ schema:
+ type: boolean
+ default: false
+ - variable: CARD_OPENED_WEBHOOK_ENABLED
+ label: "CARD_OPENED_WEBHOOK_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: PASSWORD_LOGIN_ENABLED
+ label: "PASSWORD_LOGIN_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: WAIT_SPINNER
+ label: "WAIT_SPINNER"
+ description: "Sets the Wait Spinner animation"
+ schema:
+ type: string
+ default: "Bounce"
+ enum:
+ - value: "Bounce"
+ description: "Bounce"
+ - value: "Cube"
+ description: "Cube"
+ - value: "Cube-Grid"
+ description: "Cube-Grid"
+ - value: "Dot"
+ description: "Dot"
+ - value: "Double-Bounce"
+ description: "Double-Bounce"
+ - value: "Rotateplane"
+ description: "Rotateplane"
+ - value: "Scaleout"
+ description: "Scaleout"
+ - value: "Wave"
+ description: "Wave"
+ - variable: backendenabled
+ label: "Backend Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: WITH_API
+ label: "WITH_API"
+ schema:
+ type: boolean
+ default: true
+ - variable: WEBHOOKS_ATTRIBUTES
+ label: "WEBHOOKS_ATTRIBUTES"
+ description: "What to send to Outgoing Webhook."
+ schema:
+ type: string
+ default: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue"
+ - variable: corsenabled
+ label: "CORS Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: CORS
+ label: "CORS"
+ schema:
+ type: string
+ default: "*"
+ - variable: CORS_ALLOW_HEADERS
+ label: "CORS_ALLOW_HEADERS"
+ schema:
+ type: string
+ default: "Authorization,Content-Type"
+ - variable: CORS_EXPOSE_HEADERS
+ label: "CORS_EXPOSE_HEADERS"
+ schema:
+ type: string
+ default: "*"
+ - variable: matomoenabled
+ label: "Matomo Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: MATOMO_ADDRESS
+ label: "MATOMO_ADDRESS"
+ description: "The address of the server where Matomo is hosted."
+ schema:
+ type: string
+ default: ""
+ - variable: MATOMO_SITE_ID
+ label: "MATOMO_SITE_ID"
+ description: "The value of the site ID given in Matomo server for Wekan."
+ schema:
+ type: int
+ default: 1
+ - variable: MATOMO_DO_NOT_TRACK
+ label: "MATOMO_DO_NOT_TRACK"
+ description: "The option do not track which enables users to not be tracked by matomo."
+ schema:
+ type: boolean
+ default: true
+ - variable: MATOMO_WITH_USERNAME
+ label: "MATOMO_WITH_USERNAME"
+ description: "The option that allows matomo to retrieve the username."
+ schema:
+ type: boolean
+ default: true
+ - variable: ORACLE_OIM_ENABLED
+ label: "ORACLE_OIM_ENABLED"
+ description: "OAUTH2 ORACLE on premise identity manager OIM"
+ schema:
+ type: boolean
+ default: false
+ - variable: oatuhncenabled
+ label: "OAUTH2 Nextcloud Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: OAUTH2_ENABLED
+ label: "OAUTH2_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: OAUTH2_LOGIN_STYLE
+ label: "OAUTH2_LOGIN_STYLE"
+ description: "OAuth2 login style: popup or redirect."
+ schema:
+ type: string
+ default: "redirect"
+ enum:
+ - value: "redirect"
+ description: "redirect"
+ - value: "popup"
+ description: "popup"
+ - variable: OAUTH2_CLIENT_ID
+ label: "OAUTH2_CLIENT_ID"
+ description: "Application GUID captured during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SECRET
+ label: "OAUTH2_SECRET"
+ description: "Secret key generated during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SERVER_URL
+ label: "OAUTH2_SERVER_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_AUTH_ENDPOINT
+ label: "OAUTH2_AUTH_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERINFO_ENDPOINT
+ label: "OAUTH2_USERINFO_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_TOKEN_ENDPOINT
+ label: "OAUTH2_TOKEN_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_ID_MAP
+ label: "OAUTH2_ID_MAP"
+ description: "The claim name you want to map to the unique ID field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERNAME_MAP
+ label: "OAUTH2_USERNAME_MAP"
+ description: "The claim name you want to map to the username field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_FULLNAME_MAP
+ label: "OAUTH2_FULLNAME_MAP"
+ description: "The claim name you want to map to the full name field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_EMAIL_MAP
+ label: "OAUTH2_EMAIL_MAP"
+ description: "The claim name you want to map to the email field."
+ schema:
+ type: string
+ default: ""
+ - variable: oatuhkeycloackenabled
+ label: "OAUTH2 Keycloack Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: OAUTH2_ENABLED
+ label: "OAUTH2_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: OAUTH2_LOGIN_STYLE
+ label: "OAUTH2_LOGIN_STYLE"
+ description: "OAuth2 login style: popup or redirect."
+ schema:
+ type: string
+ default: "redirect"
+ enum:
+ - value: "redirect"
+ description: "redirect"
+ - value: "popup"
+ description: "popup"
+ - variable: OAUTH2_CLIENT_ID
+ label: "OAUTH2_CLIENT_ID"
+ description: "Application GUID captured during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SECRET
+ label: "OAUTH2_SECRET"
+ description: "Secret key generated during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SERVER_URL
+ label: "OAUTH2_SERVER_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_AUTH_ENDPOINT
+ label: "OAUTH2_AUTH_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERINFO_ENDPOINT
+ label: "OAUTH2_USERINFO_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_TOKEN_ENDPOINT
+ label: "OAUTH2_TOKEN_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: oatuhdoorkeeperenabled
+ label: "OAUTH2 Doorkeeper Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: OAUTH2_ENABLED
+ label: "OAUTH2_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: OAUTH2_LOGIN_STYLE
+ label: "OAUTH2_LOGIN_STYLE"
+ description: "OAuth2 login style: popup or redirect."
+ schema:
+ type: string
+ default: "redirect"
+ enum:
+ - value: "redirect"
+ description: "redirect"
+ - value: "popup"
+ description: "popup"
+ - variable: OAUTH2_CLIENT_ID
+ label: "OAUTH2_CLIENT_ID"
+ description: "Application GUID captured during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SECRET
+ label: "OAUTH2_SECRET"
+ description: "Secret key generated during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SERVER_URL
+ label: "OAUTH2_SERVER_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_AUTH_ENDPOINT
+ label: "OAUTH2_AUTH_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERINFO_ENDPOINT
+ label: "OAUTH2_USERINFO_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_TOKEN_ENDPOINT
+ label: "OAUTH2_TOKEN_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_ID_TOKEN_WHITELIST_FIELDS
+ label: "OAUTH2_ID_TOKEN_WHITELIST_FIELDS"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_REQUEST_PERMISSIONS
+ label: "OAUTH2_REQUEST_PERMISSIONS"
+ description: "The claim name you want to map to the unique ID field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_ID_MAP
+ label: "OAUTH2_ID_MAP"
+ description: "The claim name you want to map to the unique ID field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERNAME_MAP
+ label: "OAUTH2_USERNAME_MAP"
+ description: "The claim name you want to map to the username field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_FULLNAME_MAP
+ label: "OAUTH2_FULLNAME_MAP"
+ description: "The claim name you want to map to the full name field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_EMAIL_MAP
+ label: "OAUTH2_EMAIL_MAP"
+ description: "The claim name you want to map to the email field."
+ schema:
+ type: string
+ default: ""
+ - variable: oatuhazureenabled
+ label: "OAUTH2 Azure Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: OAUTH2_ENABLED
+ label: "OAUTH2_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: OAUTH2_CA_CERT
+ label: "OAUTH2_CA_CERT"
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: OAUTH2_ADFS_ENABLED
+ label: "OAUTH2_ADFS_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: OAUTH2_LOGIN_STYLE
+ label: "OAUTH2_LOGIN_STYLE"
+ description: "OAuth2 login style: popup or redirect."
+ schema:
+ type: string
+ default: "redirect"
+ enum:
+ - value: "redirect"
+ description: "redirect"
+ - value: "popup"
+ description: "popup"
+ - variable: OAUTH2_CLIENT_ID
+ label: "OAUTH2_CLIENT_ID"
+ description: "Application GUID captured during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SECRET
+ label: "OAUTH2_SECRET"
+ description: "Secret key generated during app registration"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_SERVER_URL
+ label: "OAUTH2_SERVER_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_AUTH_ENDPOINT
+ label: "OAUTH2_AUTH_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERINFO_ENDPOINT
+ label: "OAUTH2_USERINFO_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_TOKEN_ENDPOINT
+ label: "OAUTH2_TOKEN_ENDPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_ID_MAP
+ label: "OAUTH2_ID_MAP"
+ description: "The claim name you want to map to the unique ID field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_USERNAME_MAP
+ label: "OAUTH2_USERNAME_MAP"
+ description: "The claim name you want to map to the username field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_FULLNAME_MAP
+ label: "OAUTH2_FULLNAME_MAP"
+ description: "The claim name you want to map to the full name field."
+ schema:
+ type: string
+ default: ""
+ - variable: OAUTH2_EMAIL_MAP
+ label: "OAUTH2_EMAIL_MAP"
+ description: "The claim name you want to map to the email field."
+ schema:
+ type: string
+ default: ""
+ - variable: ldapenabled
+ label: "LDAP Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: LDAP_ENABLE
+ label: "LDAP_ENABLE"
+ schema:
+ type: boolean
+ default: false
+ - variable: DEFAULT_AUTHENTICATION_METHOD
+ label: "DEFAULT_AUTHENTICATION_METHOD"
+ schema:
+ type: string
+ default: "ldap"
+ - variable: LDAP_PORT
+ label: "LDAP_PORT"
+ schema:
+ type: int
+ default: 389
+ - variable: LDAP_HOST
+ label: "LDAP_HOST"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_AD_SIMPLE_AUTH
+ label: "LDAP_AD_SIMPLE_AUTH"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_USER_AUTHENTICATION
+ label: "LDAP_USER_AUTHENTICATION"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_USER_AUTHENTICATION_FIELD
+ label: "LDAP_USER_AUTHENTICATION_FIELD"
+ schema:
+ type: string
+ default: "uid"
+ - variable: LDAP_DEFAULT_DOMAIN
+ label: "LDAP_DEFAULT_DOMAIN"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_BASEDN
+ label: "LDAP_BASEDN"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_LOGIN_FALLBACK
+ label: "LDAP_LOGIN_FALLBACK"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_RECONNECT
+ label: "LDAP_RECONNECT"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_TIMEOUT
+ label: "LDAP_TIMEOUT"
+ schema:
+ type: int
+ default: 10000
+ - variable: LDAP_IDLE_TIMEOUT
+ label: "LDAP_IDLE_TIMEOUT"
+ schema:
+ type: int
+ default: 10000
+ - variable: LDAP_CONNECT_TIMEOUT
+ label: "LDAP_CONNECT_TIMEOUT"
+ schema:
+ type: int
+ default: 10000
+ - variable: LDAP_AUTHENTIFICATION
+ label: "LDAP_AUTHENTIFICATION"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_AUTHENTIFICATION_USERDN
+ label: "LDAP_AUTHENTIFICATION_USERDN"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_AUTHENTIFICATION_PASSWORD
+ label: "LDAP_AUTHENTIFICATION_PASSWORD"
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: LDAP_LOG_ENABLED
+ label: "LDAP_LOG_ENABLED"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_BACKGROUND_SYNC
+ label: "LDAP_BACKGROUND_SYNC"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_BACKGROUND_SYNC_INTERVAL
+ label: "LDAP_BACKGROUND_SYNC_INTERVAL"
+ schema:
+ type: string
+ default: "every 1 hour"
+ - variable: LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED
+ label: "LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS
+ label: "LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_ENCRYPTION
+ label: "LDAP_ENCRYPTION"
+ schema:
+ type: string
+ default: "false"
+ - variable: LDAP_CA_CERT
+ label: "LDAP_CA_CERT"
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: LDAP_REJECT_UNAUTHORIZED
+ label: "LDAP_REJECT_UNAUTHORIZED"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_USER_SEARCH_FILTER
+ label: "LDAP_USER_SEARCH_FILTER"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_USER_SEARCH_SCOPE
+ label: "LDAP_USER_SEARCH_SCOPE"
+ schema:
+ type: string
+ default: "one"
+ enum:
+ - value: "one"
+ description: "one"
+ - value: "base"
+ description: "base"
+ - value: "sub"
+ description: "sub"
+ - variable: LDAP_USER_SEARCH_FIELD
+ label: "LDAP_USER_SEARCH_FIELD"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_SEARCH_PAGE_SIZE
+ label: "LDAP_SEARCH_PAGE_SIZE"
+ schema:
+ type: int
+ default: 0
+ - variable: LDAP_SEARCH_SIZE_LIMIT
+ label: "LDAP_SEARCH_SIZE_LIMIT"
+ schema:
+ type: int
+ default: 0
+ - variable: LDAP_GROUP_FILTER_ENABLE
+ label: "LDAP_GROUP_FILTER_ENABLE"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_GROUP_FILTER_OBJECTCLASS
+ label: "LDAP_GROUP_FILTER_OBJECTCLASS"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE
+ label: "LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE
+ label: "LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT
+ label: "LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_GROUP_FILTER_GROUP_NAME
+ label: "LDAP_GROUP_FILTER_GROUP_NAME"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_UNIQUE_IDENTIFIER_FIELD
+ label: "LDAP_UNIQUE_IDENTIFIER_FIELD"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_UTF8_NAMES_SLUGIFY
+ label: "LDAP_UTF8_NAMES_SLUGIFY"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_USERNAME_FIELD
+ label: "LDAP_USERNAME_FIELD"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_FULLNAME_FIELD
+ label: "LDAP_FULLNAME_FIELD"
+ schema:
+ type: string
+ default: "fullname"
+ - variable: LDAP_MERGE_EXISTING_USERS
+ label: "LDAP_MERGE_EXISTING_USERS"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_EMAIL_MATCH_ENABLE
+ label: "LDAP_EMAIL_MATCH_ENABLE"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_EMAIL_MATCH_REQUIRE
+ label: "LDAP_EMAIL_MATCH_REQUIRE"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_EMAIL_MATCH_VERIFIED
+ label: "LDAP_EMAIL_MATCH_VERIFIED"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_EMAIL_FIELD
+ label: "LDAP_EMAIL_FIELD"
+ schema:
+ type: string
+ default: "mail"
+ - variable: LDAP_SYNC_USER_DATA
+ label: "LDAP_SYNC_USER_DATA"
+ schema:
+ type: boolean
+ default: false
+ - variable: LDAP_SYNC_USER_DATA_FIELDMAP
+ label: "LDAP_SYNC_USER_DATA_FIELDMAP"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_SYNC_GROUP_ROLES
+ label: "LDAP_SYNC_GROUP_ROLES"
+ schema:
+ type: string
+ default: ""
+ - variable: LDAP_SYNC_ADMIN_STATUS
+ label: "LDAP_SYNC_ADMIN_STATUS"
+ schema:
+ type: boolean
+ default: true
+ - variable: LDAP_SYNC_ADMIN_GROUPS
+ label: "LDAP_SYNC_ADMIN_GROUPS"
+ schema:
+ type: string
+ default: ""
+ - variable: headerenabled
+ label: "LDAP Header Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: HEADER_LOGIN_ID
+ label: "HEADER_LOGIN_ID"
+ schema:
+ type: string
+ default: ""
+ - variable: HEADER_LOGIN_FIRSTNAME
+ label: "HEADER_LOGIN_FIRSTNAME"
+ schema:
+ type: string
+ default: ""
+ - variable: HEADER_LOGIN_LASTNAME
+ label: "HEADER_LOGIN_LASTNAME"
+ schema:
+ type: string
+ default: ""
+ - variable: HEADER_LOGIN_EMAIL
+ label: "HEADER_LOGIN_EMAIL"
+ schema:
+ type: string
+ default: ""
+ - variable: casenabled
+ label: "CAS Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: CAS_ENABLED
+ label: "CAS_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: CAS_BASE_URL
+ label: "CAS_BASE_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: CAS_LOGIN_URL
+ label: "CAS_LOGIN_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: CAS_VALIDATE_URL
+ label: "CAS_VALIDATE_URL"
+ schema:
+ type: string
+ default: ""
+ - variable: samlenabled
+ label: "SAML Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: SAML_ENABLED
+ label: "SAML_ENABLED"
+ schema:
+ type: boolean
+ default: false
+ - variable: SAML_PROVIDER
+ label: "SAML_PROVIDER"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_ENTRYPOINT
+ label: "SAML_ENTRYPOINT"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_ISSUER
+ label: "SAML_ISSUER"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_CERT
+ label: "SAML_CERT"
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: SAML_IDPSLO_REDIRECTURL
+ label: "SAML_IDPSLO_REDIRECTURL"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_PRIVATE_KEYFILE
+ label: "SAML_PRIVATE_KEYFILE"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_PUBLIC_CERTFILE
+ label: "SAML_PUBLIC_CERTFILE"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_IDENTIFIER_FORMAT
+ label: "SAML_IDENTIFIER_FORMAT"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE
+ label: "SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE"
+ schema:
+ type: string
+ default: ""
+ - variable: SAML_ATTRIBUTES
+ label: "SAML_ATTRIBUTES"
+ schema:
+ type: string
+ default: ""
+ - variable: envList
+ label: Extra Environment Variables
+ description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
+ 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: extraArgs
+ label: Extra Args
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: Arg
+ schema:
+ type: string
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: command
+ label: Command
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: param
+ label: Param
+ schema:
+ type: string
+ - variable: TZ
+ label: Timezone
+ group: "General Settings"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+ - variable: podOptions
+ group: "General Settings"
+ label: "Global Pod Options (Advanced)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: expertPodOpts
+ label: "Expert - Pod Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ label: "Host Networking"
+ schema:
+ type: boolean
+ default: false
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: options
+ label: "Options"
+ schema:
+ type: list
+ default: [{"name": "ndots", "value": "1"}]
+ items:
+ - variable: optionsEntry
+ label: "Option Entry"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: nsEntry
+ label: "Nameserver Entry"
+ schema:
+ type: string
+ required: true
+ - variable: searches
+ label: "Searches"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: searchEntry
+ label: "Search Entry"
+ schema:
+ type: string
+ required: true
+ - 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - 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: 10192
+ required: true
+ - variable: serviceexpert
+ group: Networking and Services
+ label: Show Expert Config
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: scaleExternalInterface
+ description: Add External Interfaces
+ label: Add external Interfaces
+ group: Networking
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: Interface Configuration
+ label: Interface Configuration
+ schema:
+ additional_attrs: true
+ 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:
+ additional_attrs: true
+ 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
+ - variable: staticIPConfigurations
+ label: Static IP Addresses
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ items:
+ - variable: staticIP
+ label: Static IP
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: Static Routes
+ schema:
+ type: list
+ show_if: [["type", "=", "static"]]
+ 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: 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 and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: LoadBalancer
+ description: LoadBalancer (Expose Ports)
+ - value: ClusterIP
+ description: ClusterIP (Do Not Expose Ports)
+ - value: Simple
+ description: Deprecated CHANGE THIS
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: advancedsvcset
+ label: Show Advanced Service Settings
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: External IP
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: IP Family Policy
+ description: Specify the IP Policy
+ schema:
+ type: string
+ default: SingleStack
+ enum:
+ - value: SingleStack
+ description: SingleStack
+ - value: PreferDualStack
+ description: PreferDualStack
+ - value: RequireDualStack
+ description: RequireDualStack
+ - variable: ipFamilies
+ label: IP Families
+ description: (Advanced) The IP Families that should be used
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: IP Family
+ 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: persistence
+ label: Integrated Persistent Storage
+ description: Integrated Persistent Storage
+ group: Storage and Persistence
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: data
+ label: "App Data Storage"
+ description: "Stores the Application Data."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: pvc
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - 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: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - 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 (Do NOT REDUCE after installation)
+ description: This value can ONLY be INCREASED after the installation
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+ - 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: type
+ label: Type of Storage
+ description: Sets the persistence type, Anything other than PVC could break rollback!
+ schema:
+ type: string
+ default: hostPath
+ enum:
+ - value: pvc
+ description: PVC
+ - value: hostPath
+ description: Host Path
+ - value: emptyDir
+ description: emptyDir
+ - 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: autoPermissions
+ label: Automatic Permissions Configuration
+ description: Automatically set permissions
+ schema:
+ show_if: [["type", "!=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: enabled
+ label: enabled
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: chown
+ label: Run CHOWN
+ description: |
+ It will run CHOWN on the path with the given fsGroup
+ schema:
+ type: boolean
+ default: false
+ - variable: chmod
+ label: Run CHMOD
+ description: |
+ It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770
+ schema:
+ type: string
+ valid_chars: '[0-9]{3}'
+ default: ""
+ - variable: recursive
+ label: Recursive
+ description: |
+ It will run CHOWN and CHMOD recursively
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnly
+ label: Read Only
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Path
+ description: Path inside the container the storage is mounted
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: Mount Path
+ 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: 256Gi
+ - variable: storageClass
+ label: 'storageClass (Advanced)'
+ description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: ""
+ - variable: static
+ label: 'Static Fixed PVC Bindings (Experimental)'
+ description: Link a PVC to a specific storage location
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: mode
+ label: mode
+ description: |
+ disabled: use normal dynamic PVCs
+ smb: connect to an SMB share
+ nfs: connect to an NFS share
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: disabled
+ - value: smb
+ description: smb
+ - value: nfs
+ description: nfs
+ - variable: server
+ label: Server
+ description: server to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "myserver"
+ - variable: share
+ label: Share
+ description: share to connect to
+ schema:
+ type: string
+ show_if: [["mode", "!=", "disabled"]]
+ default: "/myshare"
+ - variable: user
+ label: User
+ description: connecting user
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: "myuser"
+ - variable: domain
+ label: Domain
+ description: user domain
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: password
+ label: Password
+ description: connecting password
+ schema:
+ type: string
+ show_if: [["mode", "=", "smb"]]
+ default: ""
+ - variable: volumeSnapshots
+ label: 'Volume Snapshots (Experimental)'
+ description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: list
+ default: []
+ items:
+ - variable: volumeSnapshotEntry
+ label: Custom volumeSnapshot
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
+ schema:
+ type: string
+ default: "mysnapshot"
+ required: true
+ - variable: volumeSnapshotClassName
+ label: 'volumeSnapshot Class Name (Advanced)'
+ description: For use with PVCs using a non-default storageClass
+ schema:
+ type: string
+ default: ""
+ - 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: [{path: "/", pathType: "Prefix"}]
+ 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: Path Type
+ schema:
+ type: string
+ required: true
+ default: Prefix
+ - variable: certificateIssuer
+ label: Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
+ schema:
+ type: string
+ default: ""
+ - 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: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ - variable: entrypoint
+ label: (Advanced) Traefik Entrypoint
+ description: Entrypoint used by Traefik when using Traefik as Ingress Provider
+ schema:
+ type: string
+ default: websecure
+ show_if: [["advanced", "=", true]]
+ required: true
+ - variable: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ show_if: [["advanced", "=", true]]
+ default: false
+ - variable: ingressClassName
+ label: (Advanced/Optional) IngressClass Name
+ schema:
+ type: string
+ show_if: [["advanced", "=", true]]
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ show_if: [["advanced", "=", true]]
+ 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: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: 'Use Custom Certificate Secret (Advanced)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: 'Use TrueNAS SCALE Certificate (Deprecated)'
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - 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: allowCors
+ label: "Allow Cross Origin Requests"
+ schema:
+ type: boolean
+ show_if: [["advanced", "=", true]]
+ default: false
+ - 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: Path Type
+ 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: certificateIssuer
+ label: certificateIssuer
+ description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below'
+ schema:
+ type: string
+ default: ""
+ - variable: tls
+ label: TLS-Settings
+ schema:
+ type: list
+ default: []
+ show_if: [["certificateIssuer", "=", ""]]
+ 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: certificateIssuer
+ label: Use Cert-Manager clusterIssuer
+ description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
+ schema:
+ type: string
+ default: ""
+ - variable: scaleCert
+ label: Use TrueNAS SCALE Certificate (Deprecated)
+ schema:
+ show_if: [["certificateIssuer", "=", ""]]
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: clusterCertificate
+ label: 'Cluster Certificate (Advanced)'
+ description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: secretName
+ label: Use Custom Secret (Advanced)
+ schema:
+ type: string
+ show_if: [["certificateIssuer", "=", ""]]
+ default: ""
+ - variable: entrypoint
+ label: Traefik Entrypoint
+ description: Entrypoint used by Traefik when using Traefik as Ingress Provider
+ schema:
+ type: string
+ default: websecure
+ required: true
+ - variable: middlewares
+ label: Traefik Middlewares
+ description: Add previously created Traefik Middlewares to this Ingress
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: securityContext
+ group: Security and Permissions
+ label: Security Context
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: container
+ label: Container
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Settings from questions.yaml get appended here on a per-app basis
+
+ - 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 of the user running the application"
+ schema:
+ type: int
+ default: 568
+ # Settings from questions.yaml get appended here on a per-app basis
+ - 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
+ show_if: [["runAsUser", "=", 0]]
+ default: 568
+ - variable: UMASK
+ label: UMASK
+ description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
+ schema:
+ type: string
+ default: "0022"
+ - variable: advanced
+ label: Show Advanced Settings
+ description: Advanced settings are not covered by TrueCharts Support
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+ - variable: pod
+ label: Pod
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - 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
+ # Settings from questions.yaml get appended here on a per-app basis
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+
+ - variable: resources
+ group: Resources and Devices
+ label: "Resource Limits"
+ 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/SCALE/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/SCALE/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
+ hidden: true
+ attrs:
+ - variable: cpu
+ label: CPU
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
+ schema:
+ type: string
+ default: 10m
+ hidden: true
+ 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/SCALE/validation"
+ schema:
+ type: string
+ default: 50Mi
+ hidden: true
+ 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: device
+ hidden: true
+ - variable: readOnly
+ label: readOnly
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: Host Device Path
+ description: Path to the device on the host system
+ schema:
+ type: path
+ - variable: mountPath
+ label: Container Device Path
+ description: Path inside the container the device is mounted
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+ - variable: scaleGPU
+ label: GPU Configuration
+ group: Resources and Devices
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: scaleGPUEntry
+ label: GPU
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ # Specify GPU configuration
+ - variable: gpu
+ label: Select GPU
+ schema:
+ additional_attrs: true
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+ - variable: workaround
+ label: "Workaround"
+ schema:
+ type: string
+ default: workaround
+ hidden: true
+# - variable: horizontalPodAutoscaler
+# group: Advanced
+# label: (Advanced) Horizontal Pod Autoscaler
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: hpaEntry
+# label: HPA Entry
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: name
+# label: Name
+# schema:
+# type: string
+# required: true
+# default: ""
+# - 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:
+ type: list
+ default: []
+ items:
+ - variable: netPolicyEntry
+ label: Network Policy Entry
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: Name
+ schema:
+ type: string
+ required: true
+ default: ""
+ - 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: IP Block
+ 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: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ 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: Match Expressions
+ 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: End 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: IP Block
+ 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: Namespace Selector
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: matchExpressions
+ label: Match Expressions
+ 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: Match Expressions
+ 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: End 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: 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: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: Service Type
+ description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: LoadBalancer
+ enum:
+ - value: NodePort
+ description: Deprecated CHANGE THIS
+ - value: ClusterIP
+ description: ClusterIP
+ - value: LoadBalancer
+ description: LoadBalancer
+ - variable: loadBalancerIP
+ label: LoadBalancer IP
+ description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: Port
+ 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: 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
+ - 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: gluetun
+ description: Gluetun
+ - value: tailscale
+ description: Tailscale
+ - value: openvpn
+ description: OpenVPN (Deprecated)
+ - value: wireguard
+ description: Wireguard (Deprecated)
+ - variable: openvpn
+ label: OpenVPN Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: Authentication Username (Optional)
+ description: Authentication Username, Optional
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: Authentication Password
+ description: Authentication Credentials
+ schema:
+ type: string
+ show_if: [["username", "!=", ""]]
+ default: ""
+ required: true
+ - variable: tailscale
+ label: Tailscale Settings
+ schema:
+ additional_attrs: true
+ type: dict
+ show_if: [["type", "=", "tailscale"]]
+ attrs:
+ - variable: authkey
+ label: Authentication Key
+ description: Provide an auth key to automatically authenticate the node as your user account.
+ schema:
+ type: string
+ private: true
+ default: ""
+ - variable: auth_once
+ label: Auth Once
+ description: Only attempt to log in if not already logged in.
+ schema:
+ type: boolean
+ default: true
+ - variable: accept_dns
+ label: Accept DNS
+ description: Accept DNS configuration from the admin console.
+ schema:
+ type: boolean
+ default: false
+ - variable: userspace
+ label: Userspace
+ description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
+ schema:
+ type: boolean
+ default: false
+ - variable: routes
+ label: Routes
+ description: Expose physical subnet routes to your entire Tailscale network.
+ schema:
+ type: string
+ default: ""
+ - variable: dest_ip
+ label: Destination IP
+ description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
+ schema:
+ type: string
+ default: ""
+ - variable: sock5_server
+ label: Sock5 Server
+ description: The address on which to listen for SOCKS5 proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: outbound_http_proxy_listen
+ label: Outbound HTTP Proxy Listen
+ description: The address on which to listen for HTTP proxying into the tailscale net.
+ schema:
+ type: string
+ default: ""
+ - variable: extra_args
+ label: Extra Args
+ description: Extra Args
+ schema:
+ type: string
+ default: ""
+ - variable: daemon_extra_args
+ label: Tailscale Daemon Extra Args
+ description: Tailscale Daemon Extra Args
+ schema:
+ type: string
+ default: ""
+ - 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 IPv6 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: string
+ show_if: [["type", "!=", "disabled"]]
+ default: ""
+
+ - 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
+ max_length: 10240
+ - variable: docs
+ group: Documentation
+ label: Please read the documentation at https://truecharts.org
+ description: Please read the documentation at
+
https://truecharts.org
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDocs
+ label: I have checked the documentation
+ schema:
+ type: boolean
+ default: true
+ - variable: donateNag
+ group: Documentation
+ label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
+ description: Please consider supporting TrueCharts, see
+
https://truecharts.org/sponsor
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: confirmDonate
+ label: I have considered donating
+ schema:
+ type: boolean
+ default: true
+ hidden: true
diff --git a/stable/wekan/10.1.0/templates/NOTES.txt b/stable/wekan/10.1.0/templates/NOTES.txt
new file mode 100644
index 00000000000..efcb74cb772
--- /dev/null
+++ b/stable/wekan/10.1.0/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "tc.v1.common.lib.chart.notes" $ -}}
diff --git a/stable/wekan/10.1.0/templates/common.yaml b/stable/wekan/10.1.0/templates/common.yaml
new file mode 100644
index 00000000000..b51394e00a4
--- /dev/null
+++ b/stable/wekan/10.1.0/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "tc.v1.common.loader.all" . }}
diff --git a/stable/wekan/10.1.0/values.yaml b/stable/wekan/10.1.0/values.yaml
new file mode 100644
index 00000000000..e69de29bb2d