diff --git a/dependency/mariadb/3.0.41/CHANGELOG.md b/dependency/mariadb/3.0.42/CHANGELOG.md
similarity index 90%
rename from dependency/mariadb/3.0.41/CHANGELOG.md
rename to dependency/mariadb/3.0.42/CHANGELOG.md
index a204937177..200a380188 100644
--- a/dependency/mariadb/3.0.41/CHANGELOG.md
+++ b/dependency/mariadb/3.0.42/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [mariadb-3.0.42](https://github.com/truecharts/apps/compare/mariadb-3.0.41...mariadb-3.0.42) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
## [mariadb-3.0.41](https://github.com/truecharts/apps/compare/mariadb-3.0.40...mariadb-3.0.41) (2022-07-22)
### Chore
@@ -88,12 +97,3 @@
- regenerate catalog and update template
-
-
-## [memcached-3.0.35](https://github.com/truecharts/apps/compare/memcached-3.0.33...memcached-3.0.35) (2022-07-14)
-
-### Fix
-
-- bump to ensure .helmignore is present on all Charts
-
-
diff --git a/dependency/memcached/3.0.42/Chart.lock b/dependency/mariadb/3.0.42/Chart.lock
similarity index 80%
rename from dependency/memcached/3.0.42/Chart.lock
rename to dependency/mariadb/3.0.42/Chart.lock
index 4be74f982d..4796acfade 100644
--- a/dependency/memcached/3.0.42/Chart.lock
+++ b/dependency/mariadb/3.0.42/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.6
digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:05:34.537647685Z"
+generated: "2022-07-23T11:58:38.010705589Z"
diff --git a/dependency/mariadb/3.0.41/Chart.yaml b/dependency/mariadb/3.0.42/Chart.yaml
similarity index 98%
rename from dependency/mariadb/3.0.41/Chart.yaml
rename to dependency/mariadb/3.0.42/Chart.yaml
index a06cbdff24..5a3d63ecd8 100644
--- a/dependency/mariadb/3.0.41/Chart.yaml
+++ b/dependency/mariadb/3.0.42/Chart.yaml
@@ -24,7 +24,7 @@ sources:
- https://github.com/prometheus/mysqld_exporter
- https://mariadb.org
type: application
-version: 3.0.41
+version: 3.0.42
annotations:
truecharts.org/catagories: |
- database
diff --git a/dependency/mariadb/3.0.41/README.md b/dependency/mariadb/3.0.42/README.md
similarity index 98%
rename from dependency/mariadb/3.0.41/README.md
rename to dependency/mariadb/3.0.42/README.md
index 454947796f..1d02f2d955 100644
--- a/dependency/mariadb/3.0.41/README.md
+++ b/dependency/mariadb/3.0.42/README.md
@@ -1,6 +1,6 @@
# mariadb
-  
+  
Fast, reliable, scalable, and easy to use open-source relational database system.
diff --git a/dependency/mariadb/3.0.41/app-readme.md b/dependency/mariadb/3.0.42/app-readme.md
similarity index 100%
rename from dependency/mariadb/3.0.41/app-readme.md
rename to dependency/mariadb/3.0.42/app-readme.md
diff --git a/dependency/mariadb/3.0.41/charts/common-10.4.6.tgz b/dependency/mariadb/3.0.42/charts/common-10.4.6.tgz
similarity index 100%
rename from dependency/mariadb/3.0.41/charts/common-10.4.6.tgz
rename to dependency/mariadb/3.0.42/charts/common-10.4.6.tgz
diff --git a/dependency/mariadb/3.0.41/ix_values.yaml b/dependency/mariadb/3.0.42/ix_values.yaml
similarity index 97%
rename from dependency/mariadb/3.0.41/ix_values.yaml
rename to dependency/mariadb/3.0.42/ix_values.yaml
index a19c3b7df7..51e54d286c 100644
--- a/dependency/mariadb/3.0.41/ix_values.yaml
+++ b/dependency/mariadb/3.0.42/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/mariadb
pullPolicy: IfNotPresent
- tag: v10.8.3@sha256:ebb58d2e01448bef261ff6af2ff8a9f1642b1c3aa220fc730d26df697bbed79f
+ tag: v10.8.3@sha256:f29871317a5c327b0df45dc886acdfd641c12cb28a973a3e20cb331d47a330b1
controller:
# -- Set the controller type.
diff --git a/dependency/mariadb/3.0.41/questions.yaml b/dependency/mariadb/3.0.42/questions.yaml
similarity index 100%
rename from dependency/mariadb/3.0.41/questions.yaml
rename to dependency/mariadb/3.0.42/questions.yaml
diff --git a/dependency/mariadb/3.0.41/templates/common.yaml b/dependency/mariadb/3.0.42/templates/common.yaml
similarity index 100%
rename from dependency/mariadb/3.0.41/templates/common.yaml
rename to dependency/mariadb/3.0.42/templates/common.yaml
diff --git a/dependency/mariadb/3.0.41/values.yaml b/dependency/mariadb/3.0.42/values.yaml
similarity index 100%
rename from dependency/mariadb/3.0.41/values.yaml
rename to dependency/mariadb/3.0.42/values.yaml
diff --git a/dependency/memcached/3.0.42/CHANGELOG.md b/dependency/memcached/3.0.42/CHANGELOG.md
deleted file mode 100644
index 4fc7a11103..0000000000
--- a/dependency/memcached/3.0.42/CHANGELOG.md
+++ /dev/null
@@ -1,99 +0,0 @@
-# Changelog
-
-
-
-## [memcached-3.0.42](https://github.com/truecharts/apps/compare/memcached-3.0.41...memcached-3.0.42) (2022-07-22)
-
-### Chore
-
-- Bump all charts to generate config and container references due to huge increase of repository
-
-
-
-## [memcached-3.0.41](https://github.com/truecharts/apps/compare/memcached-3.0.39...memcached-3.0.41) (2022-07-21)
-
-### Chore
-
-- Auto-update chart README [skip ci]
-- Auto-update chart README [skip ci]
-- Auto-update chart README [skip ci]
-- update docker general non-major ([#3239](https://github.com/truecharts/apps/issues/3239))
-- update helm chart common to v10.4.6
-
-### Feat
-
-- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
-
-
-
-## [memcached-3.0.41](https://github.com/truecharts/apps/compare/memcached-3.0.39...memcached-3.0.41) (2022-07-21)
-
-### Chore
-
-- Auto-update chart README [skip ci]
-- Auto-update chart README [skip ci]
-- update docker general non-major ([#3239](https://github.com/truecharts/apps/issues/3239))
-- update helm chart common to v10.4.6
-
-### Feat
-
-- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
-
-
-
-## [memcached-3.0.41](https://github.com/truecharts/apps/compare/memcached-3.0.39...memcached-3.0.41) (2022-07-21)
-
-### Chore
-
-- Auto-update chart README [skip ci]
-- update docker general non-major ([#3239](https://github.com/truecharts/apps/issues/3239))
-- update helm chart common to v10.4.6
-
-### Feat
-
-- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
-
-
-
-## [memcached-3.0.40](https://github.com/truecharts/apps/compare/memcached-3.0.39...memcached-3.0.40) (2022-07-20)
-
-### Chore
-
-- update helm chart common to v10.4.6
-
-### Feat
-
-- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
-
-
-
-## [memcached-3.0.39](https://github.com/truecharts/apps/compare/memcached-3.0.38...memcached-3.0.39) (2022-07-20)
-
-### Chore
-
-- update docker general non-major ([#3222](https://github.com/truecharts/apps/issues/3222))
-
-
-
-## [memcached-3.0.38](https://github.com/truecharts/apps/compare/memcached-3.0.37...memcached-3.0.38) (2022-07-19)
-
-### Chore
-
-- Update Readme and Description on SCALE
-
-
-
-## [memcached-3.0.37](https://github.com/truecharts/apps/compare/memcached-3.0.36...memcached-3.0.37) (2022-07-15)
-
-### Chore
-
-- update docker general non-major ([#3184](https://github.com/truecharts/apps/issues/3184))
-
-
-
-
-## [memcached-3.0.35](https://github.com/truecharts/apps/compare/memcached-3.0.33...memcached-3.0.35) (2022-07-14)
-
-### Fix
-
-- bump to ensure .helmignore is present on all Charts
diff --git a/dependency/memcached/3.0.43/CHANGELOG.md b/dependency/memcached/3.0.43/CHANGELOG.md
new file mode 100644
index 0000000000..54d8e76824
--- /dev/null
+++ b/dependency/memcached/3.0.43/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [postgresql-8.0.44](https://github.com/truecharts/apps/compare/postgresql-8.0.43...postgresql-8.0.44) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [postgresql-8.0.43](https://github.com/truecharts/apps/compare/postgresql-8.0.42...postgresql-8.0.43) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+
+
+
+## [postgresql-8.0.42](https://github.com/truecharts/apps/compare/postgresql-8.0.41...postgresql-8.0.42) (2022-07-22)
+
+### Chore
+
+- update docker general non-major ([#3258](https://github.com/truecharts/apps/issues/3258))
+
+
+
+## [postgresql-8.0.41](https://github.com/truecharts/apps/compare/postgresql-8.0.40...postgresql-8.0.41) (2022-07-21)
+
+### Chore
+
+- Auto-update chart README [skip ci]
+- Auto-update chart README [skip ci]
+- Auto-update chart README [skip ci]
+- update helm chart common to v10.4.6
+
+### Feat
+
+- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
+
+
+
+
+## [postgresql-8.0.41](https://github.com/truecharts/apps/compare/postgresql-8.0.40...postgresql-8.0.41) (2022-07-21)
+
+### Chore
+
+- Auto-update chart README [skip ci]
+- update helm chart common to v10.4.6
+
+### Feat
+
+- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
+
+
+
+## [postgresql-8.0.41](https://github.com/truecharts/apps/compare/postgresql-8.0.40...postgresql-8.0.41) (2022-07-20)
+
+### Chore
+
+- update helm chart common to v10.4.6
+
+### Feat
+
+- force the use of TCCR in CI ([#3226](https://github.com/truecharts/apps/issues/3226))
+
+
+
+## [postgresql-8.0.40](https://github.com/truecharts/apps/compare/postgresql-8.0.39...postgresql-8.0.40) (2022-07-20)
+
+### Chore
+
+- update docker general non-major ([#3222](https://github.com/truecharts/apps/issues/3222))
+
+
+
+## [postgresql-8.0.39](https://github.com/truecharts/apps/compare/postgresql-8.0.38...postgresql-8.0.39) (2022-07-19)
+
+### Chore
+
+- Update Readme and Description on SCALE
+
+
+
+## [postgresql-8.0.38](https://github.com/truecharts/apps/compare/postgresql-8.0.37...postgresql-8.0.38) (2022-07-17)
+
+### Chore
+
+- update docker general non-major ([#3198](https://github.com/truecharts/apps/issues/3198))
+
+
+
+## [postgresql-8.0.37](https://github.com/truecharts/apps/compare/postgresql-8.0.36...postgresql-8.0.37) (2022-07-14)
+
+### Fix
+
+- regenerate catalog and update template
diff --git a/dependency/mariadb/3.0.41/Chart.lock b/dependency/memcached/3.0.43/Chart.lock
similarity index 80%
rename from dependency/mariadb/3.0.41/Chart.lock
rename to dependency/memcached/3.0.43/Chart.lock
index 11ddff2d05..af6e679925 100644
--- a/dependency/mariadb/3.0.41/Chart.lock
+++ b/dependency/memcached/3.0.43/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.6
digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:05:34.485654827Z"
+generated: "2022-07-23T11:58:37.732412592Z"
diff --git a/dependency/memcached/3.0.42/Chart.yaml b/dependency/memcached/3.0.43/Chart.yaml
similarity index 98%
rename from dependency/memcached/3.0.42/Chart.yaml
rename to dependency/memcached/3.0.43/Chart.yaml
index 111572f990..0883631698 100644
--- a/dependency/memcached/3.0.42/Chart.yaml
+++ b/dependency/memcached/3.0.43/Chart.yaml
@@ -22,7 +22,7 @@ sources:
- https://github.com/bitnami/bitnami-docker-memcached
- http://memcached.org/
type: application
-version: 3.0.42
+version: 3.0.43
annotations:
truecharts.org/catagories: |
- database
diff --git a/dependency/memcached/3.0.42/README.md b/dependency/memcached/3.0.43/README.md
similarity index 98%
rename from dependency/memcached/3.0.42/README.md
rename to dependency/memcached/3.0.43/README.md
index 14b776391d..165cbdeb44 100644
--- a/dependency/memcached/3.0.42/README.md
+++ b/dependency/memcached/3.0.43/README.md
@@ -1,6 +1,6 @@
# memcached
-  
+  
Memcached is a memory-backed database caching solution
diff --git a/dependency/memcached/3.0.42/app-readme.md b/dependency/memcached/3.0.43/app-readme.md
similarity index 100%
rename from dependency/memcached/3.0.42/app-readme.md
rename to dependency/memcached/3.0.43/app-readme.md
diff --git a/dependency/memcached/3.0.42/charts/common-10.4.6.tgz b/dependency/memcached/3.0.43/charts/common-10.4.6.tgz
similarity index 100%
rename from dependency/memcached/3.0.42/charts/common-10.4.6.tgz
rename to dependency/memcached/3.0.43/charts/common-10.4.6.tgz
diff --git a/dependency/memcached/3.0.42/ix_values.yaml b/dependency/memcached/3.0.43/ix_values.yaml
similarity index 65%
rename from dependency/memcached/3.0.42/ix_values.yaml
rename to dependency/memcached/3.0.43/ix_values.yaml
index 7a8483a529..c7b77d6f68 100644
--- a/dependency/memcached/3.0.42/ix_values.yaml
+++ b/dependency/memcached/3.0.43/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/memcached
pullPolicy: IfNotPresent
- tag: v1.6.15@sha256:33973f411fb8647f8f086f8a4b7018f4a40ddd377a73c85972068aad632400f5
+ tag: v1.6.15@sha256:410d28ed37565ce4712b1f0e61c6367d0fbccfe22d908d810e87b082a15e41a6
service:
main:
diff --git a/dependency/memcached/3.0.42/questions.yaml b/dependency/memcached/3.0.43/questions.yaml
similarity index 100%
rename from dependency/memcached/3.0.42/questions.yaml
rename to dependency/memcached/3.0.43/questions.yaml
diff --git a/dependency/memcached/3.0.42/templates/common.yaml b/dependency/memcached/3.0.43/templates/common.yaml
similarity index 100%
rename from dependency/memcached/3.0.42/templates/common.yaml
rename to dependency/memcached/3.0.43/templates/common.yaml
diff --git a/dependency/memcached/3.0.42/values.yaml b/dependency/memcached/3.0.43/values.yaml
similarity index 100%
rename from dependency/memcached/3.0.42/values.yaml
rename to dependency/memcached/3.0.43/values.yaml
diff --git a/dependency/postgresql/8.0.43/CHANGELOG.md b/dependency/postgresql/8.0.44/CHANGELOG.md
similarity index 100%
rename from dependency/postgresql/8.0.43/CHANGELOG.md
rename to dependency/postgresql/8.0.44/CHANGELOG.md
index 8383476c34..77252477b3 100644
--- a/dependency/postgresql/8.0.43/CHANGELOG.md
+++ b/dependency/postgresql/8.0.44/CHANGELOG.md
@@ -2,6 +2,7 @@
+
## [postgresql-8.0.43](https://github.com/truecharts/apps/compare/postgresql-8.0.42...postgresql-8.0.43) (2022-07-22)
### Chore
@@ -96,4 +97,3 @@
### Fix
- bump to ensure .helmignore is present on all Charts
-
diff --git a/dependency/postgresql/8.0.43/Chart.lock b/dependency/postgresql/8.0.44/Chart.lock
similarity index 80%
rename from dependency/postgresql/8.0.43/Chart.lock
rename to dependency/postgresql/8.0.44/Chart.lock
index 3853931447..aca810cc23 100644
--- a/dependency/postgresql/8.0.43/Chart.lock
+++ b/dependency/postgresql/8.0.44/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.6
digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:05:56.861329292Z"
+generated: "2022-07-23T11:58:38.004616811Z"
diff --git a/dependency/postgresql/8.0.43/Chart.yaml b/dependency/postgresql/8.0.44/Chart.yaml
similarity index 97%
rename from dependency/postgresql/8.0.43/Chart.yaml
rename to dependency/postgresql/8.0.44/Chart.yaml
index 134d83ac53..6dd74cbb51 100644
--- a/dependency/postgresql/8.0.43/Chart.yaml
+++ b/dependency/postgresql/8.0.44/Chart.yaml
@@ -22,7 +22,7 @@ name: postgresql
sources:
- https://www.postgresql.org/
type: application
-version: 8.0.43
+version: 8.0.44
annotations:
truecharts.org/catagories: |
- database
diff --git a/dependency/postgresql/8.0.43/README.md b/dependency/postgresql/8.0.44/README.md
similarity index 98%
rename from dependency/postgresql/8.0.43/README.md
rename to dependency/postgresql/8.0.44/README.md
index aa74d1b939..ead0f8fee7 100644
--- a/dependency/postgresql/8.0.43/README.md
+++ b/dependency/postgresql/8.0.44/README.md
@@ -1,6 +1,6 @@
# postgresql
-  
+  
PostgresSQL
diff --git a/dependency/postgresql/8.0.43/app-readme.md b/dependency/postgresql/8.0.44/app-readme.md
similarity index 100%
rename from dependency/postgresql/8.0.43/app-readme.md
rename to dependency/postgresql/8.0.44/app-readme.md
diff --git a/dependency/postgresql/8.0.43/charts/common-10.4.6.tgz b/dependency/postgresql/8.0.44/charts/common-10.4.6.tgz
similarity index 100%
rename from dependency/postgresql/8.0.43/charts/common-10.4.6.tgz
rename to dependency/postgresql/8.0.44/charts/common-10.4.6.tgz
diff --git a/dependency/postgresql/8.0.43/ix_values.yaml b/dependency/postgresql/8.0.44/ix_values.yaml
similarity index 97%
rename from dependency/postgresql/8.0.43/ix_values.yaml
rename to dependency/postgresql/8.0.44/ix_values.yaml
index 3872acfb9e..7acdaf4380 100644
--- a/dependency/postgresql/8.0.43/ix_values.yaml
+++ b/dependency/postgresql/8.0.44/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/postgresql
pullPolicy: IfNotPresent
- tag: v14.4.0@sha256:1b1f02b94a647df8a0473de36c553366f474c87119cab8a3c91582194acc7b2e
+ tag: v14.4.0@sha256:bf74ee94ccd68994bc8a4f72d5df239007bce7dbc11baf4dd6ca416838dcface
controller:
# -- Set the controller type.
diff --git a/dependency/postgresql/8.0.43/questions.yaml b/dependency/postgresql/8.0.44/questions.yaml
similarity index 100%
rename from dependency/postgresql/8.0.43/questions.yaml
rename to dependency/postgresql/8.0.44/questions.yaml
diff --git a/dependency/postgresql/8.0.43/templates/common.yaml b/dependency/postgresql/8.0.44/templates/common.yaml
similarity index 100%
rename from dependency/postgresql/8.0.43/templates/common.yaml
rename to dependency/postgresql/8.0.44/templates/common.yaml
diff --git a/dependency/postgresql/8.0.43/values.yaml b/dependency/postgresql/8.0.44/values.yaml
similarity index 100%
rename from dependency/postgresql/8.0.43/values.yaml
rename to dependency/postgresql/8.0.44/values.yaml
diff --git a/dependency/redis/3.0.42/CHANGELOG.md b/dependency/redis/3.0.43/CHANGELOG.md
similarity index 91%
rename from dependency/redis/3.0.42/CHANGELOG.md
rename to dependency/redis/3.0.43/CHANGELOG.md
index a2bcd9dc9b..733d8460aa 100644
--- a/dependency/redis/3.0.42/CHANGELOG.md
+++ b/dependency/redis/3.0.43/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [redis-3.0.43](https://github.com/truecharts/apps/compare/redisinsight-0.0.11...redis-3.0.43) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
## [redis-3.0.42](https://github.com/truecharts/apps/compare/redis-3.0.41...redis-3.0.42) (2022-07-22)
### Chore
@@ -88,12 +97,3 @@
- update docker general non-major ([#3198](https://github.com/truecharts/apps/issues/3198))
-
-## [redis-3.0.37](https://github.com/truecharts/apps/compare/redis-3.0.36...redis-3.0.37) (2022-07-14)
-
-### Fix
-
-- regenerate catalog and update template
-
-
-
diff --git a/dependency/redis/3.0.42/Chart.lock b/dependency/redis/3.0.43/Chart.lock
similarity index 80%
rename from dependency/redis/3.0.42/Chart.lock
rename to dependency/redis/3.0.43/Chart.lock
index 5407497005..97b53637e9 100644
--- a/dependency/redis/3.0.42/Chart.lock
+++ b/dependency/redis/3.0.43/Chart.lock
@@ -3,4 +3,4 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.4.6
digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:05:56.867034627Z"
+generated: "2022-07-23T11:58:38.082503152Z"
diff --git a/dependency/redis/3.0.42/Chart.yaml b/dependency/redis/3.0.43/Chart.yaml
similarity index 97%
rename from dependency/redis/3.0.42/Chart.yaml
rename to dependency/redis/3.0.43/Chart.yaml
index 1c4eae1efa..894ae42a40 100644
--- a/dependency/redis/3.0.42/Chart.yaml
+++ b/dependency/redis/3.0.43/Chart.yaml
@@ -22,7 +22,7 @@ sources:
- https://github.com/bitnami/bitnami-docker-redis
- http://redis.io/
type: application
-version: 3.0.42
+version: 3.0.43
annotations:
truecharts.org/catagories: |
- database
diff --git a/dependency/redis/3.0.42/README.md b/dependency/redis/3.0.43/README.md
similarity index 98%
rename from dependency/redis/3.0.42/README.md
rename to dependency/redis/3.0.43/README.md
index aafc1193b0..0749c7a5c3 100644
--- a/dependency/redis/3.0.42/README.md
+++ b/dependency/redis/3.0.43/README.md
@@ -1,6 +1,6 @@
# redis
-  
+  
Open source, advanced key-value store.
diff --git a/dependency/redis/3.0.42/app-readme.md b/dependency/redis/3.0.43/app-readme.md
similarity index 100%
rename from dependency/redis/3.0.42/app-readme.md
rename to dependency/redis/3.0.43/app-readme.md
diff --git a/dependency/redis/3.0.42/charts/common-10.4.6.tgz b/dependency/redis/3.0.43/charts/common-10.4.6.tgz
similarity index 100%
rename from dependency/redis/3.0.42/charts/common-10.4.6.tgz
rename to dependency/redis/3.0.43/charts/common-10.4.6.tgz
diff --git a/dependency/redis/3.0.42/ix_values.yaml b/dependency/redis/3.0.43/ix_values.yaml
similarity index 98%
rename from dependency/redis/3.0.42/ix_values.yaml
rename to dependency/redis/3.0.43/ix_values.yaml
index d1a6bc267a..95d5e15c7c 100644
--- a/dependency/redis/3.0.42/ix_values.yaml
+++ b/dependency/redis/3.0.43/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/redis
pullPolicy: IfNotPresent
- tag: v7.0.4@sha256:fd9a25142860d1c19042730a135d25e48bc1e287b6bb29290bd742c059321d48
+ tag: v7.0.4@sha256:7bfc6e94efebcd62bae37d9960ff22fb95d22567f9db735c899afb12d9eb058d
controller:
# -- Set the controller type.
diff --git a/dependency/redis/3.0.42/questions.yaml b/dependency/redis/3.0.43/questions.yaml
similarity index 100%
rename from dependency/redis/3.0.42/questions.yaml
rename to dependency/redis/3.0.43/questions.yaml
diff --git a/dependency/redis/3.0.42/templates/common.yaml b/dependency/redis/3.0.43/templates/common.yaml
similarity index 100%
rename from dependency/redis/3.0.42/templates/common.yaml
rename to dependency/redis/3.0.43/templates/common.yaml
diff --git a/dependency/redis/3.0.42/values.yaml b/dependency/redis/3.0.43/values.yaml
similarity index 100%
rename from dependency/redis/3.0.42/values.yaml
rename to dependency/redis/3.0.43/values.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/Chart.lock b/incubator/minecraft-bungeecord/0.0.4/Chart.lock
deleted file mode 100644
index 8f9969227e..0000000000
--- a/incubator/minecraft-bungeecord/0.0.4/Chart.lock
+++ /dev/null
@@ -1,6 +0,0 @@
-dependencies:
-- name: common
- repository: https://library-charts.truecharts.org
- version: 10.4.6
-digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:26:30.175949032Z"
diff --git a/incubator/minecraft-bungeecord/0.0.4/CHANGELOG.md b/incubator/minecraft-bungeecord/0.0.5/CHANGELOG.md
similarity index 77%
rename from incubator/minecraft-bungeecord/0.0.4/CHANGELOG.md
rename to incubator/minecraft-bungeecord/0.0.5/CHANGELOG.md
index f6dae03c54..9f18e2d5b7 100644
--- a/incubator/minecraft-bungeecord/0.0.4/CHANGELOG.md
+++ b/incubator/minecraft-bungeecord/0.0.5/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [minecraft-bungeecord-0.0.5](https://github.com/truecharts/apps/compare/minecraft-bungeecord-0.0.4...minecraft-bungeecord-0.0.5) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
## [minecraft-bungeecord-0.0.4](https://github.com/truecharts/apps/compare/minecraft-bungeecord-0.0.2...minecraft-bungeecord-0.0.4) (2022-07-22)
### Chore
diff --git a/incubator/minecraft-bungeecord/0.0.5/Chart.lock b/incubator/minecraft-bungeecord/0.0.5/Chart.lock
new file mode 100644
index 0000000000..2379a31fd7
--- /dev/null
+++ b/incubator/minecraft-bungeecord/0.0.5/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
+generated: "2022-07-23T11:59:01.005547544Z"
diff --git a/incubator/minecraft-bungeecord/0.0.4/Chart.yaml b/incubator/minecraft-bungeecord/0.0.5/Chart.yaml
similarity index 98%
rename from incubator/minecraft-bungeecord/0.0.4/Chart.yaml
rename to incubator/minecraft-bungeecord/0.0.5/Chart.yaml
index ed10f5df4e..64c96aa62b 100644
--- a/incubator/minecraft-bungeecord/0.0.4/Chart.yaml
+++ b/incubator/minecraft-bungeecord/0.0.5/Chart.yaml
@@ -1,7 +1,7 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: minecraft-bungeecord
-version: 0.0.4
+version: 0.0.5
appVersion: "2022.4.1"
description: A Spigot BungeeCord server.
type: application
diff --git a/incubator/minecraft-bungeecord/0.0.4/README.md b/incubator/minecraft-bungeecord/0.0.5/README.md
similarity index 98%
rename from incubator/minecraft-bungeecord/0.0.4/README.md
rename to incubator/minecraft-bungeecord/0.0.5/README.md
index 23b30c0f62..59f02cd5c3 100644
--- a/incubator/minecraft-bungeecord/0.0.4/README.md
+++ b/incubator/minecraft-bungeecord/0.0.5/README.md
@@ -1,6 +1,6 @@
# minecraft-bungeecord
-  
+  
A Spigot BungeeCord server.
diff --git a/incubator/minecraft-bungeecord/0.0.4/app-readme.md b/incubator/minecraft-bungeecord/0.0.5/app-readme.md
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/app-readme.md
rename to incubator/minecraft-bungeecord/0.0.5/app-readme.md
diff --git a/incubator/minecraft-bungeecord/0.0.4/charts/common-10.4.6.tgz b/incubator/minecraft-bungeecord/0.0.5/charts/common-10.4.6.tgz
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/charts/common-10.4.6.tgz
rename to incubator/minecraft-bungeecord/0.0.5/charts/common-10.4.6.tgz
diff --git a/incubator/minecraft-bungeecord/0.0.4/ci/base-values.yaml b/incubator/minecraft-bungeecord/0.0.5/ci/base-values.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/ci/base-values.yaml
rename to incubator/minecraft-bungeecord/0.0.5/ci/base-values.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/ci/j11-values.yaml b/incubator/minecraft-bungeecord/0.0.5/ci/j11-values.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/ci/j11-values.yaml
rename to incubator/minecraft-bungeecord/0.0.5/ci/j11-values.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/ci/j8-values.yaml b/incubator/minecraft-bungeecord/0.0.5/ci/j8-values.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/ci/j8-values.yaml
rename to incubator/minecraft-bungeecord/0.0.5/ci/j8-values.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/ix_values.yaml b/incubator/minecraft-bungeecord/0.0.5/ix_values.yaml
similarity index 94%
rename from incubator/minecraft-bungeecord/0.0.4/ix_values.yaml
rename to incubator/minecraft-bungeecord/0.0.5/ix_values.yaml
index a2bae8d8c9..8e0d3ede43 100644
--- a/incubator/minecraft-bungeecord/0.0.4/ix_values.yaml
+++ b/incubator/minecraft-bungeecord/0.0.5/ix_values.yaml
@@ -8,7 +8,7 @@ j17Image:
pullPolicy: Always
j11Image:
repository: tccr.io/truecharts/bungeecord-java11
- tag: v2022.4.1@sha256:7594351f800ceddc45a00b013cb57d2867d1abbbbf573ceeec83c335acc21a1b
+ tag: v2022.4.1@sha256:397ef704e38c880626e8509c3e0feab39b3c4b5adabb6abd812dc717d29d2549
pullPolicy: Always
j8Image:
repository: tccr.io/truecharts/bungeecord-java8
diff --git a/incubator/minecraft-bungeecord/0.0.4/questions.yaml b/incubator/minecraft-bungeecord/0.0.5/questions.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/questions.yaml
rename to incubator/minecraft-bungeecord/0.0.5/questions.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/templates/common.yaml b/incubator/minecraft-bungeecord/0.0.5/templates/common.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/templates/common.yaml
rename to incubator/minecraft-bungeecord/0.0.5/templates/common.yaml
diff --git a/incubator/minecraft-bungeecord/0.0.4/values.yaml b/incubator/minecraft-bungeecord/0.0.5/values.yaml
similarity index 100%
rename from incubator/minecraft-bungeecord/0.0.4/values.yaml
rename to incubator/minecraft-bungeecord/0.0.5/values.yaml
diff --git a/stable/authelia/11.0.27/CHANGELOG.md b/stable/authelia/11.0.27/CHANGELOG.md
new file mode 100644
index 0000000000..76e786a705
--- /dev/null
+++ b/stable/authelia/11.0.27/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [authelia-11.0.27](https://github.com/truecharts/apps/compare/authelia-11.0.26...authelia-11.0.27) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [authelia-11.0.26](https://github.com/truecharts/apps/compare/authelia-11.0.25...authelia-11.0.26) (2022-07-23)
+
+### Chore
+
+- update helm general non-major helm releases ([#3274](https://github.com/truecharts/apps/issues/3274))
+
+
+
+
+## [authelia-11.0.25](https://github.com/truecharts/apps/compare/authelia-11.0.23...authelia-11.0.25) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+ - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268))
+
+
+
+## [authelia-11.0.23](https://github.com/truecharts/apps/compare/authelia-11.0.22...authelia-11.0.23) (2022-07-19)
+
+### Chore
+
+- Update Readme and Description on SCALE
+
+
+
+## [authelia-11.0.22](https://github.com/truecharts/apps/compare/authelia-11.0.21...authelia-11.0.22) (2022-07-14)
+
+### Fix
+
+- regenerate catalog and update template
+
+
+
+## [authelia-11.0.21](https://github.com/truecharts/apps/compare/authelia-11.0.19...authelia-11.0.21) (2022-07-14)
+
+### Fix
+
+- bump to ensure .helmignore is present on all Charts
+
+
+
+## [authelia-11.0.19](https://github.com/truecharts/apps/compare/authelia-11.0.18...authelia-11.0.19) (2022-07-14)
+
+### Fix
+
+- disable HTTP probes temporarily ([#3173](https://github.com/truecharts/apps/issues/3173))
+
+
+
+## [authelia-11.0.18](https://github.com/truecharts/apps/compare/authelia-11.0.16...authelia-11.0.18) (2022-07-12)
+
+### Chore
+
+- update icons ([#3156](https://github.com/truecharts/apps/issues/3156))
+- bump to cleanup old docs and use correct icon urls
+
+
+
+## [authelia-11.0.16](https://github.com/truecharts/apps/compare/authelia-11.0.15...authelia-11.0.16) (2022-07-12)
+
+### Chore
+
+- bump to regenerate documentation
+
+
+
+
+### [authelia-11.0.15](https://github.com/truecharts/apps/compare/authelia-11.0.14...authelia-11.0.15) (2022-07-12)
+
+#### Chore
+
+* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147))
+
+
+
+
+### [authelia-11.0.14](https://github.com/truecharts/apps/compare/authelia-11.0.13...authelia-11.0.14) (2022-07-11)
+
+#### Chore
+
+* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139))
+
+
+
+
diff --git a/stable/authelia/11.0.27/Chart.lock b/stable/authelia/11.0.27/Chart.lock
new file mode 100644
index 0000000000..e848962a10
--- /dev/null
+++ b/stable/authelia/11.0.27/Chart.lock
@@ -0,0 +1,12 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+- name: postgresql
+ repository: https://charts.truecharts.org/
+ version: 8.0.43
+- name: redis
+ repository: https://charts.truecharts.org
+ version: 3.0.42
+digest: sha256:3700174c3cf3786c855d1b71c8ef1129a666dc99f60e23bc6c0041f4e5139eb5
+generated: "2022-07-23T11:59:17.112078045Z"
diff --git a/stable/authelia/11.0.27/Chart.yaml b/stable/authelia/11.0.27/Chart.yaml
new file mode 100644
index 0000000000..c96c1d7a36
--- /dev/null
+++ b/stable/authelia/11.0.27/Chart.yaml
@@ -0,0 +1,46 @@
+apiVersion: v2
+appVersion: "4.36.2"
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+ - condition: postgresql.enabled
+ name: postgresql
+ repository: https://charts.truecharts.org/
+ version: 8.0.43
+ - condition: redis.enabled
+ name: redis
+ repository: https://charts.truecharts.org
+ version: 3.0.42
+deprecated: false
+description: Authelia is a Single Sign-On Multi-Factor portal for web apps
+home: https://github.com/truecharts/apps/tree/master/charts/stable/authelia
+icon: https://truecharts.org/img/chart-icons/authelia.png
+keywords:
+ - authelia
+ - authentication
+ - login
+ - SSO
+ - Authentication
+ - Security
+ - Two-Factor
+ - U2F
+ - YubiKey
+ - Push Notifications
+ - LDAP
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: authelia
+sources:
+ - https://github.com/authelia/chartrepo
+ - https://github.com/authelia/authelia
+type: application
+version: 11.0.27
+annotations:
+ truecharts.org/catagories: |
+ - security
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/stable/authelia/11.0.27/README.md b/stable/authelia/11.0.27/README.md
new file mode 100644
index 0000000000..29cb14f0df
--- /dev/null
+++ b/stable/authelia/11.0.27/README.md
@@ -0,0 +1,110 @@
+# authelia
+
+  
+
+Authelia is a Single Sign-On Multi-Factor portal for web apps
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [authelia](https://truecharts.org/docs/charts/stable/authelia)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://charts.truecharts.org/ | postgresql | 8.0.43 |
+| https://charts.truecharts.org | redis | 3.0.42 |
+| https://library-charts.truecharts.org | common | 10.4.6 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `authelia`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install authelia TrueCharts/authelia
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `authelia` deployment
+
+```console
+helm uninstall authelia
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install authelia \
+ --set env.TZ="America/New York" \
+ TrueCharts/authelia
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install authelia TrueCharts/authelia -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/stable/authelia/11.0.27/app-readme.md b/stable/authelia/11.0.27/app-readme.md
new file mode 100644
index 0000000000..24a4c3a095
--- /dev/null
+++ b/stable/authelia/11.0.27/app-readme.md
@@ -0,0 +1,8 @@
+Authelia is a Single Sign-On Multi-Factor portal for web apps
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/stable/authelia
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/stable/k8s-gateway/6.1.4/charts/common-10.4.6.tgz b/stable/authelia/11.0.27/charts/common-10.4.6.tgz
similarity index 100%
rename from stable/k8s-gateway/6.1.4/charts/common-10.4.6.tgz
rename to stable/authelia/11.0.27/charts/common-10.4.6.tgz
diff --git a/stable/authelia/11.0.27/charts/postgresql-8.0.43.tgz b/stable/authelia/11.0.27/charts/postgresql-8.0.43.tgz
new file mode 100644
index 0000000000..179ed6087e
Binary files /dev/null and b/stable/authelia/11.0.27/charts/postgresql-8.0.43.tgz differ
diff --git a/stable/authelia/11.0.27/charts/redis-3.0.42.tgz b/stable/authelia/11.0.27/charts/redis-3.0.42.tgz
new file mode 100644
index 0000000000..a82d4d5a2f
Binary files /dev/null and b/stable/authelia/11.0.27/charts/redis-3.0.42.tgz differ
diff --git a/stable/authelia/11.0.27/ix_values.yaml b/stable/authelia/11.0.27/ix_values.yaml
new file mode 100644
index 0000000000..08e29d876b
--- /dev/null
+++ b/stable/authelia/11.0.27/ix_values.yaml
@@ -0,0 +1,622 @@
+image:
+ repository: tccr.io/truecharts/authelia
+ pullPolicy: IfNotPresent
+ tag: v4.36.2@sha256:67b35c4bac3a48c6b171ee6ef0ba2027cecb7aaac7e011ff1935cfda879d6b8f
+
+command: ["authelia"]
+args: ["--config=/configuration.yaml"]
+
+enableServiceLinks: false
+
+service:
+ main:
+ ports:
+ main:
+ port: 9091
+ targetPort: 9091
+
+persistence:
+ config:
+ enabled: true
+ mountPath: "/config"
+# Enabled postgres
+postgresql:
+ enabled: true
+ existingSecret: "dbcreds"
+ postgresqlUsername: authelia
+ postgresqlDatabase: authelia
+
+# Enabled redis
+# ... for more options see https://github.com/tccr.io/truecharts/charts/tree/master/tccr.io/truecharts/redis
+redis:
+ enabled: true
+ existingSecret: "rediscreds"
+
+resources:
+ limits: {}
+ # limits:
+ # cpu: "4.00"
+ # memory: 125Mi
+ requests: {}
+ # requests:
+ # cpu: "0.25"
+ # memory: 50Mi
+
+envFrom:
+ - configMapRef:
+ name: authelia-paths
+
+# probes:
+# liveness:
+# type: HTTP
+# path: /api/health"
+
+# readiness:
+# type: HTTP
+# path: "/api/health"
+
+# startup:
+# type: HTTP
+# path: "/api/health"
+
+domain: example.com
+
+##
+## Server Configuration
+##
+server:
+ ##
+ ## Port sets the configured port for the daemon, service, and the probes.
+ ## Default is 9091 and should not need to be changed.
+ ##
+ port: 9091
+
+ ## Buffers usually should be configured to be the same value.
+ ## Explanation at https://www.authelia.com/docs/configuration/server.html
+ ## Read buffer size adjusts the server's max incoming request size in bytes.
+ ## Write buffer size does the same for outgoing responses.
+ read_buffer_size: 4096
+ write_buffer_size: 4096
+ ## Set the single level path Authelia listens on.
+ ## Must be alphanumeric chars and should not contain any slashes.
+ path: ""
+
+log:
+ ## Level of verbosity for logs: info, debug, trace.
+ level: trace
+
+ ## Format the logs are written as: json, text.
+ format: text
+
+ ## TODO: Statefulness check should check if this is set, and the configMap should enable it.
+ ## File path where the logs will be written. If not set logs are written to stdout.
+ # file_path: /config/authelia.log
+
+## Default redirection URL
+##
+## If user tries to authenticate without any referer, Authelia does not know where to redirect the user to at the end
+## of the authentication process. This parameter allows you to specify the default redirection URL Authelia will use
+## in such a case.
+##
+## Note: this parameter is optional. If not provided, user won't be redirected upon successful authentication.
+## Default is https://www. (value at the top of the values.yaml).
+default_redirection_url: ""
+# default_redirection_url: https://example.com
+
+theme: light
+
+##
+## TOTP Configuration
+##
+## Parameters used for TOTP generation
+totp:
+ ## The issuer name displayed in the Authenticator application of your choice
+ ## See: https://github.com/google/google-authenticator/wiki/Key-Uri-Format for more info on issuer names
+ ## Defaults to .
+ issuer: ""
+ ## The period in seconds a one-time password is current for. Changing this will require all users to register
+ ## their TOTP applications again. Warning: before changing period read the docs link below.
+ period: 30
+ ## The skew controls number of one-time passwords either side of the current one that are valid.
+ ## Warning: before changing skew read the docs link below.
+ ## See: https://www.authelia.com/docs/configuration/one-time-password.html#period-and-skew to read the documentation.
+ skew: 1
+
+##
+## Duo Push API Configuration
+##
+## Parameters used to contact the Duo API. Those are generated when you protect an application of type
+## "Partner Auth API" in the management panel.
+duo_api:
+ enabled: false
+ hostname: api-123456789.example.com
+ integration_key: ABCDEF
+ plain_api_key: ""
+
+##
+## Authentication Backend Provider Configuration
+##
+## Used for verifying user passwords and retrieve information such as email address and groups users belong to.
+##
+## The available providers are: `file`, `ldap`. You must use one and only one of these providers.
+authentication_backend:
+ ## Disable both the HTML element and the API for reset password functionality
+ disable_reset_password: false
+
+ ## The amount of time to wait before we refresh data from the authentication backend. Uses duration notation.
+ ## To disable this feature set it to 'disable', this will slightly reduce security because for Authelia, users will
+ ## always belong to groups they belonged to at the time of login even if they have been removed from them in LDAP.
+ ## To force update on every request you can set this to '0' or 'always', this will increase processor demand.
+ ## See the below documentation for more information.
+ ## Duration Notation docs: https://www.authelia.com/docs/configuration/index.html#duration-notation-format
+ ## Refresh Interval docs: https://www.authelia.com/docs/configuration/authentication/ldap.html#refresh-interval
+ refresh_interval: 5m
+
+ ## LDAP backend configuration.
+ ##
+ ## This backend allows Authelia to be scaled to more
+ ## than one instance and therefore is recommended for
+ ## production.
+ ldap:
+ ## Enable LDAP Backend.
+ enabled: false
+
+ ## The LDAP implementation, this affects elements like the attribute utilised for resetting a password.
+ ## Acceptable options are as follows:
+ ## - 'activedirectory' - For Microsoft Active Directory.
+ ## - 'custom' - For custom specifications of attributes and filters.
+ ## This currently defaults to 'custom' to maintain existing behaviour.
+ ##
+ ## Depending on the option here certain other values in this section have a default value, notably all of the
+ ## attribute mappings have a default value that this config overrides, you can read more about these default values
+ ## at https://www.authelia.com/docs/configuration/authentication/ldap.html#defaults
+ implementation: activedirectory
+
+ ## The url to the ldap server. Format: ://[:].
+ ## Scheme can be ldap or ldaps in the format (port optional).
+ url: ldap://openldap.default.svc.cluster.local
+
+ ## Connection Timeout.
+ timeout: 5s
+
+ ## Use StartTLS with the LDAP connection.
+ start_tls: false
+
+ tls:
+ ## Server Name for certificate validation (in case it's not set correctly in the URL).
+ server_name: ""
+
+ ## Skip verifying the server certificate (to allow a self-signed certificate).
+ ## In preference to setting this we strongly recommend you add the public portion of the certificate to the
+ ## certificates directory which is defined by the `certificates_directory` option at the top of the config.
+ skip_verify: false
+
+ ## Minimum TLS version for either Secure LDAP or LDAP StartTLS.
+ minimum_version: TLS1.2
+
+ ## The base dn for every LDAP query.
+ base_dn: DC=example,DC=com
+
+ ## The attribute holding the username of the user. This attribute is used to populate the username in the session
+ ## information. It was introduced due to #561 to handle case insensitive search queries. For you information,
+ ## Microsoft Active Directory usually uses 'sAMAccountName' and OpenLDAP usually uses 'uid'. Beware that this
+ ## attribute holds the unique identifiers for the users binding the user and the configuration stored in database.
+ ## Therefore only single value attributes are allowed and the value must never be changed once attributed to a user
+ ## otherwise it would break the configuration for that user. Technically, non-unique attributes like 'mail' can also
+ ## be used but we don't recommend using them, we instead advise to use the attributes mentioned above
+ ## (sAMAccountName and uid) to follow https://www.ietf.org/rfc/rfc2307.txt.
+ username_attribute: ""
+
+ ## An additional dn to define the scope to all users.
+ additional_users_dn: OU=Users
+
+ ## The users filter used in search queries to find the user profile based on input filled in login form.
+ ## Various placeholders are available in the user filter:
+ ## - {input} is a placeholder replaced by what the user inputs in the login form.
+ ## - {username_attribute} is a mandatory placeholder replaced by what is configured in `username_attribute`.
+ ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`.
+ ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later
+ ## versions, so please don't use it.
+ ##
+ ## Recommended settings are as follows:
+ ## - Microsoft Active Directory: (&({username_attribute}={input})(objectCategory=person)(objectClass=user))
+ ## - OpenLDAP:
+ ## - (&({username_attribute}={input})(objectClass=person))
+ ## - (&({username_attribute}={input})(objectClass=inetOrgPerson))
+ ##
+ ## To allow sign in both with username and email, one can use a filter like
+ ## (&(|({username_attribute}={input})({mail_attribute}={input}))(objectClass=person))
+ users_filter: ""
+
+ ## An additional dn to define the scope of groups.
+ additional_groups_dn: OU=Groups
+
+ ## The groups filter used in search queries to find the groups of the user.
+ ## - {input} is a placeholder replaced by what the user inputs in the login form.
+ ## - {username} is a placeholder replace by the username stored in LDAP (based on `username_attribute`).
+ ## - {dn} is a matcher replaced by the user distinguished name, aka, user DN.
+ ## - {username_attribute} is a placeholder replaced by what is configured in `username_attribute`.
+ ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`.
+ ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later
+ ## versions, so please don't use it.
+ ## - DON'T USE - {1} is an alias for {username} supported for backward compatibility but it will be deprecated in
+ ## later version, so please don't use it.
+ ##
+ ## If your groups use the `groupOfUniqueNames` structure use this instead:
+ ## (&(uniquemember={dn})(objectclass=groupOfUniqueNames))
+ groups_filter: ""
+
+ ## The attribute holding the name of the group
+ group_name_attribute: ""
+
+ ## The attribute holding the mail address of the user. If multiple email addresses are defined for a user, only the
+ ## first one returned by the LDAP server is used.
+ mail_attribute: ""
+
+ ## The attribute holding the display name of the user. This will be used to greet an authenticated user.
+ display_name_attribute: ""
+
+ ## The username of the admin user.
+ user: CN=Authelia,DC=example,DC=com
+ plain_password: ""
+
+ ##
+ ## File (Authentication Provider)
+ ##
+ ## With this backend, the users database is stored in a file which is updated when users reset their passwords.
+ ## Therefore, this backend is meant to be used in a dev environment and not in production since it prevents Authelia
+ ## to be scaled to more than one instance. The options under 'password' have sane defaults, and as it has security
+ ## implications it is highly recommended you leave the default values. Before considering changing these settings
+ ## please read the docs page below:
+ ## https://www.authelia.com/docs/configuration/authentication/file.html#password-hash-algorithm-tuning
+ ##
+ ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html
+ ##
+ file:
+ enabled: true
+ path: /config/users_database.yml
+ password:
+ algorithm: argon2id
+ iterations: 1
+ key_length: 32
+ salt_length: 16
+ memory: 1024
+ parallelism: 8
+
+##
+## Access Control Configuration
+##
+## Access control is a list of rules defining the authorizations applied for one resource to users or group of users.
+##
+## If 'access_control' is not defined, ACL rules are disabled and the 'bypass' rule is applied, i.e., access is allowed
+## to anyone. Otherwise restrictions follow the rules defined.
+##
+## Note: One can use the wildcard * to match any subdomain.
+## It must stand at the beginning of the pattern. (example: *.mydomain.com)
+##
+## Note: You must put patterns containing wildcards between simple quotes for the YAML to be syntactically correct.
+##
+## Definition: A 'rule' is an object with the following keys: 'domain', 'subject', 'policy' and 'resources'.
+##
+## - 'domain' defines which domain or set of domains the rule applies to.
+##
+## - 'subject' defines the subject to apply authorizations to. This parameter is optional and matching any user if not
+## provided. If provided, the parameter represents either a user or a group. It should be of the form
+## 'user:' or 'group:'.
+##
+## - 'policy' is the policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'.
+##
+## - 'resources' is a list of regular expressions that matches a set of resources to apply the policy to. This parameter
+## is optional and matches any resource if not provided.
+##
+## Note: the order of the rules is important. The first policy matching (domain, resource, subject) applies.
+access_control:
+ ## Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. It is the policy applied to any
+ ## resource if there is no policy to be applied to the user.
+ default_policy: deny
+
+ networks: []
+ # networks:
+ # - name: private
+ # networks:
+ # - 10.0.0.0/8
+ # - 172.16.0.0/12
+ # - 192.168.0.0/16
+ # - name: vpn
+ # networks:
+ # - 10.9.0.0/16
+
+ rules: []
+ # rules:
+ # - domain: public.example.com
+ # policy: bypass
+ # - domain: "*.example.com"
+ # policy: bypass
+ # methods:
+ # - OPTIONS
+ # - domain: secure.example.com
+ # policy: one_factor
+ # networks:
+ # - private
+ # - vpn
+ # - 192.168.1.0/24
+ # - 10.0.0.1
+ # - domain:
+ # - secure.example.com
+ # - private.example.com
+ # policy: two_factor
+ # - domain: singlefactor.example.com
+ # policy: one_factor
+ # - domain: "mx2.mail.example.com"
+ # subject: "group:admins"
+ # policy: deny
+ # - domain: "*.example.com"
+ # subject:
+ # - "group:admins"
+ # - "group:moderators"
+ # policy: two_factor
+ # - domain: dev.example.com
+ # resources:
+ # - "^/groups/dev/.*$"
+ # subject: "group:dev"
+ # policy: two_factor
+ # - domain: dev.example.com
+ # resources:
+ # - "^/users/john/.*$"
+ # subject:
+ # - ["group:dev", "user:john"]
+ # - "group:admins"
+ # policy: two_factor
+ # - domain: "{user}.example.com"
+ # policy: bypass
+
+##
+## Session Provider Configuration
+##
+## The session cookies identify the user once logged in.
+## The available providers are: `memory`, `redis`. Memory is the provider unless redis is defined.
+session:
+ ## The name of the session cookie. (default: authelia_session).
+ name: authelia_session
+
+ ## Sets the Cookie SameSite value. Possible options are none, lax, or strict.
+ ## Please read https://www.authelia.com/docs/configuration/session.html#same_site
+ same_site: lax
+
+ ## The time in seconds before the cookie expires and session is reset.
+ expiration: 1h
+
+ ## The inactivity time in seconds before the session is reset.
+ inactivity: 5m
+
+ ## The remember me duration.
+ ## Value is in seconds, or duration notation. Value of 0 disables remember me.
+ ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format
+ ## Longer periods are considered less secure because a stolen cookie will last longer giving attackers more time to
+ ## spy or attack. Currently the default is 1M or 1 month.
+ remember_me_duration: 1M
+
+##
+## Redis Provider
+##
+## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html
+##
+## The redis connection details
+redisProvider:
+ port: 6379
+
+ ## Optional username to be used with authentication.
+ # username: authelia
+ username: ""
+
+ ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc).
+ database_index: 0
+
+ ## The maximum number of concurrent active connections to Redis.
+ maximum_active_connections: 8
+
+ ## The target number of idle connections to have open ready for work. Useful when opening connections is slow.
+ minimum_idle_connections: 0
+
+ ## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s).
+ tls:
+ enabled: false
+
+ ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option).
+ server_name: ""
+
+ ## Skip verifying the server certificate (to allow a self-signed certificate).
+ ## In preference to setting this we strongly recommend you add the public portion of the certificate to the
+ ## certificates directory which is defined by the `certificates_directory` option at the top of the config.
+ skip_verify: false
+
+ ## Minimum TLS version for the connection.
+ minimum_version: TLS1.2
+
+ ## The Redis HA configuration options.
+ ## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name).
+ high_availability:
+ enabled: false
+ enabledSecret: false
+ ## Sentinel Name / Master Name
+ sentinel_name: mysentinel
+
+ ## The additional nodes to pre-seed the redis provider with (for sentinel).
+ ## If the host in the above section is defined, it will be combined with this list to connect to sentinel.
+ ## For high availability to be used you must have either defined; the host above or at least one node below.
+ nodes: []
+ # nodes:
+ # - host: sentinel-0.databases.svc.cluster.local
+ # port: 26379
+ # - host: sentinel-1.databases.svc.cluster.local
+ # port: 26379
+
+ ## Choose the host with the lowest latency.
+ route_by_latency: false
+
+ ## Choose the host randomly.
+ route_randomly: false
+
+##
+## Regulation Configuration
+##
+## This mechanism prevents attackers from brute forcing the first factor. It bans the user if too many attempts are done
+## in a short period of time.
+regulation:
+ ## The number of failed login attempts before user is banned. Set it to 0 to disable regulation.
+ max_retries: 3
+
+ ## The time range during which the user can attempt login before being banned. The user is banned if the
+ ## authentication failed 'max_retries' times in a 'find_time' seconds window. Find Time accepts duration notation.
+ ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format
+ find_time: 2m
+
+ ## The length of time before a banned user can login again. Ban Time accepts duration notation.
+ ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format
+ ban_time: 5m
+
+##
+## Storage Provider Configuration
+##
+## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers.
+storage:
+ ##
+ ## PostgreSQL (Storage Provider)
+ ##
+ postgres:
+ port: 5432
+ database: authelia
+ username: authelia
+ sslmode: disable
+ timeout: 5s
+
+##
+## Notification Provider
+##
+##
+## Notifications are sent to users when they require a password reset, a u2f registration or a TOTP registration.
+## The available providers are: filesystem, smtp. You must use one and only one of these providers.
+notifier:
+ ## You can disable the notifier startup check by setting this to true.
+ disable_startup_check: false
+
+ ##
+ ## File System (Notification Provider)
+ ##
+ ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html
+ ##
+ filesystem:
+ enabled: true
+ filename: /config/notification.txt
+
+ ##
+ ## SMTP (Notification Provider)
+ ##
+ ## Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate.
+ ## [Security] By default Authelia will:
+ ## - force all SMTP connections over TLS including unauthenticated connections
+ ## - use the disable_require_tls boolean value to disable this requirement
+ ## (only works for unauthenticated connections)
+ ## - validate the SMTP server x509 certificate during the TLS handshake against the hosts trusted certificates
+ ## (configure in tls section)
+ smtp:
+ enabled: false
+ enabledSecret: false
+ host: smtp.mail.svc.cluster.local
+ port: 25
+ timeout: 5s
+ username: test
+ plain_password: test
+ sender: admin@example.com
+ ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost.
+ identifier: localhost
+ ## Subject configuration of the emails sent.
+ ## {title} is replaced by the text from the notifier
+ subject: "[Authelia] {title}"
+ ## This address is used during the startup check to verify the email configuration is correct.
+ ## It's not important what it is except if your email server only allows local delivery.
+ startup_check_address: test@authelia.com
+ disable_require_tls: false
+ disable_html_emails: false
+
+ tls:
+ ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option).
+ server_name: ""
+
+ ## Skip verifying the server certificate (to allow a self-signed certificate).
+ ## In preference to setting this we strongly recommend you add the public portion of the certificate to the
+ ## certificates directory which is defined by the `certificates_directory` option at the top of the config.
+ skip_verify: false
+
+ ## Minimum TLS version for either StartTLS or SMTPS.
+ minimum_version: TLS1.2
+
+identity_providers:
+ oidc:
+ ## Enables this in the config map. Currently in beta stage.
+ ## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap
+ enabled: false
+
+ access_token_lifespan: 1h
+ authorize_code_lifespan: 1m
+ id_token_lifespan: 1h
+ refresh_token_lifespan: 90m
+
+ enable_client_debug_messages: false
+
+ ## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for
+ ## security reasons.
+ minimum_parameter_entropy: 8
+
+ clients: []
+ # clients:
+ # -
+ ## The ID is the OpenID Connect ClientID which is used to link an application to a configuration.
+ # id: myapp
+
+ ## The description to show to users when they end up on the consent screen. Defaults to the ID above.
+ # description: My Application
+
+ ## The client secret is a shared secret between Authelia and the consumer of this client.
+ # secret: apple123
+
+ ## Sets the client to public. This should typically not be set, please see the documentation for usage.
+ # public: false
+
+ ## The policy to require for this client; one_factor or two_factor.
+ # authorization_policy: two_factor
+
+ ## Audience this client is allowed to request.
+ # audience: []
+
+ ## Scopes this client is allowed to request.
+ # scopes:
+ # - openid
+ # - profile
+ # - email
+ # - groups
+
+ ## Redirect URI's specifies a list of valid case-sensitive callbacks for this client.
+ # redirect_uris:
+ # - https://oidc.example.com/oauth2/callback
+
+ ## Grant Types configures which grants this client can obtain.
+ ## It's not recommended to configure this unless you know what you're doing.
+ # grant_types:
+ # - refresh_token
+ # - authorization_code
+
+ ## Response Types configures which responses this client can be sent.
+ ## It's not recommended to configure this unless you know what you're doing.
+ # response_types:
+ # - code
+
+ ## Response Modes configures which response modes this client supports.
+ ## It's not recommended to configure this unless you know what you're doing.
+ # response_modes:
+ # - form_post
+ # - query
+ # - fragment
+
+ ## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256.
+ # userinfo_signing_algorithm: none
diff --git a/stable/authelia/11.0.27/questions.yaml b/stable/authelia/11.0.27/questions.yaml
new file mode 100644
index 0000000000..9553d99e5a
--- /dev/null
+++ b/stable/authelia/11.0.27/questions.yaml
@@ -0,0 +1,3340 @@
+groups:
+ - name: "Container Image"
+ description: "Image to be used for container"
+ - name: "Controller"
+ description: "Configure workload deployment"
+ - name: "Container Configuration"
+ description: "additional container configuration"
+ - name: "App Configuration"
+ description: "App specific config options"
+ - name: "Networking and Services"
+ description: "Configure Network and Services for container"
+ - name: "Storage and Persistence"
+ description: "Persist and share data that is separate from the container"
+ - name: "Ingress"
+ description: "Ingress Configuration"
+ - name: "Security and Permissions"
+ description: "Configure security context and permissions"
+ - name: "Resources and Devices"
+ description: "Specify resources/devices to be allocated to workload"
+ - name: "Middlewares"
+ description: "Traefik Middlewares"
+ - name: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_portal_protocol"
+ host:
+ - "$kubernetes-resource_configmap_portal_host"
+ ports:
+ - "$kubernetes-resource_configmap_portal_port"
+questions:
+ - variable: portal
+ group: "Container Image"
+ label: "Configure Portal Button"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "enable the portal button"
+ schema:
+ hidden: true
+ editable: false
+ type: boolean
+ default: true
+ - variable: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: type
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Controller Type"
+ schema:
+ type: string
+ default: "deployment"
+ required: true
+ enum:
+ - value: "deployment"
+ description: "Deployment"
+ - value: "statefulset"
+ description: "Statefulset"
+ - value: "daemonset"
+ description: "Daemonset"
+ - variable: replicas
+ description: "Number of desired pod replicas"
+ label: "Desired Replicas"
+ schema:
+ type: int
+ default: 1
+ required: true
+ - variable: strategy
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Update Strategy"
+ schema:
+ type: string
+ default: "Recreate"
+ required: true
+ enum:
+ - value: "Recreate"
+ description: "Recreate: Kill existing pods before creating new ones"
+ - value: "RollingUpdate"
+ description: "RollingUpdate: Create new pods and then kill old ones"
+ - value: "OnDelete"
+ description: "(Legacy) OnDelete: ignore .spec.template changes"
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: " Controller Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: podAnnotationsList
+ group: "Container Configuration"
+ label: "Pod Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podAnnotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: domain
+ group: "App Configuration"
+ label: "Domain"
+ description: "The highest domain level possible, for example: domain.com when using app.domain.com"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: default_redirection_url
+ group: "App Configuration"
+ label: "Default Redirection Url"
+ description: "If user tries to authenticate without any referer, this is used"
+ schema:
+ type: string
+ default: ""
+
+ - variable: theme
+ group: "App Configuration"
+ label: "Theme"
+ schema:
+ type: string
+ default: "light"
+ enum:
+ - value: "light"
+ description: "info"
+ - value: "grey"
+ description: "grey"
+ - value: "dark"
+ description: "dark"
+
+ - variable: log
+ group: "App Configuration"
+ label: "Log Configuration "
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: level
+ label: "Log Level"
+ schema:
+ type: string
+ default: "info"
+ enum:
+ - value: "info"
+ description: "info"
+ - value: "debug"
+ description: "debug"
+ - value: "trace"
+ description: "trace"
+ - variable: format
+ label: "Log Format"
+ schema:
+ type: string
+ default: "text"
+ enum:
+ - value: "json"
+ description: "json"
+ - value: "text"
+ description: "text"
+
+ - variable: totp
+ group: "App Configuration"
+ label: "TOTP Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: issuer
+ label: "Issuer"
+ description: "The issuer name displayed in the Authenticator application of your choice"
+ schema:
+ type: string
+ default: ""
+ - variable: period
+ label: "Period"
+ description: "The period in seconds a one-time password is current for"
+ schema:
+ type: int
+ default: 30
+ - variable: skew
+ label: "skew"
+ description: "Controls number of one-time passwords either side of the current one that are valid."
+ schema:
+ type: int
+ default: 1
+
+ - variable: duo_api
+ group: "App Configuration"
+ label: "DUO API Configuration"
+ description: "Parameters used to contact the Duo API."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostname
+ label: "Hostname"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: integration_key
+ label: "integration_key"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: plain_api_key
+ label: "plain_api_key"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: session
+ group: "App Configuration"
+ label: "Session Provider"
+ description: "The session cookies identify the user once logged in."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Cookie Name"
+ description: "The name of the session cookie."
+ schema:
+ type: string
+ required: true
+ default: "authelia_session"
+ - variable: same_site
+ label: "SameSite Value"
+ description: "Sets the Cookie SameSite value"
+ schema:
+ type: string
+ default: "lax"
+ enum:
+ - value: "lax"
+ description: "lax"
+ - value: "strict"
+ description: "strict"
+ - variable: expiration
+ label: "Expiration Time"
+ description: "The time in seconds before the cookie expires and session is reset."
+ schema:
+ type: string
+ default: "1h"
+ required: true
+ - variable: inactivity
+ label: "Inactivity Time"
+ description: "The inactivity time in seconds before the session is reset."
+ schema:
+ type: string
+ default: "5m"
+ required: true
+ - variable: inactivity
+ label: "Remember-Me duration"
+ description: "The remember me duration"
+ schema:
+ type: string
+ default: "5M"
+ required: true
+
+ - variable: regulation
+ group: "App Configuration"
+ label: "Regulation Configuration"
+ description: "his mechanism prevents attackers from brute forcing the first factor."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: max_retries
+ label: "Maximum Retries"
+ description: "The number of failed login attempts before user is banned. Set it to 0 to disable regulation."
+ schema:
+ type: int
+ default: 3
+ - variable: find_time
+ label: "Find Time"
+ description: "The time range during which the user can attempt login before being banned."
+ schema:
+ type: string
+ default: "2m"
+ required: true
+ - variable: ban_time
+ label: "Ban Duration"
+ description: "The length of time before a banned user can login again"
+ schema:
+ type: string
+ default: "5m"
+ required: true
+
+ - variable: authentication_backend
+ group: "App Configuration"
+ label: "Authentication Backend Provider"
+ description: "sed for verifying user passwords and retrieve information such as email address and groups users belong to."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: disable_reset_password
+ label: "Disable Reset Password"
+ description: "Disable both the HTML element and the API for reset password functionality"
+ schema:
+ type: boolean
+ default: false
+ - variable: refresh_interval
+ label: "Reset Interval"
+ description: "The amount of time to wait before we refresh data from the authentication backend"
+ schema:
+ type: string
+ default: "5m"
+ required: true
+ - variable: ldap
+ label: "LDAP backend configuration"
+ description: "Used for verifying user passwords and retrieve information such as email address and groups users belong to"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: implementation
+ label: "Implementation"
+ description: "The LDAP implementation, this affects elements like the attribute utilised for resetting a password"
+ schema:
+ type: string
+ default: "custom"
+ enum:
+ - value: "activedirectory"
+ description: "activedirectory"
+ - value: "custom"
+ description: "custom"
+ - variable: url
+ label: "URL"
+ description: "The url to the ldap server. Format: ://[:]"
+ schema:
+ type: string
+ default: "ldap://openldap.default.svc.cluster.local"
+ required: true
+ - variable: timeout
+ label: "Connection Timeout"
+ schema:
+ type: string
+ default: "5s"
+ required: true
+ - variable: start_tls
+ label: "Start TLS"
+ description: "Use StartTLS with the LDAP connection"
+ schema:
+ type: boolean
+ default: false
+ - variable: tls
+ label: "TLS Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: server_name
+ label: "Server Name"
+ description: "Server Name for certificate validation (in case it's not set correctly in the URL)."
+ schema:
+ type: string
+ default: ""
+ - variable: skip_verify
+ label: "Skip Certificate Verification"
+ description: "Skip verifying the server certificate (to allow a self-signed certificate)"
+ schema:
+ type: boolean
+ default: false
+ - variable: minimum_version
+ label: "Minimum TLS version"
+ description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS."
+ schema:
+ type: string
+ default: "TLS1.2"
+ enum:
+ - value: "TLS1.0"
+ description: "TLS1.0"
+ - value: "TLS1.1"
+ description: "TLS1.1"
+ - value: "TLS1.2"
+ description: "TLS1.2"
+ - value: "TLS1.3"
+ description: "TLS1.3"
+ - variable: base_dn
+ label: "Base DN"
+ description: "The base dn for every LDAP query."
+ schema:
+ type: string
+ default: "DC=example,DC=com"
+ required: true
+ - variable: username_attribute
+ label: "Username Attribute"
+ description: "The attribute holding the username of the user"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: additional_users_dn
+ label: "Additional Users DN"
+ description: "An additional dn to define the scope to all users."
+ schema:
+ type: string
+ default: "OU=Users"
+ required: true
+ - variable: users_filter
+ label: "Users Filter"
+ description: "The groups filter used in search queries to find the groups of the user."
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: additional_groups_dn
+ label: "Additional Groups DN"
+ description: "An additional dn to define the scope of groups."
+ schema:
+ type: string
+ default: "OU=Groups"
+ required: true
+ - variable: groups_filter
+ label: "Groups Filter"
+ description: "The groups filter used in search queries to find the groups of the user."
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: group_name_attribute
+ label: "Group name Attribute"
+ description: "The attribute holding the name of the group"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: mail_attribute
+ label: "Mail Attribute"
+ description: "The attribute holding the primary mail address of the user"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: display_name_attribute
+ label: "Display Name Attribute"
+ description: "he attribute holding the display name of the user. This will be used to greet an authenticated user."
+ schema:
+ type: string
+ default: ""
+ - variable: user
+ label: "Admin User"
+ description: "The username of the admin user used to connect to LDAP."
+ schema:
+ type: string
+ default: "CN=Authelia,DC=example,DC=com"
+ required: true
+ - variable: plain_password
+ label: "Password"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: file
+ label: "File backend configuration"
+ description: "With this backend, the users database is stored in a file which is updated when users reset their passwords."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ default: "/config/users_database.yml"
+ required: true
+ - variable: password
+ label: "Password Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: algorithm
+ label: "Algorithm"
+ schema:
+ type: string
+ default: "argon2id"
+ enum:
+ - value: "argon2id"
+ description: "argon2id"
+ - value: "sha512"
+ description: "sha512"
+ - variable: iterations
+ label: "Iterations"
+ schema:
+ type: int
+ default: 1
+ required: true
+ - variable: key_length
+ label: "Key Length"
+ schema:
+ type: int
+ default: 32
+ required: true
+ - variable: salt_length
+ label: "Salt Length"
+ schema:
+ type: int
+ default: 16
+ required: true
+ - variable: memory
+ label: "Memory"
+ schema:
+ type: int
+ default: 1024
+ required: true
+ - variable: parallelism
+ label: "Parallelism"
+ schema:
+ type: int
+ default: 8
+ required: true
+
+ - variable: notifier
+ group: "App Configuration"
+ label: "Notifier Configuration"
+ description: "otifications are sent to users when they require a password reset, a u2f registration or a TOTP registration."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: disable_startup_check
+ label: "Disable Startup Check"
+ schema:
+ type: boolean
+ default: false
+ - variable: filesystem
+ label: "Filesystem Provider"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: filename
+ label: "File Path"
+ schema:
+ type: string
+ default: "/config/notification.txt"
+ required: true
+ - variable: smtp
+ label: "SMTP Provider"
+ description: "Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: true
+ show_subquestions_if: true
+ subquestions:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: "smtp.mail.svc.cluster.local"
+ required: true
+ - variable: port
+ label: "Port"
+ schema:
+ type: int
+ default: 25
+ required: true
+ - variable: timeout
+ label: "Timeout"
+ schema:
+ type: string
+ default: "5s"
+ required: true
+ - variable: username
+ label: "Username"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: plain_password
+ label: "Password"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: sender
+ label: "Sender"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: identifier
+ label: "Identifier"
+ description: "HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost."
+ schema:
+ type: string
+ default: "localhost"
+ required: true
+ - variable: subject
+ label: "Subject"
+ description: "Subject configuration of the emails sent, {title} is replaced by the text from the notifier"
+ schema:
+ type: string
+ default: "[Authelia] {title}"
+ required: true
+ - variable: startup_check_address
+ label: "Startup Check Address"
+ description: "This address is used during the startup check to verify the email configuration is correct."
+ schema:
+ type: string
+ default: "test@authelia.com"
+ required: true
+ - variable: disable_require_tls
+ label: "Disable Require TLS"
+ schema:
+ type: boolean
+ default: false
+ - variable: disable_html_emails
+ label: "Disable HTML emails"
+ schema:
+ type: boolean
+ default: false
+ - variable: tls
+ label: "TLS Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: server_name
+ label: "Server Name"
+ description: "Server Name for certificate validation (in case it's not set correctly in the URL)."
+ schema:
+ type: string
+ default: ""
+ - variable: skip_verify
+ label: "Skip Certificate Verification"
+ description: "Skip verifying the server certificate (to allow a self-signed certificate)"
+ schema:
+ type: boolean
+ default: false
+ - variable: minimum_version
+ label: "Minimum TLS version"
+ description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS."
+ schema:
+ type: string
+ default: "TLS1.2"
+ enum:
+ - value: "TLS1.0"
+ description: "TLS1.0"
+ - value: "TLS1.1"
+ description: "TLS1.1"
+ - value: "TLS1.2"
+ description: "TLS1.2"
+ - value: "TLS1.3"
+ description: "TLS1.3"
+ - variable: access_control
+ group: "App Configuration"
+ label: "Access Control Configuration"
+ description: "Access control is a list of rules defining the authorizations applied for one resource to users or group of users."
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: default_policy
+ label: "Default Policy"
+ description: "Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'."
+ schema:
+ type: string
+ default: "two_factor"
+ enum:
+ - value: "bypass"
+ description: "bypass"
+ - value: "one_factor"
+ description: "one_factor"
+ - value: "two_factor"
+ description: "two_factor"
+ - value: "deny"
+ description: "deny"
+
+ - variable: networks
+ label: "Networks"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: networkItem
+ label: "Network Item"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: networks
+ label: "Networks"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: network
+ label: "network"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: rules
+ label: "Rules"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: rulesItem
+ label: "Rule"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: domain
+ label: "Domains"
+ description: "defines which domain or set of domains the rule applies to."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: domainEntry
+ label: "Domain"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: policy
+ label: "Policy"
+ description: "The policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'."
+ schema:
+ type: string
+ default: "two_factor"
+ enum:
+ - value: "bypass"
+ description: "bypass"
+ - value: "one_factor"
+ description: "one_factor"
+ - value: "two_factor"
+ description: "two_factor"
+ - value: "deny"
+ description: "deny"
+ - variable: subject
+ label: "Subject"
+ description: "defines the subject to apply authorizations to. This parameter is optional and matching any user if not provided"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: subjectitem
+ label: "Subject"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: networks
+ label: "Networks"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: network
+ label: "Network"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: resources
+ label: "Resources"
+ description: "is a list of regular expressions that matches a set of resources to apply the policy to"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: resource
+ label: "Resource"
+ schema:
+ type: string
+ default: ""
+ 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 9091
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 9091
+
+ - variable: serviceexpert
+ group: "Networking and Services"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ group: "Networking and Services"
+ label: "Host-Networking (Complicated)"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: externalInterfaces
+ description: "Add External Interfaces"
+ label: "Add external Interfaces"
+ group: "Networking"
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: "Interface Configuration"
+ label: "Interface Configuration"
+ schema:
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: "Please specify host interface"
+ label: "Host Interface"
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: "Define how IP Address will be managed"
+ label: "IP Address Management"
+ schema:
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: "Specify type for IPAM"
+ label: "IPAM Type"
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: "dhcp"
+ description: "Use DHCP"
+ - value: "static"
+ description: "Use static IP"
+ show_subquestions_if: "static"
+ subquestions:
+ - variable: staticIPConfigurations
+ label: "Static IP Addresses"
+ schema:
+ type: list
+ items:
+ - variable: staticIP
+ label: "Static IP"
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: "Static Routes"
+ schema:
+ type: list
+ items:
+ - variable: staticRouteConfiguration
+ label: "Static Route Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: "Destination"
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: "Gateway"
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: dnsPolicy
+ group: "Networking and Services"
+ label: "dnsPolicy"
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "ClusterFirst"
+ description: "ClusterFirst"
+ - value: "ClusterFirstWithHostNet"
+ description: "ClusterFirstWithHostNet"
+ - value: "None"
+ description: "None"
+
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ group: "Networking and Services"
+ description: "Specify custom DNS configuration which will be applied to the pod"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: nameserver
+ label: "Nameserver"
+ schema:
+ type: string
+ - variable: options
+ label: "options"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: option
+ label: "Option Entry"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: searches
+ label: "Searches"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: search
+ label: "Search Entry"
+ schema:
+ type: string
+
+ - variable: serviceList
+ label: "Add Manual Custom Services"
+ group: "Networking and Services"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: "Custom Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: portsList
+ label: "Additional Service Ports"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: "Custom ports"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the port"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Port Name"
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "TCP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: targetPort
+ label: "Target Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ required: true
+ - variable: port
+ label: "Container Port"
+ schema:
+ type: int
+ required: true
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+
+ - variable: persistence
+ label: "Integrated Persistent Storage"
+ description: "Integrated Persistent Storage"
+ group: "Storage and Persistence"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: config
+ 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: "simplePVC"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: persistenceList
+ label: "Additional app storage"
+ group: "Storage and Persistence"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: "Custom Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name (optional)"
+ description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
+ schema:
+ type: string
+ - variable: type
+ label: "Type of Storage"
+ description: "Sets the persistence type, Anything other than PVC could break rollback!"
+ schema:
+ type: string
+ default: "simpleHP"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: "mountPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+
+ - variable: entrypoint
+ label: "(Advanced) Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+ - variable: service
+ label: "Linked Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Service Name"
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: "Service Port"
+ schema:
+ type: int
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: entrypoint
+ label: "Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+ - variable: allowPrivilegeEscalation
+ label: "Allow Privilege Escalation"
+ schema:
+ type: boolean
+ default: false
+ - variable: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: true
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: "Target"
+# description: "deployment name, defaults to main deployment"
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: "Minimum Replicas"
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: "Maximum Replicas"
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: "Target CPU Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: "Target Memory Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "NodePort"
+ enum:
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: identity_providers
+ group: "Advanced"
+ label: "Authelia Identity Providers (BETA)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: oidc
+ label: "OpenID Connect(BETA)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: access_token_lifespan
+ label: "Access Token Lifespan"
+ schema:
+ type: string
+ default: "1h"
+ required: true
+ - variable: authorize_code_lifespan
+ label: "Authorize Code Lifespan"
+ schema:
+ type: string
+ default: "1m"
+ required: true
+ - variable: id_token_lifespan
+ label: "ID Token Lifespan"
+ schema:
+ type: string
+ default: "1h"
+ required: true
+ - variable: refresh_token_lifespan
+ label: "Refresh Token Lifespan"
+ schema:
+ type: string
+ default: "90m"
+ required: true
+ - variable: enable_client_debug_messages
+ label: "Enable Client Debug Messages"
+ schema:
+ type: boolean
+ default: false
+ - variable: clients
+ label: "Clients"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: clientEntry
+ label: "Client"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: id
+ label: "ID/Name"
+ description: "The ID is the OpenID Connect ClientID which is used to link an application to a configuration."
+ schema:
+ type: string
+ default: "myapp"
+ required: true
+ - variable: description
+ label: "Description"
+ description: "The description to show to users when they end up on the consent screen. Defaults to the ID above."
+ schema:
+ type: string
+ default: "My Application"
+ required: true
+ - variable: secret
+ label: "Secret"
+ description: "The client secret is a shared secret between Authelia and the consumer of this client."
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: public
+ label: "public"
+ description: "Sets the client to public. This should typically not be set, please see the documentation for usage."
+ schema:
+ type: boolean
+ default: false
+ - variable: authorization_policy
+ label: "Authorization Policy"
+ description: "The policy to require for this client; one_factor or two_factor."
+ schema:
+ type: string
+ default: "two_factor"
+ enum:
+ - value: "one_factor"
+ description: "one_factor"
+ - value: "two_factor"
+ description: "two_factor"
+ - variable: userinfo_signing_algorithm
+ label: "Userinfo Signing Algorithm"
+ description: "The algorithm used to sign userinfo endpoint responses for this client, either none or RS256."
+ schema:
+ type: string
+ default: "none"
+ enum:
+ - value: "none"
+ description: "none"
+ - value: "RS256"
+ description: "RS256"
+ - variable: audience
+ label: "Audience"
+ description: "Audience this client is allowed to request."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: audienceEntry
+ label: ""
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scopes
+ label: "Scopes"
+ description: "Scopes this client is allowed to request."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ScopeEntry
+ label: "Scope"
+ schema:
+ type: string
+ default: "openid"
+ required: true
+ - variable: redirect_uris
+ label: "redirect_uris"
+ description: "Redirect URI's specifies a list of valid case-sensitive callbacks for this client."
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: uriEntry
+ label: "Url"
+ schema:
+ type: string
+ default: "https://oidc.example.com/oauth2/callback"
+ required: true
+ - variable: grant_types
+ description: "Grant Types configures which grants this client can obtain."
+ label: "grant_types"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: grantEntry
+ label: "Grant"
+ schema:
+ type: string
+ default: "refresh_token"
+ required: true
+ - variable: response_types
+ description: "Response Types configures which responses this client can be sent."
+ label: "response_types"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: responseEntry
+ label: "type"
+ schema:
+ type: string
+ default: "code"
+ required: true
+ - variable: response_modes
+ description: "Response Modes configures which response modes this client supports."
+ label: "response_modes"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: modeEntry
+ label: "Mode"
+ schema:
+ type: string
+ default: "form_post"
+ required: true
diff --git a/stable/authelia/11.0.27/templates/_configmap.tpl b/stable/authelia/11.0.27/templates/_configmap.tpl
new file mode 100644
index 0000000000..57d7532003
--- /dev/null
+++ b/stable/authelia/11.0.27/templates/_configmap.tpl
@@ -0,0 +1,248 @@
+{{/* Define the configmap */}}
+{{- define "authelia.configmap" -}}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: authelia-paths
+data:
+ AUTHELIA_SERVER_DISABLE_HEALTHCHECK: "true"
+ AUTHELIA_JWT_SECRET_FILE: "/secrets/JWT_TOKEN"
+ AUTHELIA_SESSION_SECRET_FILE: "/secrets/SESSION_ENCRYPTION_KEY"
+ AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: "/secrets/ENCRYPTION_KEY"
+ AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: "/secrets/STORAGE_PASSWORD"
+ {{- if .Values.authentication_backend.ldap.enabled }}
+ AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE: "/secrets/LDAP_PASSWORD"
+ {{- end }}
+ {{- if .Values.notifier.smtp.enabled }}
+ AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: "/secrets/SMTP_PASSWORD"
+ {{- end }}
+ AUTHELIA_SESSION_REDIS_PASSWORD_FILE: "/secrets/REDIS_PASSWORD"
+ {{- if .Values.redisProvider.high_availability.enabled }}
+ AUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE: "/secrets/REDIS_SENTINEL_PASSWORD"
+ {{- end }}
+ {{- if .Values.duo_api.enabled }}
+ AUTHELIA_DUO_API_SECRET_KEY_FILE: "/secrets/DUO_API_KEY"
+ {{- end }}
+ {{- if .Values.identity_providers.oidc.enabled }}
+ AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE: "/secrets/OIDC_HMAC_SECRET"
+ AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE: "/secrets/OIDC_PRIVATE_KEY"
+ {{- end }}
+
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: authelia-configfile
+data:
+ configuration.yaml: |
+ ---
+ theme: {{ default "light" .Values.theme }}
+ default_redirection_url: {{ default (printf "https://www.%s" .Values.domain) .Values.default_redirection_url }}
+ server:
+ host: 0.0.0.0
+ port: {{ default 9091 .Values.server.port }}
+ {{- if not (eq "" (default "" .Values.server.path)) }}
+ path: {{ .Values.server.path }}
+ {{- end }}
+ read_buffer_size: {{ default 4096 .Values.server.read_buffer_size }}
+ write_buffer_size: {{ default 4096 .Values.server.write_buffer_size }}
+ enable_pprof: {{ default false .Values.server.enable_pprof }}
+ enable_expvars: {{ default false .Values.server.enable_expvars }}
+ log:
+ level: {{ default "info" .Values.log.level }}
+ format: {{ default "text" .Values.log.format }}
+ {{- if not (eq "" (default "" .Values.log.file_path)) }}
+ file_path: {{ .Values.log.file_path }}
+ keep_stdout: true
+ {{- end }}
+ totp:
+ issuer: {{ default .Values.domain .Values.totp.issuer }}
+ period: {{ default 30 .Values.totp.period }}
+ skew: {{ default 1 .Values.totp.skew }}
+ {{- if .Values.duo_api.enabled }}
+ duo_api:
+ hostname: {{ .Values.duo_api.hostname }}
+ integration_key: {{ .Values.duo_api.integration_key }}
+ {{- end }}
+ {{- with $auth := .Values.authentication_backend }}
+ authentication_backend:
+ disable_reset_password: {{ $auth.disable_reset_password }}
+ {{- if $auth.file.enabled }}
+ file:
+ path: {{ $auth.file.path }}
+ password: {{ toYaml $auth.file.password | nindent 10 }}
+ {{- end }}
+ {{- if $auth.ldap.enabled }}
+ ldap:
+ implementation: {{ default "custom" $auth.ldap.implementation }}
+ url: {{ $auth.ldap.url }}
+ timeout: {{ default "5s" $auth.ldap.timeout }}
+ start_tls: {{ $auth.ldap.start_tls }}
+ tls:
+ {{- if hasKey $auth.ldap.tls "server_name" }}
+ server_name: {{ default $auth.ldap.host $auth.ldap.tls.server_name }}
+ {{- end }}
+ minimum_version: {{ default "TLS1.2" $auth.ldap.tls.minimum_version }}
+ skip_verify: {{ default false $auth.ldap.tls.skip_verify }}
+ {{- if $auth.ldap.base_dn }}
+ base_dn: {{ $auth.ldap.base_dn }}
+ {{- end }}
+ {{- if $auth.ldap.username_attribute }}
+ username_attribute: {{ $auth.ldap.username_attribute }}
+ {{- end }}
+ {{- if $auth.ldap.additional_users_dn }}
+ additional_users_dn: {{ $auth.ldap.additional_users_dn }}
+ {{- end }}
+ {{- if $auth.ldap.users_filter }}
+ users_filter: {{ $auth.ldap.users_filter }}
+ {{- end }}
+ {{- if $auth.ldap.additional_groups_dn }}
+ additional_groups_dn: {{ $auth.ldap.additional_groups_dn }}
+ {{- end }}
+ {{- if $auth.ldap.groups_filter }}
+ groups_filter: {{ $auth.ldap.groups_filter }}
+ {{- end }}
+ {{- if $auth.ldap.group_name_attribute }}
+ group_name_attribute: {{ $auth.ldap.group_name_attribute }}
+ {{- end }}
+ {{- if $auth.ldap.mail_attribute }}
+ mail_attribute: {{ $auth.ldap.mail_attribute }}
+ {{- end }}
+ {{- if $auth.ldap.display_name_attribute }}
+ display_name_attribute: {{ $auth.ldap.display_name_attribute }}
+ {{- end }}
+ user: {{ $auth.ldap.user }}
+ {{- end }}
+ {{- end }}
+ {{- with $session := .Values.session }}
+ session:
+ name: {{ default "authelia_session" $session.name }}
+ domain: {{ required "A valid .Values.domain entry required!" $.Values.domain }}
+ same_site: {{ default "lax" $session.same_site }}
+ expiration: {{ default "1M" $session.expiration }}
+ inactivity: {{ default "5m" $session.inactivity }}
+ remember_me_duration: {{ default "1M" $session.remember_me_duration }}
+ {{- end }}
+ redis:
+ host: {{ .Values.redis.url.plain }}
+ {{- with $redis := .Values.redisProvider }}
+ port: {{ default 6379 $redis.port }}
+ {{- if not (eq $redis.username "") }}
+ username: {{ $redis.username }}
+ {{- end }}
+ maximum_active_connections: {{ default 8 $redis.maximum_active_connections }}
+ minimum_idle_connections: {{ default 0 $redis.minimum_idle_connections }}
+ {{- if $redis.tls.enabled }}
+ tls:
+ server_name: {{ $redis.tls.server_name }}
+ minimum_version: {{ default "TLS1.2" $redis.tls.minimum_version }}
+ skip_verify: {{ $redis.tls.skip_verify }}
+ {{- end }}
+ {{- if $redis.high_availability.enabled }}
+ high_availability:
+ sentinel_name: {{ $redis.high_availability.sentinel_name }}
+ {{- if $redis.high_availability.nodes }}
+ nodes: {{ toYaml $redis.high_availability.nodes | nindent 10 }}
+ {{- end }}
+ route_by_latency: {{ $redis.high_availability.route_by_latency }}
+ route_randomly: {{ $redis.high_availability.route_randomly }}
+ {{- end }}
+ {{- end }}
+ regulation: {{ toYaml .Values.regulation | nindent 6 }}
+ storage:
+ postgres:
+ host: {{ printf "%v-%v" .Release.Name "postgresql" }}
+ {{- with $storage := .Values.storage }}
+ port: {{ default 5432 $storage.postgres.port }}
+ database: {{ default "authelia" $storage.postgres.database }}
+ username: {{ default "authelia" $storage.postgres.username }}
+ timeout: {{ default "5s" $storage.postgres.timeout }}
+ sslmode: {{ default "disable" $storage.postgres.sslmode }}
+ {{- end }}
+ {{- with $notifier := .Values.notifier }}
+ notifier:
+ disable_startup_check: {{ $.Values.notifier.disable_startup_check }}
+ {{- if $notifier.filesystem.enabled }}
+ filesystem:
+ filename: {{ $notifier.filesystem.filename }}
+ {{- end }}
+ {{- if $notifier.smtp.enabled }}
+ smtp:
+ host: {{ $notifier.smtp.host }}
+ port: {{ default 25 $notifier.smtp.port }}
+ timeout: {{ default "5s" $notifier.smtp.timeout }}
+ username: {{ $notifier.smtp.username }}
+ sender: {{ $notifier.smtp.sender }}
+ identifier: {{ $notifier.smtp.identifier }}
+ subject: {{ $notifier.smtp.subject | quote }}
+ startup_check_address: {{ $notifier.smtp.startup_check_address }}
+ disable_require_tls: {{ $notifier.smtp.disable_require_tls }}
+ disable_html_emails: {{ $notifier.smtp.disable_html_emails }}
+ tls:
+ server_name: {{ default $notifier.smtp.host $notifier.smtp.tls.server_name }}
+ minimum_version: {{ default "TLS1.2" $notifier.smtp.tls.minimum_version }}
+ skip_verify: {{ default false $notifier.smtp.tls.skip_verify }}
+ {{- end }}
+ {{- end }}
+ {{- if .Values.identity_providers.oidc.enabled }}
+ identity_providers:
+ oidc:
+ access_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.access_token_lifespan }}
+ authorize_code_lifespan: {{ default "1m" .Values.identity_providers.oidc.authorize_code_lifespan }}
+ id_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.id_token_lifespan }}
+ refresh_token_lifespan: {{ default "90m" .Values.identity_providers.oidc.refresh_token_lifespan }}
+ enable_client_debug_messages: {{ default false .Values.identity_providers.oidc.enable_client_debug_messages }}
+ minimum_parameter_entropy: {{ default 8 .Values.identity_providers.oidc.minimum_parameter_entropy }}
+ {{- if gt (len .Values.identity_providers.oidc.clients) 0 }}
+ clients:
+ {{- range $client := .Values.identity_providers.oidc.clients }}
+ - id: {{ $client.id }}
+ description: {{ default $client.id $client.description }}
+ secret: {{ default (randAlphaNum 128) $client.secret }}
+ {{- if $client.public }}
+ public: {{ $client.public }}
+ {{- end }}
+ authorization_policy: {{ default "two_factor" $client.authorization_policy }}
+ redirect_uris:
+ {{- range $client.redirect_uris }}
+ - {{ . }}
+ {{- end }}
+ {{- if $client.audience }}
+ audience: {{ toYaml $client.audience | nindent 10 }}
+ {{- end }}
+ scopes: {{ toYaml (default (list "openid" "profile" "email" "groups") $client.scopes) | nindent 10 }}
+ grant_types: {{ toYaml (default (list "refresh_token" "authorization_code") $client.grant_types) | nindent 10 }}
+ response_types: {{ toYaml (default (list "code") $client.response_types) | nindent 10 }}
+ {{- if $client.response_modes }}
+ response_modes: {{ toYaml $client.response_modes | nindent 10 }}
+ {{- end }}
+ userinfo_signing_algorithm: {{ default "none" $client.userinfo_signing_algorithm }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ access_control:
+ {{- if (eq (len .Values.access_control.rules) 0) }}
+ {{- if (eq .Values.access_control.default_policy "bypass") }}
+ default_policy: one_factor
+ {{- else if (eq .Values.access_control.default_policy "deny") }}
+ default_policy: two_factor
+ {{- else }}
+ default_policy: {{ .Values.access_control.default_policy }}
+ {{- end }}
+ {{- else }}
+ default_policy: {{ .Values.access_control.default_policy }}
+ {{- end }}
+ {{- if (eq (len .Values.access_control.networks) 0) }}
+ networks: []
+ {{- else }}
+ networks: {{ toYaml .Values.access_control.networks | nindent 6 }}
+ {{- end }}
+ {{- if (eq (len .Values.access_control.rules) 0) }}
+ rules: []
+ {{- else }}
+ rules: {{ toYaml .Values.access_control.rules | nindent 6 }}
+ {{- end }}
+ ...
+{{- end -}}
diff --git a/stable/authelia/11.0.27/templates/_secrets.tpl b/stable/authelia/11.0.27/templates/_secrets.tpl
new file mode 100644
index 0000000000..81fbe92ff7
--- /dev/null
+++ b/stable/authelia/11.0.27/templates/_secrets.tpl
@@ -0,0 +1,67 @@
+{{/* Define the secrets */}}
+{{- define "authelia.secrets" -}}
+---
+
+apiVersion: v1
+kind: Secret
+type: Opaque
+metadata:
+ name: authelia-secrets
+{{- $autheliaprevious := lookup "v1" "Secret" .Release.Namespace "authelia-secrets" }}
+{{- $oidckey := "" }}
+{{- $oidcsecret := "" }}
+{{- $jwtsecret := "" }}
+{{- $sessionsecret := "" }}
+{{- $encryptionkey := "" }}
+data:
+ {{- if $autheliaprevious }}
+ SESSION_ENCRYPTION_KEY: {{ index $autheliaprevious.data "SESSION_ENCRYPTION_KEY" }}
+ JWT_TOKEN: {{ index $autheliaprevious.data "JWT_TOKEN" }}
+ {{- if ( hasKey $autheliaprevious.data "ENCRYPTION_KEY" ) }}
+ ENCRYPTION_KEY: {{ index $autheliaprevious.data "ENCRYPTION_KEY" }}
+ {{- else }}
+ {{- $encryptionkey := randAlphaNum 100 }}
+ ENCRYPTION_KEY: {{ $encryptionkey | b64enc }}
+ {{- end }}
+ {{- else }}
+ {{- $jwtsecret := randAlphaNum 50 }}
+ {{- $sessionsecret := randAlphaNum 50 }}
+ {{- $encryptionkey := randAlphaNum 100 }}
+ SESSION_ENCRYPTION_KEY: {{ $sessionsecret | b64enc }}
+ JWT_TOKEN: {{ $jwtsecret | b64enc}}
+ ENCRYPTION_KEY: {{ $encryptionkey | b64enc }}
+ {{- end }}
+
+ {{- if .Values.authentication_backend.ldap.enabled }}
+ LDAP_PASSWORD: {{ .Values.authentication_backend.ldap.plain_password | b64enc | quote }}
+ {{- end }}
+
+ {{- if .Values.notifier.smtp.enabled }}
+ SMTP_PASSWORD: {{ .Values.notifier.smtp.plain_password | b64enc | quote }}
+ {{- end }}
+
+ {{- if .Values.duo_api.enabled }}
+ DUO_API_KEY: {{ .Values.duo_api.plain_api_key | b64enc }}
+ {{- end }}
+
+ STORAGE_PASSWORD: {{ .Values.postgresql.postgresqlPassword | trimAll "\"" | b64enc }}
+
+ REDIS_PASSWORD: {{ .Values.redis.redisPassword | trimAll "\"" | b64enc }}
+ {{- if .Values.redisProvider.high_availability.enabled}}
+ REDIS_SENTINEL_PASSWORD: {{ .Values.redis.sentinelPassword | trimAll "\"" | b64enc }}
+ {{- end }}
+
+ {{- if $autheliaprevious }}
+ {{- if and ( hasKey $autheliaprevious.data "OIDC_PRIVATE_KEY" ) ( hasKey $autheliaprevious.data "OIDC_HMAC_SECRET" ) }}
+ OIDC_PRIVATE_KEY: {{ index $autheliaprevious.data "OIDC_PRIVATE_KEY" }}
+ OIDC_HMAC_SECRET: {{ index $autheliaprevious.data "OIDC_HMAC_SECRET" }}
+ {{- else }}
+ {{- $oidckey := genPrivateKey "rsa" }}
+ {{- $oidcsecret := randAlphaNum 32 }}
+ OIDC_PRIVATE_KEY: {{ $oidckey | b64enc }}
+ OIDC_HMAC_SECRET: {{ $oidcsecret | b64enc }}
+ {{- end }}
+ {{- end }}
+
+
+{{- end -}}
diff --git a/stable/authelia/11.0.27/templates/common.yaml b/stable/authelia/11.0.27/templates/common.yaml
new file mode 100644
index 0000000000..614b468adf
--- /dev/null
+++ b/stable/authelia/11.0.27/templates/common.yaml
@@ -0,0 +1,74 @@
+{{/* Make sure all variables are set properly */}}
+{{- include "tc.common.loader.init" . }}
+
+{{/* Render configmap for authelia */}}
+{{- include "authelia.configmap" . }}
+
+{{/* Render secrets for authelia */}}
+{{- include "authelia.secrets" . }}
+
+{{/* Append the general configMap volume to the volumes */}}
+{{- define "authelia.configmapVolume" -}}
+enabled: "true"
+mountPath: " /configuration.yaml"
+readOnly: true
+subPath: configuration.yaml
+type: "custom"
+volumeSpec:
+ configMap:
+ name: authelia-configfile
+ items:
+ - key: configuration.yaml
+ path: configuration.yaml
+{{- end -}}
+
+{{/* Append the general secret volumes to the volumes */}}
+{{- define "authelia.secretVolumes" -}}
+enabled: "true"
+mountPath: "/secrets"
+readOnly: true
+type: "custom"
+volumeSpec:
+ secret:
+ secretName: authelia-secrets
+ items:
+ - key: "JWT_TOKEN"
+ path: JWT_TOKEN
+ - key: "SESSION_ENCRYPTION_KEY"
+ path: SESSION_ENCRYPTION_KEY
+ - key: "ENCRYPTION_KEY"
+ path: ENCRYPTION_KEY
+ - key: "STORAGE_PASSWORD"
+ path: STORAGE_PASSWORD
+ {{- if .Values.authentication_backend.ldap.enabled }}
+ - key: "LDAP_PASSWORD"
+ path: LDAP_PASSWORD
+ {{- end }}
+ {{- if .Values.notifier.smtp.enabled }}
+ - key: "SMTP_PASSWORD"
+ path: SMTP_PASSWORD
+ {{- end }}
+ - key: "REDIS_PASSWORD"
+ path: REDIS_PASSWORD
+ {{- if .Values.redisProvider.high_availability.enabled}}
+ - key: "REDIS_SENTINEL_PASSWORD"
+ path: REDIS_SENTINEL_PASSWORD
+ {{- end }}
+ {{- if .Values.duo_api.enabled }}
+ - key: "DUO_API_KEY"
+ path: DUO_API_KEY
+ {{- end }}
+ {{- if .Values.identity_providers.oidc.enabled }}
+ - key: "OIDC_PRIVATE_KEY"
+ path: OIDC_PRIVATE_KEY
+ - key: "OIDC_HMAC_SECRET"
+ path: OIDC_HMAC_SECRET
+ {{- end }}
+{{- end -}}
+
+{{- $_ := set .Values.persistence "authelia-configfile" (include "authelia.configmapVolume" . | fromYaml) -}}
+{{- $_ := set .Values.persistence "authelia-secrets" (include "authelia.secretVolumes" . | fromYaml) -}}
+
+
+{{/* Render the templates */}}
+{{ include "tc.common.loader.apply" . }}
diff --git a/stable/k8s-gateway/6.1.4/values.yaml b/stable/authelia/11.0.27/values.yaml
similarity index 100%
rename from stable/k8s-gateway/6.1.4/values.yaml
rename to stable/authelia/11.0.27/values.yaml
diff --git a/stable/calibre-web/11.0.25/CHANGELOG.md b/stable/calibre-web/11.0.25/CHANGELOG.md
new file mode 100644
index 0000000000..4e28f2c0ea
--- /dev/null
+++ b/stable/calibre-web/11.0.25/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [calibre-web-11.0.25](https://github.com/truecharts/apps/compare/calibre-web-11.0.24...calibre-web-11.0.25) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [calibre-web-11.0.24](https://github.com/truecharts/apps/compare/calibre-web-11.0.22...calibre-web-11.0.24) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+ - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268))
+
+
+
+## [calibre-web-11.0.22](https://github.com/truecharts/apps/compare/calibre-web-11.0.21...calibre-web-11.0.22) (2022-07-19)
+
+### Chore
+
+- Update Readme and Description on SCALE
+
+
+
+## [calibre-web-11.0.21](https://github.com/truecharts/apps/compare/calibre-web-11.0.20...calibre-web-11.0.21) (2022-07-16)
+
+### Chore
+
+- update docker general non-major ([#3192](https://github.com/truecharts/apps/issues/3192))
+
+
+
+## [calibre-web-11.0.20](https://github.com/truecharts/apps/compare/calibre-web-11.0.19...calibre-web-11.0.20) (2022-07-14)
+
+### Fix
+
+- regenerate catalog and update template
+
+
+
+## [calibre-web-11.0.19](https://github.com/truecharts/apps/compare/calibre-web-11.0.17...calibre-web-11.0.19) (2022-07-14)
+
+### Fix
+
+- bump to ensure .helmignore is present on all Charts
+
+
+
+## [calibre-web-11.0.17](https://github.com/truecharts/apps/compare/calibre-web-11.0.15...calibre-web-11.0.17) (2022-07-12)
+
+### Chore
+
+- update icons ([#3156](https://github.com/truecharts/apps/issues/3156))
+- bump to cleanup old docs and use correct icon urls
+
+
+
+## [calibre-web-11.0.15](https://github.com/truecharts/apps/compare/calibre-web-11.0.14...calibre-web-11.0.15) (2022-07-12)
+
+### Chore
+
+- bump to regenerate documentation
+
+
+
+
+### [calibre-web-11.0.14](https://github.com/truecharts/apps/compare/calibre-web-11.0.13...calibre-web-11.0.14) (2022-07-12)
+
+#### Chore
+
+* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147))
+* update docker general non-major ([#3150](https://github.com/truecharts/apps/issues/3150))
+
+
+
+
+### [calibre-web-11.0.13](https://github.com/truecharts/apps/compare/calibre-web-11.0.12...calibre-web-11.0.13) (2022-07-11)
+
+#### Chore
+
+* move icons into the apps folder ([#3139](https://github.com/truecharts/apps/issues/3139))
+
+
+
+
+### [calibre-web-11.0.12](https://github.com/truecharts/apps/compare/calibre-web-11.0.11...calibre-web-11.0.12) (2022-07-09)
+
+#### Chore
+
+* update helm general non-major helm releases ([#3113](https://github.com/truecharts/apps/issues/3113))
+
+
+
diff --git a/stable/calibre-web/11.0.25/Chart.lock b/stable/calibre-web/11.0.25/Chart.lock
new file mode 100644
index 0000000000..e0e556c370
--- /dev/null
+++ b/stable/calibre-web/11.0.25/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
+generated: "2022-07-23T11:59:01.183361017Z"
diff --git a/stable/calibre-web/11.0.25/Chart.yaml b/stable/calibre-web/11.0.25/Chart.yaml
new file mode 100644
index 0000000000..654090a329
--- /dev/null
+++ b/stable/calibre-web/11.0.25/Chart.yaml
@@ -0,0 +1,32 @@
+apiVersion: v2
+appVersion: "0.6.18"
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+deprecated: false
+description:
+ Calibre-Web is a web app providing a clean interface for browsing, reading
+ and downloading eBooks using an existing Calibre database.
+home: https://github.com/truecharts/apps/tree/master/charts/stable/calibre-web
+icon: https://truecharts.org/img/chart-icons/calibre-web.png
+keywords:
+ - calibre-web
+ - calibre
+ - ebook
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: calibre-web
+sources:
+ - https://hub.docker.com/r/linuxserver/calibre-web/
+ - https://github.com/janeczku/calibre-web
+type: application
+version: 11.0.25
+annotations:
+ truecharts.org/catagories: |
+ - media
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/stable/calibre-web/11.0.25/README.md b/stable/calibre-web/11.0.25/README.md
new file mode 100644
index 0000000000..999ba32ed6
--- /dev/null
+++ b/stable/calibre-web/11.0.25/README.md
@@ -0,0 +1,108 @@
+# calibre-web
+
+  
+
+Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [calibre-web](https://truecharts.org/docs/charts/stable/calibre-web)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://library-charts.truecharts.org | common | 10.4.6 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `calibre-web`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install calibre-web TrueCharts/calibre-web
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `calibre-web` deployment
+
+```console
+helm uninstall calibre-web
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install calibre-web \
+ --set env.TZ="America/New York" \
+ TrueCharts/calibre-web
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install calibre-web TrueCharts/calibre-web -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/stable/calibre-web/11.0.25/app-readme.md b/stable/calibre-web/11.0.25/app-readme.md
new file mode 100644
index 0000000000..ea1aded13f
--- /dev/null
+++ b/stable/calibre-web/11.0.25/app-readme.md
@@ -0,0 +1,8 @@
+Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/stable/calibre-web
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/stable/pihole/6.0.23/charts/common-10.4.6.tgz b/stable/calibre-web/11.0.25/charts/common-10.4.6.tgz
similarity index 100%
rename from stable/pihole/6.0.23/charts/common-10.4.6.tgz
rename to stable/calibre-web/11.0.25/charts/common-10.4.6.tgz
diff --git a/stable/calibre-web/11.0.25/ix_values.yaml b/stable/calibre-web/11.0.25/ix_values.yaml
new file mode 100644
index 0000000000..b1145c90ee
--- /dev/null
+++ b/stable/calibre-web/11.0.25/ix_values.yaml
@@ -0,0 +1,24 @@
+image:
+ repository: tccr.io/truecharts/calibre-web
+ pullPolicy: IfNotPresent
+ tag: v0.6.18@sha256:334d6a1c009b76d5f433e737e65f836b57e196330ce588a1c22d5703c1d9cfc6
+
+securityContext:
+ readOnlyRootFilesystem: false
+ runAsNonRoot: false
+
+podSecurityContext:
+ runAsUser: 0
+ runAsGroup: 0
+
+service:
+ main:
+ ports:
+ main:
+ port: 8083
+ targetPort: 8083
+
+persistence:
+ config:
+ enabled: true
+ mountPath: "/config"
diff --git a/stable/calibre-web/11.0.25/questions.yaml b/stable/calibre-web/11.0.25/questions.yaml
new file mode 100644
index 0000000000..a5ebbc7b26
--- /dev/null
+++ b/stable/calibre-web/11.0.25/questions.yaml
@@ -0,0 +1,2430 @@
+groups:
+ - name: "Container Image"
+ description: "Image to be used for container"
+ - name: "Controller"
+ description: "Configure workload deployment"
+ - name: "Container Configuration"
+ description: "additional container configuration"
+ - name: "App Configuration"
+ description: "App specific config options"
+ - name: "Networking and Services"
+ description: "Configure Network and Services for container"
+ - name: "Storage and Persistence"
+ description: "Persist and share data that is separate from the container"
+ - name: "Ingress"
+ description: "Ingress Configuration"
+ - name: "Security and Permissions"
+ description: "Configure security context and permissions"
+ - name: "Resources and Devices"
+ description: "Specify resources/devices to be allocated to workload"
+ - name: "Middlewares"
+ description: "Traefik Middlewares"
+ - name: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_portal_protocol"
+ host:
+ - "$kubernetes-resource_configmap_portal_host"
+ ports:
+ - "$kubernetes-resource_configmap_portal_port"
+questions:
+ - variable: portal
+ group: "Container Image"
+ label: "Configure Portal Button"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "enable the portal button"
+ schema:
+ hidden: true
+ editable: false
+ type: boolean
+ default: true
+ - variable: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: type
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Controller Type"
+ schema:
+ type: string
+ default: "deployment"
+ required: true
+ enum:
+ - value: "deployment"
+ description: "Deployment"
+ - value: "statefulset"
+ description: "Statefulset"
+ - value: "daemonset"
+ description: "Daemonset"
+ - variable: replicas
+ description: "Number of desired pod replicas"
+ label: "Desired Replicas"
+ schema:
+ type: int
+ default: 1
+ required: true
+ - variable: strategy
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Update Strategy"
+ schema:
+ type: string
+ default: "Recreate"
+ required: true
+ enum:
+ - value: "Recreate"
+ description: "Recreate: Kill existing pods before creating new ones"
+ - value: "RollingUpdate"
+ description: "RollingUpdate: Create new pods and then kill old ones"
+ - value: "OnDelete"
+ description: "(Legacy) OnDelete: ignore .spec.template changes"
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: " Controller Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: podAnnotationsList
+ group: "Container Configuration"
+ label: "Pod Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podAnnotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: service
+ group: "Networking and Services"
+ label: "Configure Service(s)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 8083
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 8083
+
+ - variable: serviceexpert
+ group: "Networking and Services"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ group: "Networking and Services"
+ label: "Host-Networking (Complicated)"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: externalInterfaces
+ description: "Add External Interfaces"
+ label: "Add external Interfaces"
+ group: "Networking"
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: "Interface Configuration"
+ label: "Interface Configuration"
+ schema:
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: "Please specify host interface"
+ label: "Host Interface"
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: "Define how IP Address will be managed"
+ label: "IP Address Management"
+ schema:
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: "Specify type for IPAM"
+ label: "IPAM Type"
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: "dhcp"
+ description: "Use DHCP"
+ - value: "static"
+ description: "Use static IP"
+ show_subquestions_if: "static"
+ subquestions:
+ - variable: staticIPConfigurations
+ label: "Static IP Addresses"
+ schema:
+ type: list
+ items:
+ - variable: staticIP
+ label: "Static IP"
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: "Static Routes"
+ schema:
+ type: list
+ items:
+ - variable: staticRouteConfiguration
+ label: "Static Route Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: "Destination"
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: "Gateway"
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: dnsPolicy
+ group: "Networking and Services"
+ label: "dnsPolicy"
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "ClusterFirst"
+ description: "ClusterFirst"
+ - value: "ClusterFirstWithHostNet"
+ description: "ClusterFirstWithHostNet"
+ - value: "None"
+ description: "None"
+
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ group: "Networking and Services"
+ description: "Specify custom DNS configuration which will be applied to the pod"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: nameserver
+ label: "Nameserver"
+ schema:
+ type: string
+ - variable: options
+ label: "options"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: option
+ label: "Option Entry"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: searches
+ label: "Searches"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: search
+ label: "Search Entry"
+ schema:
+ type: string
+
+ - variable: serviceList
+ label: "Add Manual Custom Services"
+ group: "Networking and Services"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: "Custom Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: portsList
+ label: "Additional Service Ports"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: "Custom ports"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the port"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Port Name"
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "TCP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: targetPort
+ label: "Target Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ required: true
+ - variable: port
+ label: "Container Port"
+ schema:
+ type: int
+ required: true
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+
+ - variable: persistence
+ label: "Integrated Persistent Storage"
+ description: "Integrated Persistent Storage"
+ group: "Storage and Persistence"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: config
+ 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: "simplePVC"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: persistenceList
+ label: "Additional app storage"
+ group: "Storage and Persistence"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: "Custom Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name (optional)"
+ description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
+ schema:
+ type: string
+ - variable: type
+ label: "Type of Storage"
+ description: "Sets the persistence type, Anything other than PVC could break rollback!"
+ schema:
+ type: string
+ default: "simpleHP"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: "mountPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+
+ - variable: entrypoint
+ label: "(Advanced) Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+ - variable: service
+ label: "Linked Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Service Name"
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: "Service Port"
+ schema:
+ type: int
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: entrypoint
+ label: "Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: false
+ - variable: allowPrivilegeEscalation
+ label: "Allow Privilege Escalation"
+ schema:
+ type: boolean
+ default: false
+ - variable: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: false
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 0
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 0
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: "Target"
+# description: "deployment name, defaults to main deployment"
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: "Minimum Replicas"
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: "Maximum Replicas"
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: "Target CPU Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: "Target Memory Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "NodePort"
+ enum:
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
diff --git a/stable/calibre-web/11.0.25/templates/common.yaml b/stable/calibre-web/11.0.25/templates/common.yaml
new file mode 100644
index 0000000000..c1a366e1cf
--- /dev/null
+++ b/stable/calibre-web/11.0.25/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "tc.common.loader.all" . }}
diff --git a/stable/pihole/6.0.23/values.yaml b/stable/calibre-web/11.0.25/values.yaml
similarity index 100%
rename from stable/pihole/6.0.23/values.yaml
rename to stable/calibre-web/11.0.25/values.yaml
diff --git a/stable/k8s-gateway/6.1.4/Chart.lock b/stable/k8s-gateway/6.1.4/Chart.lock
deleted file mode 100644
index f98b24acd2..0000000000
--- a/stable/k8s-gateway/6.1.4/Chart.lock
+++ /dev/null
@@ -1,6 +0,0 @@
-dependencies:
-- name: common
- repository: https://library-charts.truecharts.org
- version: 10.4.6
-digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-22T23:58:40.636771902Z"
diff --git a/stable/k8s-gateway/6.1.4/CHANGELOG.md b/stable/k8s-gateway/6.1.5/CHANGELOG.md
similarity index 89%
rename from stable/k8s-gateway/6.1.4/CHANGELOG.md
rename to stable/k8s-gateway/6.1.5/CHANGELOG.md
index a8de56b27f..5abbdd0aea 100644
--- a/stable/k8s-gateway/6.1.4/CHANGELOG.md
+++ b/stable/k8s-gateway/6.1.5/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [k8s-gateway-6.1.5](https://github.com/truecharts/apps/compare/k8s-gateway-6.1.4...k8s-gateway-6.1.5) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
## [k8s-gateway-6.1.4](https://github.com/truecharts/apps/compare/k8s-gateway-6.1.2...k8s-gateway-6.1.4) (2022-07-22)
### Chore
@@ -88,12 +97,3 @@
-### [k8s-gateway-6.0.8](https://github.com/truecharts/apps/compare/k8s-gateway-6.0.7...k8s-gateway-6.0.8) (2022-07-04)
-
-#### Chore
-
-* update helm general non-major helm releases ([#3066](https://github.com/truecharts/apps/issues/3066))
-
-
-
-
diff --git a/stable/k8s-gateway/6.1.5/Chart.lock b/stable/k8s-gateway/6.1.5/Chart.lock
new file mode 100644
index 0000000000..23257de0e2
--- /dev/null
+++ b/stable/k8s-gateway/6.1.5/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
+generated: "2022-07-23T11:59:01.80010961Z"
diff --git a/stable/k8s-gateway/6.1.4/Chart.yaml b/stable/k8s-gateway/6.1.5/Chart.yaml
similarity index 97%
rename from stable/k8s-gateway/6.1.4/Chart.yaml
rename to stable/k8s-gateway/6.1.5/Chart.yaml
index cba9d8aa74..fe1ede351c 100644
--- a/stable/k8s-gateway/6.1.4/Chart.yaml
+++ b/stable/k8s-gateway/6.1.5/Chart.yaml
@@ -20,7 +20,7 @@ name: k8s-gateway
sources:
- https://github.com/ori-edge/k8s_gateway
type: application
-version: 6.1.4
+version: 6.1.5
annotations:
truecharts.org/catagories: |
- networking
diff --git a/stable/k8s-gateway/6.1.4/README.md b/stable/k8s-gateway/6.1.5/README.md
similarity index 98%
rename from stable/k8s-gateway/6.1.4/README.md
rename to stable/k8s-gateway/6.1.5/README.md
index c28da2f13a..6f97fe6fa6 100644
--- a/stable/k8s-gateway/6.1.4/README.md
+++ b/stable/k8s-gateway/6.1.5/README.md
@@ -1,6 +1,6 @@
# k8s-gateway
-  
+  
A Helm chart for the k8s_gateway CoreDNS plugin
diff --git a/stable/k8s-gateway/6.1.4/app-readme.md b/stable/k8s-gateway/6.1.5/app-readme.md
similarity index 100%
rename from stable/k8s-gateway/6.1.4/app-readme.md
rename to stable/k8s-gateway/6.1.5/app-readme.md
diff --git a/stable/k8s-gateway/6.1.5/charts/common-10.4.6.tgz b/stable/k8s-gateway/6.1.5/charts/common-10.4.6.tgz
new file mode 100644
index 0000000000..4f269521ba
Binary files /dev/null and b/stable/k8s-gateway/6.1.5/charts/common-10.4.6.tgz differ
diff --git a/stable/k8s-gateway/6.1.4/ix_values.yaml b/stable/k8s-gateway/6.1.5/ix_values.yaml
similarity index 97%
rename from stable/k8s-gateway/6.1.4/ix_values.yaml
rename to stable/k8s-gateway/6.1.5/ix_values.yaml
index b3baa23823..206c48d8f0 100644
--- a/stable/k8s-gateway/6.1.4/ix_values.yaml
+++ b/stable/k8s-gateway/6.1.5/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/k8s_gateway
pullPolicy: IfNotPresent
- tag: v0.3.0@sha256:035b4488071258db2f2e543c21c93f1c6ca5fbf13ae132aac9579afa5843a4b9
+ tag: v0.3.0@sha256:7e14bd0b38afb496d4a452b2221e293bc34ba0f95c73595c590f92c19230ec46
controller:
# -- Set additional annotations on the deployment/statefulset/daemonset
diff --git a/stable/k8s-gateway/6.1.4/questions.yaml b/stable/k8s-gateway/6.1.5/questions.yaml
similarity index 100%
rename from stable/k8s-gateway/6.1.4/questions.yaml
rename to stable/k8s-gateway/6.1.5/questions.yaml
diff --git a/stable/k8s-gateway/6.1.4/templates/_configmap.tpl b/stable/k8s-gateway/6.1.5/templates/_configmap.tpl
similarity index 100%
rename from stable/k8s-gateway/6.1.4/templates/_configmap.tpl
rename to stable/k8s-gateway/6.1.5/templates/_configmap.tpl
diff --git a/stable/k8s-gateway/6.1.4/templates/common.yaml b/stable/k8s-gateway/6.1.5/templates/common.yaml
similarity index 100%
rename from stable/k8s-gateway/6.1.4/templates/common.yaml
rename to stable/k8s-gateway/6.1.5/templates/common.yaml
diff --git a/stable/k8s-gateway/6.1.5/values.yaml b/stable/k8s-gateway/6.1.5/values.yaml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/stable/nextcloud/15.2.25/CHANGELOG.md b/stable/nextcloud/15.2.25/CHANGELOG.md
new file mode 100644
index 0000000000..641a884bc3
--- /dev/null
+++ b/stable/nextcloud/15.2.25/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [nextcloud-15.2.25](https://github.com/truecharts/apps/compare/nextcloud-15.2.24...nextcloud-15.2.25) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [nextcloud-15.2.24](https://github.com/truecharts/apps/compare/nextcloud-15.2.23...nextcloud-15.2.24) (2022-07-23)
+
+### Chore
+
+- update helm general non-major helm releases ([#3274](https://github.com/truecharts/apps/issues/3274))
+
+
+
+
+## [nextcloud-15.2.23](https://github.com/truecharts/apps/compare/nextcloud-15.2.21...nextcloud-15.2.23) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+ - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268))
+ - update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266))
+
+
+
+## [nextcloud-15.2.21](https://github.com/truecharts/apps/compare/nextcloud-15.2.20...nextcloud-15.2.21) (2022-07-22)
+
+### Chore
+
+- update docker general non-major ([#3258](https://github.com/truecharts/apps/issues/3258))
+
+
+
+## [nextcloud-15.2.20](https://github.com/truecharts/apps/compare/nextcloud-15.2.19...nextcloud-15.2.20) (2022-07-20)
+
+### Chore
+
+- update docker general non-major ([#3222](https://github.com/truecharts/apps/issues/3222))
+
+
+
+## [nextcloud-15.2.19](https://github.com/truecharts/apps/compare/nextcloud-15.2.18...nextcloud-15.2.19) (2022-07-19)
+
+### Chore
+
+- Update Readme and Description on SCALE
+
+
+
+## [nextcloud-15.2.18](https://github.com/truecharts/apps/compare/nextcloud-15.2.17...nextcloud-15.2.18) (2022-07-16)
+
+### Chore
+
+- update docker general non-major ([#3192](https://github.com/truecharts/apps/issues/3192))
+
+
+
+## [nextcloud-15.2.17](https://github.com/truecharts/apps/compare/nextcloud-15.2.16...nextcloud-15.2.17) (2022-07-15)
+
+### Chore
+
+- update docker general non-major ([#3184](https://github.com/truecharts/apps/issues/3184))
+
+
+
+## [nextcloud-15.2.16](https://github.com/truecharts/apps/compare/nextcloud-15.2.15...nextcloud-15.2.16) (2022-07-14)
+
+### Fix
+
+- regenerate catalog and update template
+
+
+
+## [nextcloud-15.2.15](https://github.com/truecharts/apps/compare/nextcloud-15.2.13...nextcloud-15.2.15) (2022-07-14)
+
+### Fix
+
+- bump to ensure .helmignore is present on all Charts
+
+
+
+## [nextcloud-15.2.13](https://github.com/truecharts/apps/compare/nextcloud-15.2.12...nextcloud-15.2.13) (2022-07-14)
+
+### Chore
+
+- update docker general non-major ([#3171](https://github.com/truecharts/apps/issues/3171))
+
+
+
+## [nextcloud-15.2.12](https://github.com/truecharts/apps/compare/nextcloud-15.2.11...nextcloud-15.2.12) (2022-07-13)
+
+### Chore
diff --git a/stable/nextcloud/15.2.25/Chart.lock b/stable/nextcloud/15.2.25/Chart.lock
new file mode 100644
index 0000000000..583b946055
--- /dev/null
+++ b/stable/nextcloud/15.2.25/Chart.lock
@@ -0,0 +1,15 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+- name: postgresql
+ repository: https://charts.truecharts.org/
+ version: 8.0.43
+- name: collabora-online
+ repository: https://charts.truecharts.org/
+ version: 12.1.20
+- name: redis
+ repository: https://charts.truecharts.org
+ version: 3.0.42
+digest: sha256:5d6a45f180b678d16fe488ab0208cfd550a74db1b79db6efd084275d98776b62
+generated: "2022-07-23T11:59:48.276316039Z"
diff --git a/stable/nextcloud/15.2.25/Chart.yaml b/stable/nextcloud/15.2.25/Chart.yaml
new file mode 100644
index 0000000000..411e6ee1e1
--- /dev/null
+++ b/stable/nextcloud/15.2.25/Chart.yaml
@@ -0,0 +1,46 @@
+apiVersion: v2
+appVersion: "24.0.3"
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+ - condition: postgresql.enabled
+ name: postgresql
+ repository: https://charts.truecharts.org/
+ version: 8.0.43
+ - condition: collabora.enabled
+ name: collabora-online
+ repository: https://charts.truecharts.org/
+ version: 12.1.20
+ - condition: redis.enabled
+ name: redis
+ repository: https://charts.truecharts.org
+ version: 3.0.42
+deprecated: false
+description:
+ A private cloud server that puts the control and security of your own
+ data back into your hands.
+home: https://github.com/truecharts/apps/tree/master/charts/stable/nextcloud
+icon: https://truecharts.org/img/chart-icons/nextcloud.png
+keywords:
+ - nextcloud
+ - storage
+ - http
+ - web
+ - php
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: nextcloud
+sources:
+ - https://github.com/nextcloud/docker
+ - https://github.com/nextcloud/helm
+type: application
+version: 15.2.25
+annotations:
+ truecharts.org/catagories: |
+ - cloud
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/stable/nextcloud/15.2.25/README.md b/stable/nextcloud/15.2.25/README.md
new file mode 100644
index 0000000000..e7f739b2f4
--- /dev/null
+++ b/stable/nextcloud/15.2.25/README.md
@@ -0,0 +1,111 @@
+# nextcloud
+
+  
+
+A private cloud server that puts the control and security of your own data back into your hands.
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [nextcloud](https://truecharts.org/docs/charts/stable/nextcloud)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://charts.truecharts.org/ | collabora-online | 12.1.20 |
+| https://charts.truecharts.org/ | postgresql | 8.0.43 |
+| https://charts.truecharts.org | redis | 3.0.42 |
+| https://library-charts.truecharts.org | common | 10.4.6 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `nextcloud`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install nextcloud TrueCharts/nextcloud
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `nextcloud` deployment
+
+```console
+helm uninstall nextcloud
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install nextcloud \
+ --set env.TZ="America/New York" \
+ TrueCharts/nextcloud
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install nextcloud TrueCharts/nextcloud -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/stable/nextcloud/15.2.25/app-readme.md b/stable/nextcloud/15.2.25/app-readme.md
new file mode 100644
index 0000000000..a9578ec10a
--- /dev/null
+++ b/stable/nextcloud/15.2.25/app-readme.md
@@ -0,0 +1,8 @@
+A private cloud server that puts the control and security of your own data back into your hands.
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/stable/nextcloud
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/stable/nextcloud/15.2.25/charts/collabora-online-12.1.20.tgz b/stable/nextcloud/15.2.25/charts/collabora-online-12.1.20.tgz
new file mode 100644
index 0000000000..22a008c446
Binary files /dev/null and b/stable/nextcloud/15.2.25/charts/collabora-online-12.1.20.tgz differ
diff --git a/stable/nextcloud/15.2.25/charts/common-10.4.6.tgz b/stable/nextcloud/15.2.25/charts/common-10.4.6.tgz
new file mode 100644
index 0000000000..4f269521ba
Binary files /dev/null and b/stable/nextcloud/15.2.25/charts/common-10.4.6.tgz differ
diff --git a/stable/nextcloud/15.2.25/charts/postgresql-8.0.43.tgz b/stable/nextcloud/15.2.25/charts/postgresql-8.0.43.tgz
new file mode 100644
index 0000000000..179ed6087e
Binary files /dev/null and b/stable/nextcloud/15.2.25/charts/postgresql-8.0.43.tgz differ
diff --git a/stable/nextcloud/15.2.25/charts/redis-3.0.42.tgz b/stable/nextcloud/15.2.25/charts/redis-3.0.42.tgz
new file mode 100644
index 0000000000..a82d4d5a2f
Binary files /dev/null and b/stable/nextcloud/15.2.25/charts/redis-3.0.42.tgz differ
diff --git a/stable/nextcloud/15.2.25/ci/basic-values.yaml b/stable/nextcloud/15.2.25/ci/basic-values.yaml
new file mode 100644
index 0000000000..0e1ca14554
--- /dev/null
+++ b/stable/nextcloud/15.2.25/ci/basic-values.yaml
@@ -0,0 +1,11 @@
+env:
+ # IP used for exposing nextcloud
+ # Often the service or nodePort IP
+ AccessIP: "127.0.0.1"
+
+service:
+ main:
+ ports:
+ main:
+ port: 8080
+ targetPort: 8080
diff --git a/stable/nextcloud/15.2.25/ix_values.yaml b/stable/nextcloud/15.2.25/ix_values.yaml
new file mode 100644
index 0000000000..006bd940b9
--- /dev/null
+++ b/stable/nextcloud/15.2.25/ix_values.yaml
@@ -0,0 +1,423 @@
+image:
+ repository: tccr.io/truecharts/nextcloud-fpm
+ pullPolicy: IfNotPresent
+ tag: v24.0.3@sha256:b71da14022ff422260d69c1938cacf2ec9594704d7c1e3dfb5e8078fdf24cefb
+
+nginxImage:
+ repository: tccr.io/truecharts/nginx-unprivileged
+ pullPolicy: IfNotPresent
+ tag: 1.23.1@sha256:1375393812131c3e776ee2198619d3d931fcd847dacc819af97d28b14dac9d67
+
+imaginaryImage:
+ repository: h2non/imaginary
+ pullPolicy: IfNotPresent
+ tag: 1.2.4@sha256:7facb4221047a5e79b9e902f380247f4e5bf4376400d0badbeb738d3e1c2f654
+
+securityContext:
+ readOnlyRootFilesystem: false
+ runAsNonRoot: false
+
+podSecurityContext:
+ runAsUser: 0
+ runAsGroup: 0
+ fsGroup: 33
+
+service:
+ main:
+ ports:
+ main:
+ port: 10020
+ targetPort: 8080
+ backend:
+ enabled: true
+ ports:
+ hpb:
+ enabled: true
+ port: 7867
+ targetPort: 7867
+ hpb-metrics:
+ enabled: true
+ port: 7868
+ targetPort: 7868
+ fpm:
+ enabled: true
+ port: 9000
+ targetPort: 9000
+ imaginary:
+ enabled: true
+ port: 9090
+ targetPort: 9090
+
+hostAliases:
+ - ip: '{{ .Values.env.AccessIP | default "127.0.0.1" }}'
+ hostnames:
+ - "{{ if .Values.ingress.main.enabled }}{{ with (first .Values.ingress.main.hosts) }}{{ .host }}{{ end }}{{ else }}placeholder.fakedomain.dns{{ end }}"
+
+secretEnv:
+ NEXTCLOUD_ADMIN_USER: "admin"
+ NEXTCLOUD_ADMIN_PASSWORD: "adminpass"
+
+probes:
+ liveness:
+ custom: true
+ spec:
+ initialDelaySeconds: 25
+ httpGet:
+ path: /status.php
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+
+ readiness:
+ custom: true
+ spec:
+ initialDelaySeconds: 25
+ httpGet:
+ path: /status.php
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+
+ startup:
+ custom: true
+ spec:
+ initialDelaySeconds: 25
+ httpGet:
+ path: /status.php
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+
+initContainers:
+ prestart:
+ image: '{{ include "tc.common.images.selector" . }}'
+ securityContext:
+ runAsUser: 0
+ runAsGroup: 0
+ privileged: true
+ command:
+ - "/bin/sh"
+ - "-c"
+ - |
+ /bin/bash <<'EOF'
+ if [[ -f /data/config/config.php ]] && [[ ! -f /html/config/config.php ]]; then
+ echo "migrating from single to dual PVC's..."
+ echo "moving to placeholder location..."
+ mv -f /var/www/html/data/* /var/www/html/data/tomigrate/
+ echo "moving userdata to data-pvc root..."
+ mv -f /var/www/html/data/tomigrate/data/* /var/www/html/data/
+ echo "removing old data folder..."
+ rm -rf /var/www/html/data/tomigrate/data
+ echo "moving config, apps, templates and other content to html-pvc root..."
+ mv -f /var/www/html/data/tomigrate/* /var/www/html/
+ echo "Removing migration temporary folder..."
+ rm -rf /var/www/html/data/tomigrate
+ fi
+ echo "Enforcing chmod 770 on data-dir..."
+ chmod 770 /var/www/html/data
+ echo "Migrating old data when found..."
+ EOF
+
+ volumeMounts:
+ - name: data
+ mountPath: "/var/www/html/data"
+ - name: html
+ mountPath: "/var/www/html"
+
+env:
+ # IP used for exposing nextcloud
+ # Often the service or nodePort IP
+ # Defaults to the main serviceName for CI purposes.
+ AccessIP:
+ NEXTCLOUD_INIT_HTACCESS: true
+ PHP_INI_MEMORY_LIMIT: 1G
+ PHP_UPLOAD_LIMIT: 10G
+ NEXTCLOUD_CHUNKSIZE: "31457280"
+ TRUSTED_PROXIES: "172.16.0.0/16 127.0.0.1"
+ POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}"
+ POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}"
+ POSTGRES_PASSWORD:
+ secretKeyRef:
+ name: dbcreds
+ key: postgresql-password
+ POSTGRES_HOST:
+ secretKeyRef:
+ name: dbcreds
+ key: plainporthost
+ REDIS_HOST:
+ secretKeyRef:
+ name: rediscreds
+ key: plainhost
+ REDIS_HOST_PASSWORD:
+ secretKeyRef:
+ name: rediscreds
+ key: redis-password
+
+envFrom:
+ - configMapRef:
+ name: nextcloudconfig
+
+persistence:
+ html:
+ enabled: true
+ mountPath: "/var/www/html"
+ data:
+ enabled: true
+ mountPath: "/var/www/html/data"
+ varrun:
+ enabled: true
+ cache:
+ enabled: true
+ type: emptyDir
+ mountPath: /var/cache/nginx
+ medium: Memory
+ nginx:
+ enabled: "true"
+ mountPath: "/etc/nginx"
+ noMount: true
+ readOnly: true
+ type: "custom"
+ volumeSpec:
+ configMap:
+ name: '{{ include "tc.common.names.fullname" . }}-nginx'
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+
+configmap:
+ nginx:
+ enabled: true
+ data:
+ nginx.conf: |-
+ worker_processes auto;
+
+ error_log /var/log/nginx/error.log warn;
+ pid /var/run/nginx.pid;
+
+
+ events {
+ worker_connections 1024;
+ }
+
+
+ http {
+ include /etc/nginx/mime.types;
+ default_type application/octet-stream;
+
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
+ '$status $body_bytes_sent "$http_referer" '
+ '"$http_user_agent" "$http_x_forwarded_for"';
+
+ access_log /var/log/nginx/access.log main;
+
+ sendfile on;
+ #tcp_nopush on;
+
+ # Prevent nginx HTTP Server Detection
+ server_tokens off;
+
+ keepalive_timeout 65;
+
+ #gzip on;
+
+ upstream php-handler {
+ server 127.0.0.1:9000;
+ }
+
+ server {
+ listen 8080;
+ absolute_redirect off;
+
+ # Forward Notify_Push "High Performance Backend" to it's own container
+ location ^~ /push/ {
+ proxy_pass http://127.0.0.1:7867/;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "Upgrade";
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+
+ # HSTS settings
+ # WARNING: Only add the preload option once you read about
+ # the consequences in https://hstspreload.org/. This option
+ # will add the domain to a hardcoded list that is shipped
+ # in all major browsers and getting removed from this list
+ # could take several months.
+ #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
+
+ # set max upload size
+ client_max_body_size 512M;
+ fastcgi_buffers 64 4K;
+
+ # Enable gzip but do not remove ETag headers
+ gzip on;
+ gzip_vary on;
+ gzip_comp_level 4;
+ gzip_min_length 256;
+ gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
+ gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
+
+ # Pagespeed is not supported by Nextcloud, so if your server is built
+ # with the `ngx_pagespeed` module, uncomment this line to disable it.
+ #pagespeed off;
+
+ # HTTP response headers borrowed from Nextcloud `.htaccess`
+ add_header Referrer-Policy "no-referrer" always;
+ add_header X-Content-Type-Options "nosniff" always;
+ add_header X-Download-Options "noopen" always;
+ add_header X-Frame-Options "SAMEORIGIN" always;
+ add_header X-Permitted-Cross-Domain-Policies "none" always;
+ add_header X-Robots-Tag "none" always;
+ add_header X-XSS-Protection "1; mode=block" always;
+
+ # Remove X-Powered-By, which is an information leak
+ fastcgi_hide_header X-Powered-By;
+
+ # Path to the root of your installation
+ root /var/www/html;
+
+ # Specify how to handle directories -- specifying `/index.php$request_uri`
+ # here as the fallback means that Nginx always exhibits the desired behaviour
+ # when a client requests a path that corresponds to a directory that exists
+ # on the server. In particular, if that directory contains an index.php file,
+ # that file is correctly served; if it doesn't, then the request is passed to
+ # the front-end controller. This consistent behaviour means that we don't need
+ # to specify custom rules for certain paths (e.g. images and other assets,
+ # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
+ # `try_files $uri $uri/ /index.php$request_uri`
+ # always provides the desired behaviour.
+ index index.php index.html /index.php$request_uri;
+
+ # Rule borrowed from `.htaccess` to handle Microsoft DAV clients
+ location = / {
+ if ( $http_user_agent ~ ^DavClnt ) {
+ return 302 /remote.php/webdav/$is_args$args;
+ }
+ }
+
+ location = /robots.txt {
+ allow all;
+ log_not_found off;
+ access_log off;
+ }
+
+ # Make a regex exception for `/.well-known` so that clients can still
+ # access it despite the existence of the regex rule
+ # `location ~ /(\.|autotest|...)` which would otherwise handle requests
+ # for `/.well-known`.
+ location ^~ /.well-known {
+ # The rules in this block are an adaptation of the rules
+ # in `.htaccess` that concern `/.well-known`.
+
+ location = /.well-known/carddav { return 301 /remote.php/dav/; }
+ location = /.well-known/caldav { return 301 /remote.php/dav/; }
+
+ # according to the documentation these two lines are not necessary, but some users are still recieving errors
+ location = /.well-known/webfinger { return 301 /index.php$uri; }
+ location = /.well-known/nodeinfo { return 301 /index.php$uri; }
+
+ location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
+ location /.well-known/pki-validation { try_files $uri $uri/ =404; }
+
+ # Let Nextcloud's API for `/.well-known` URIs handle all other
+ # requests by passing them to the front-end controller.
+ return 301 /index.php$request_uri;
+ }
+
+ # Rules borrowed from `.htaccess` to hide certain paths from clients
+ location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
+ location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
+
+ # Ensure this block, which passes PHP files to the PHP process, is above the blocks
+ # which handle static assets (as seen below). If this block is not declared first,
+ # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
+ # to the URI, resulting in a HTTP 500 error response.
+ location ~ \.php(?:$|/) {
+ # Required for legacy support
+ rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
+
+ fastcgi_split_path_info ^(.+?\.php)(/.*)$;
+ set $path_info $fastcgi_path_info;
+
+ try_files $fastcgi_script_name =404;
+
+ include fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ fastcgi_param PATH_INFO $path_info;
+ #fastcgi_param HTTPS on;
+
+ fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
+ fastcgi_param front_controller_active true; # Enable pretty urls
+ fastcgi_pass php-handler;
+
+ fastcgi_intercept_errors on;
+ fastcgi_request_buffering off;
+
+ proxy_send_timeout 300s;
+ proxy_read_timeout 300s;
+ fastcgi_send_timeout 300s;
+ fastcgi_read_timeout 300s;
+ }
+
+ location ~ \.(?:css|js|svg|gif)$ {
+ try_files $uri /index.php$request_uri;
+ expires 6M; # Cache-Control policy borrowed from `.htaccess`
+ access_log off; # Optional: Don't log access to assets
+ }
+
+ location ~ \.woff2?$ {
+ try_files $uri /index.php$request_uri;
+ expires 7d; # Cache-Control policy borrowed from `.htaccess`
+ access_log off; # Optional: Don't log access to assets
+ }
+
+ # Rule borrowed from `.htaccess`
+ location /remote {
+ return 301 /remote.php$request_uri;
+ }
+
+ location / {
+ try_files $uri $uri/ /index.php$request_uri;
+ }
+ }
+ }
+
+cronjob:
+ enabled: true
+ generatePreviews: true
+ schedule: "*/5 * * * *"
+ annotations: {}
+ failedJobsHistoryLimit: 5
+ successfulJobsHistoryLimit: 2
+
+hpb:
+ enabled: true
+
+imaginary:
+ enabled: true
+
+collabora:
+ enabled: false
+ env:
+ aliasgroup1:
+ configMapRef:
+ name: nextcloudconfig
+ key: aliasgroup1
+ dictionaries: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
+ extra_params: "--o:welcome.enable=false --o:logging.level=information --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false "
+ server_name: ""
+ DONT_GEN_SSL_CERT: true
+
+postgresql:
+ enabled: true
+ existingSecret: "dbcreds"
+ postgresqlUsername: nextcloud
+ postgresqlDatabase: nextcloud
+
+redis:
+ enabled: true
+ existingSecret: "rediscreds"
diff --git a/stable/nextcloud/15.2.25/questions.yaml b/stable/nextcloud/15.2.25/questions.yaml
new file mode 100644
index 0000000000..d95e876346
--- /dev/null
+++ b/stable/nextcloud/15.2.25/questions.yaml
@@ -0,0 +1,2665 @@
+groups:
+ - name: "Container Image"
+ description: "Image to be used for container"
+ - name: "Controller"
+ description: "Configure workload deployment"
+ - name: "Container Configuration"
+ description: "additional container configuration"
+ - name: "App Configuration"
+ description: "App specific config options"
+ - name: "Networking and Services"
+ description: "Configure Network and Services for container"
+ - name: "Storage and Persistence"
+ description: "Persist and share data that is separate from the container"
+ - name: "Ingress"
+ description: "Ingress Configuration"
+ - name: "Security and Permissions"
+ description: "Configure security context and permissions"
+ - name: "Resources and Devices"
+ description: "Specify resources/devices to be allocated to workload"
+ - name: "Middlewares"
+ description: "Traefik Middlewares"
+ - name: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ protocols:
+ - "$kubernetes-resource_configmap_portal_protocol"
+ host:
+ - "$kubernetes-resource_configmap_portal_host"
+ ports:
+ - "$kubernetes-resource_configmap_portal_port"
+questions:
+ - variable: portal
+ group: "Container Image"
+ label: "Configure Portal Button"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "enable the portal button"
+ schema:
+ hidden: true
+ editable: false
+ type: boolean
+ default: true
+ - variable: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: type
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Controller Type"
+ schema:
+ type: string
+ default: "deployment"
+ required: true
+ enum:
+ - value: "deployment"
+ description: "Deployment"
+ - value: "statefulset"
+ description: "Statefulset"
+ - value: "daemonset"
+ description: "Daemonset"
+ - variable: replicas
+ description: "Number of desired pod replicas"
+ label: "Desired Replicas"
+ schema:
+ type: int
+ default: 1
+ required: true
+ - variable: strategy
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Update Strategy"
+ schema:
+ type: string
+ default: "Recreate"
+ required: true
+ enum:
+ - value: "Recreate"
+ description: "Recreate: Kill existing pods before creating new ones"
+ - value: "RollingUpdate"
+ description: "RollingUpdate: Create new pods and then kill old ones"
+ - value: "OnDelete"
+ description: "(Legacy) OnDelete: ignore .spec.template changes"
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: " Controller Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: secretEnv
+ group: "Container Configuration"
+ label: "Image Secrets"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: NEXTCLOUD_ADMIN_USER
+ label: "NEXTCLOUD_ADMIN_USER (First Install Only)"
+ description: "Sets the initial nextcloud's admin username, changing this variable after first launch will NOT change admin's username"
+ schema:
+ type: string
+ required: true
+ default: "REPLACETHIS"
+ - variable: NEXTCLOUD_ADMIN_PASSWORD
+ label: "NEXTCLOUD_ADMIN_PASSWORD (First Install Only)"
+ description: "Sets the initial nextcloud's admin password, changing this variable after first launch will NOT change admin's password"
+ schema:
+ type: string
+ private: true
+ required: true
+ default: "REPLACETHIS"
+ - variable: env
+ group: "Container Configuration"
+ label: "Image Environment"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: TRUSTED_PROXIES
+ label: "Trusted Proxies (First Install Only - Advanced)"
+ description: "Sets nextcloud Trusted Proxies"
+ schema:
+ type: string
+ default: "172.16.0.0/16 127.0.0.1"
+ - variable: PHP_INI_MEMORY_LIMIT
+ label: "PHP_INI_MEMORY_LIMIT"
+ description: "Sets php memory_limit setting"
+ schema:
+ type: string
+ default: "1G"
+ - variable: PHP_UPLOAD_LIMIT
+ label: "PHP_UPLOAD_LIMIT"
+ description: "Sets php upload_max_filesize and post_max_size settings"
+ schema:
+ type: string
+ default: "10G"
+ - variable: AccessIP
+ label: "Access IP"
+ description: "Set to the IP-Address used to reach Nextcloud. Most often the Service or NodePort IP (Ensure this is correct!)"
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/nodeIP"
+
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: podAnnotationsList
+ group: "Container Configuration"
+ label: "Pod Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podAnnotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: service
+ group: "Networking and Services"
+ label: "Configure Service(s)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service Port Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ default: 10020
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 8080
+
+ - variable: serviceexpert
+ group: "Networking and Services"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hostNetwork
+ group: "Networking and Services"
+ label: "Host-Networking (Complicated)"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: externalInterfaces
+ description: "Add External Interfaces"
+ label: "Add external Interfaces"
+ group: "Networking"
+ schema:
+ type: list
+ items:
+ - variable: interfaceConfiguration
+ description: "Interface Configuration"
+ label: "Interface Configuration"
+ schema:
+ type: dict
+ $ref:
+ - "normalize/interfaceConfiguration"
+ attrs:
+ - variable: hostInterface
+ description: "Please specify host interface"
+ label: "Host Interface"
+ schema:
+ type: string
+ required: true
+ $ref:
+ - "definitions/interface"
+ - variable: ipam
+ description: "Define how IP Address will be managed"
+ label: "IP Address Management"
+ schema:
+ type: dict
+ required: true
+ attrs:
+ - variable: type
+ description: "Specify type for IPAM"
+ label: "IPAM Type"
+ schema:
+ type: string
+ required: true
+ enum:
+ - value: "dhcp"
+ description: "Use DHCP"
+ - value: "static"
+ description: "Use static IP"
+ show_subquestions_if: "static"
+ subquestions:
+ - variable: staticIPConfigurations
+ label: "Static IP Addresses"
+ schema:
+ type: list
+ items:
+ - variable: staticIP
+ label: "Static IP"
+ schema:
+ type: ipaddr
+ cidr: true
+ - variable: staticRoutes
+ label: "Static Routes"
+ schema:
+ type: list
+ items:
+ - variable: staticRouteConfiguration
+ label: "Static Route Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: destination
+ label: "Destination"
+ schema:
+ type: ipaddr
+ cidr: true
+ required: true
+ - variable: gateway
+ label: "Gateway"
+ schema:
+ type: ipaddr
+ cidr: false
+ required: true
+
+ - variable: dnsPolicy
+ group: "Networking and Services"
+ label: "dnsPolicy"
+ schema:
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "ClusterFirst"
+ description: "ClusterFirst"
+ - value: "ClusterFirstWithHostNet"
+ description: "ClusterFirstWithHostNet"
+ - value: "None"
+ description: "None"
+
+ - variable: dnsConfig
+ label: "DNS Configuration"
+ group: "Networking and Services"
+ description: "Specify custom DNS configuration which will be applied to the pod"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nameservers
+ label: "Nameservers"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: nameserver
+ label: "Nameserver"
+ schema:
+ type: string
+ - variable: options
+ label: "options"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: option
+ label: "Option Entry"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: searches
+ label: "Searches"
+ schema:
+ default: []
+ type: list
+ items:
+ - variable: search
+ label: "Search Entry"
+ schema:
+ type: string
+
+ - variable: serviceList
+ label: "Add Manual Custom Services"
+ group: "Networking and Services"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: serviceListEntry
+ label: "Custom Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: portsList
+ label: "Additional Service Ports"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: "Custom ports"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the port"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Port Name"
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "TCP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: targetPort
+ label: "Target Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ required: true
+ - variable: port
+ label: "Container Port"
+ schema:
+ type: int
+ required: true
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+
+ - variable: persistence
+ label: "Integrated Persistent Storage"
+ description: "Integrated Persistent Storage"
+ group: "Storage and Persistence"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: html
+ label: "App html Storage"
+ description: "Stores the Application html."
+ 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: "simplePVC"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: data
+ label: "UserData Storage"
+ description: "Stores the User 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: "simplePVC"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: persistenceList
+ label: "Additional app storage"
+ group: "Storage and Persistence"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: persistenceListEntry
+ label: "Custom Storage"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name (optional)"
+ description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
+ schema:
+ type: string
+ - variable: type
+ label: "Type of Storage"
+ description: "Sets the persistence type, Anything other than PVC could break rollback!"
+ schema:
+ type: string
+ default: "simpleHP"
+ enum:
+ - value: "simplePVC"
+ description: "PVC (simple)"
+ - value: "simpleHP"
+ description: "HostPath (simple)"
+ - value: "emptyDir"
+ description: "emptyDir"
+ - value: "pvc"
+ description: "pvc"
+ - value: "hostPath"
+ description: "hostPath"
+ - value: "nfs"
+ description: "NFS Share"
+ - variable: server
+ label: "NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: path
+ label: "Path on NFS server"
+ schema:
+ show_if: [["type", "=", "nfs"]]
+ type: string
+ default: ""
+ - variable: setPermissionsSimple
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: boolean
+ default: true
+ - variable: setPermissions
+ label: "Automatic Permissions"
+ description: "Automatically set permissions on install"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: boolean
+ default: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPathSimple
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "simpleHP"]]
+ type: hostpath
+ - variable: hostPath
+ label: "hostPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: hostpath
+ - variable: mountPath
+ label: "mountPath"
+ description: "Path inside the container the storage is mounted"
+ schema:
+ type: string
+ default: ""
+ required: true
+ valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
+ - variable: medium
+ label: "EmptyDir Medium"
+ schema:
+ show_if: [["type", "=", "emptyDir"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "Memory"
+ description: "Memory"
+ - variable: size
+ label: "Size quotum of storage"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "999Gi"
+ - variable: hostPathType
+ label: "(Advanced) hostPath Type"
+ schema:
+ show_if: [["type", "=", "hostPath"]]
+ type: string
+ default: ""
+ enum:
+ - value: ""
+ description: "Default"
+ - value: "DirectoryOrCreate"
+ description: "DirectoryOrCreate"
+ - value: "Directory"
+ description: "Directory"
+ - value: "FileOrCreate"
+ description: "FileOrCreate"
+ - value: "File"
+ description: "File"
+ - value: "Socket"
+ description: "Socket"
+ - value: "CharDevice"
+ description: "CharDevice"
+ - value: "BlockDevice"
+ description: "BlockDevice"
+ - variable: storageClass
+ label: "(Advanced) storageClass"
+ description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "SCALE-ZFS"
+ - variable: accessMode
+ label: "(Advanced) Access Mode"
+ description: "Allow or disallow multiple PVC's writhing to the same PV"
+ schema:
+ show_if: [["type", "=", "pvc"]]
+ type: string
+ default: "ReadWriteOnce"
+ enum:
+ - value: "ReadWriteOnce"
+ description: "ReadWriteOnce"
+ - value: "ReadOnlyMany"
+ description: "ReadOnlyMany"
+ - value: "ReadWriteMany"
+ description: "ReadWriteMany"
+ - variable: advanced
+ label: "Show Advanced Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+
+ - variable: entrypoint
+ label: "(Advanced) Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+ - variable: service
+ label: "Linked Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Service Name"
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: "Service Port"
+ schema:
+ type: int
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: entrypoint
+ label: "Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: false
+ - variable: allowPrivilegeEscalation
+ label: "Allow Privilege Escalation"
+ schema:
+ type: boolean
+ default: false
+ - variable: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: false
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 0
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 0
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 33
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: "Target"
+# description: "deployment name, defaults to main deployment"
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: "Minimum Replicas"
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: "Maximum Replicas"
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: "Target CPU Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: "Target Memory Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "NodePort"
+ enum:
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
diff --git a/stable/nextcloud/15.2.25/templates/_configmap.tpl b/stable/nextcloud/15.2.25/templates/_configmap.tpl
new file mode 100644
index 0000000000..abe500d31e
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/_configmap.tpl
@@ -0,0 +1,36 @@
+{{/* Define the configmap */}}
+{{- define "nextcloud.configmap" -}}
+
+{{- $hosts := "" }}
+{{- if .Values.ingress.main.enabled }}
+{{- range .Values.ingress }}
+{{- range $index, $host := .hosts }}
+ {{- if $index }}
+ {{ $hosts = ( printf "%v %v" $hosts $host.host ) }}
+ {{- else }}
+ {{ $hosts = ( printf "%s" $host.host ) }}
+ {{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: nextcloudconfig
+data:
+ {{- $aliasgroup1 := ( printf "http://%s" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) ) }}
+ {{- if .Values.ingress.main.enabled }}
+ {{- with (first .Values.ingress.main.hosts) }}
+ {{- $aliasgroup1 = ( printf "https://%s" .host ) }}
+ {{- end }}
+ {{- end }}
+ aliasgroup1: {{ $aliasgroup1 }}
+ NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v %v %v %v" "test.fakedomain.dns" "localhost" "127.0.0.1" ( printf "%v:%v" "127.0.0.1" .Values.service.main.ports.main.port ) ( .Values.env.AccessIP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-backend" ) $hosts ) | quote }}
+ {{- if .Values.ingress.main.enabled }}
+ APACHE_DISABLE_REWRITE_IP: "1"
+ {{- end }}
+
+{{- end -}}
diff --git a/stable/nextcloud/15.2.25/templates/_cronjob.tpl b/stable/nextcloud/15.2.25/templates/_cronjob.tpl
new file mode 100644
index 0000000000..302f3b83aa
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/_cronjob.tpl
@@ -0,0 +1,64 @@
+{{/* Define the cronjob */}}
+{{- define "nextcloud.cronjob" -}}
+{{- if .Values.cronjob.enabled -}}
+{{- $jobName := include "tc.common.names.fullname" . }}
+
+---
+apiVersion: batch/v1
+kind: CronJob
+metadata:
+ name: {{ printf "%s-cronjob" $jobName }}
+ labels:
+ {{- include "tc.common.labels" . | nindent 4 }}
+spec:
+ schedule: "{{ .Values.cronjob.schedule }}"
+ concurrencyPolicy: Forbid
+ {{- with .Values.cronjob.failedJobsHistoryLimit }}
+ failedJobsHistoryLimit: {{ . }}
+ {{- end }}
+ {{- with .Values.cronjob.successfulJobsHistoryLimit }}
+ successfulJobsHistoryLimit: {{ . }}
+ {{- end }}
+ jobTemplate:
+ metadata:
+ spec:
+ template:
+ metadata:
+ spec:
+ restartPolicy: Never
+ {{- with (include "tc.common.controller.volumes" . | trim) }}
+ volumes:
+ {{- nindent 12 . }}
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: '{{ include "tc.common.images.selector" . }}'
+ imagePullPolicy: {{ default .Values.image.pullPolicy }}
+ command:
+ - "/bin/sh"
+ - "-c"
+ - |
+ /bin/bash <<'EOF'
+ echo "running nextcloud cronjob..."
+ php -f /var/www/html/cron.php
+ echo "cronjob finished"
+ {{- if .Values.cronjob.generatePreviews }}
+ echo "Pre-generating Previews..."
+ php /var/www/html/occ preview:pre-generate
+ echo "Previews generated."
+ {{- end }}
+ EOF
+ # Will mount configuration files as www-data (id: 33) by default for nextcloud
+ {{- with (include "tc.common.controller.volumeMounts" . | trim) }}
+ volumeMounts:
+ {{ nindent 16 . }}
+ {{- end }}
+ securityContext:
+ runAsUser: 33
+ runAsGroup: 33
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ resources:
+{{ toYaml .Values.resources | indent 16 }}
+{{- end -}}
+{{- end -}}
diff --git a/stable/nextcloud/15.2.25/templates/_hpb.tpl b/stable/nextcloud/15.2.25/templates/_hpb.tpl
new file mode 100644
index 0000000000..617bab9d8a
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/_hpb.tpl
@@ -0,0 +1,133 @@
+{{/* Define the hbp container */}}
+{{- define "nextcloud.hpb" -}}
+{{- $jobName := include "tc.common.names.fullname" . }}
+image: '{{ include "tc.common.images.selector" . }}'
+imagePullPolicy: '{{ .Values.image.pullPolicy }}'
+securityContext:
+ runAsUser: 33
+ runAsGroup: 33
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
+volumeMounts:
+ {{ nindent 2 . }}
+{{- end }}
+ports:
+ - containerPort: 7867
+readinessProbe:
+ httpGet:
+ path: /push/test/cookie
+ port: 7867
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
+livenessProbe:
+ httpGet:
+ path: /push/test/cookie
+ port: 7867
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
+startupProbe:
+ httpGet:
+ path: /push/test/cookie
+ port: 7867
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
+command:
+ - "/bin/sh"
+ - "-c"
+ - |
+ /bin/bash <<'EOF'
+ set -m
+ echo "Waiting for notify_push file to be available..."
+ until [ -f /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push ]
+ do
+ sleep 10
+ echo "Notify_push not found... waiting..."
+ done
+ echo "Waiting for Nextcloud to start..."
+ until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php); do
+ echo "Nextcloud not found... waiting..."
+ sleep 10
+ done
+ until $(curl --silent --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:8080/status.php | jq --raw-output '.installed' | grep "true"); do
+ echo "Nextcloud not installed... waiting..."
+ sleep 10
+ done
+ echo "Nextcloud instance with Notify_push found... Launching High Performance Backend..."
+ /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php &
+
+ {{- if .Values.imaginary.enabled }}
+ echo "Imaginary High Performance Previews enabled, enabling it on Nextcloud..."
+ php /var/www/html/occ config:system:set enabledPreviewProviders 6 --value='OC\Preview\Imaginary'
+ php /var/www/html/occ config:system:set preview_imaginary_url --value='http://127.0.0.1:9090'
+ {{- end }}
+
+ until $(curl --output /dev/null --silent --head --fail -H "Host: test.fakedomain.dns" http://127.0.0.1:7867/push/test/cookie); do
+ echo "High Performance Backend not running ... waiting..."
+ sleep 10
+ done
+ {{- $accessurl := ( printf "http://%v:%v" ( .Values.env.AccessIP | default ( printf "%v-%v" .Release.Name "nextcloud" ) ) .Values.service.main.ports.main.port ) }}
+ {{- if .Values.ingress.main.enabled }}
+ {{- with (first .Values.ingress.main.hosts) }}
+ {{- $accessurl = ( printf "https://%s" .host ) }}
+ {{- end }}
+ {{- end }}
+ until $(curl --output /dev/null --silent --head --fail {{ $accessurl }}/push/test/cookie); do
+ echo "High Performance Backend service not accessable ... waiting..."
+ sleep 10
+ done
+ echo "High Performance Backend found..."
+ echo "Configuring High Performance Backend for url: {{ $accessurl }}"
+ php /var/www/html/occ notify_push:setup {{ $accessurl }}/push
+ fg
+ EOF
+env:
+ - name: NEXTCLOUD_URL
+ value: 'http://127.0.0.1:8080'
+ - name: METRICS_PORT
+ value: '7868'
+ - name: TRUSTED_PROXIES
+ value: "{{ .Values.env.TRUSTED_PROXIES }}"
+ - name: POSTGRES_DB
+ value: "{{ .Values.postgresql.postgresqlDatabase }}"
+ - name: POSTGRES_USER
+ value: "{{ .Values.postgresql.postgresqlUsername }}"
+ - name: POSTGRES_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: dbcreds
+ key: postgresql-password
+ - name: POSTGRES_HOST
+ valueFrom:
+ secretKeyRef:
+ name: dbcreds
+ key: plainporthost
+ - name: REDIS_HOST
+ valueFrom:
+ secretKeyRef:
+ name: rediscreds
+ key: plainhost
+ - name: REDIS_HOST_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: rediscreds
+ key: redis-password
+envFrom:
+ - configMapRef:
+ name: nextcloudconfig
+{{- end -}}
diff --git a/stable/nextcloud/15.2.25/templates/_imaginary.tpl b/stable/nextcloud/15.2.25/templates/_imaginary.tpl
new file mode 100644
index 0000000000..57a72c4302
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/_imaginary.tpl
@@ -0,0 +1,40 @@
+{{/* Define the imaginary container */}}
+{{- define "nextcloud.imaginary" -}}
+image: {{ .Values.imaginaryImage.repository }}:{{ .Values.imaginaryImage.tag }}
+imagePullPolicy: '{{ .Values.image.pullPolicy }}'
+securityContext:
+ runAsUser: 33
+ runAsGroup: 33
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ports:
+ - containerPort: 9090
+args: ["-enable-url-source"]
+env:
+ - name: 'PORT'
+ value: '9090'
+readinessProbe:
+ httpGet:
+ path: /
+ port: 9090
+ initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
+livenessProbe:
+ httpGet:
+ path: /
+ port: 9090
+ initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
+startupProbe:
+ httpGet:
+ path: /
+ port: 9090
+ initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
+{{- end -}}
diff --git a/stable/nextcloud/15.2.25/templates/_nginx.tpl b/stable/nextcloud/15.2.25/templates/_nginx.tpl
new file mode 100644
index 0000000000..df427f44bd
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/_nginx.tpl
@@ -0,0 +1,54 @@
+{{/* Define the nginx container */}}
+{{- define "nextcloud.nginx" -}}
+image: {{ .Values.nginxImage.repository }}:{{ .Values.nginxImage.tag }}
+imagePullPolicy: '{{ .Values.image.pullPolicy }}'
+securityContext:
+ runAsUser: 33
+ runAsGroup: 33
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+{{- with (include "tc.common.controller.volumeMounts" . | trim) }}
+volumeMounts:
+ {{ nindent 2 . }}
+{{- end }}
+ - mountPath: /etc/nginx/nginx.conf
+ name: nginx
+ readOnly: true
+ subPath: nginx.conf
+ports:
+ - containerPort: 8080
+
+readinessProbe:
+ httpGet:
+ path: /robots.txt
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
+livenessProbe:
+ httpGet:
+ path: /robots.txt
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
+startupProbe:
+ httpGet:
+ path: /robots.txt
+ port: 8080
+ httpHeaders:
+ - name: Host
+ value: "test.fakedomain.dns"
+ initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
+ periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
+ timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
+ failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
+{{- end -}}
diff --git a/stable/nextcloud/15.2.25/templates/common.yaml b/stable/nextcloud/15.2.25/templates/common.yaml
new file mode 100644
index 0000000000..9314524b1a
--- /dev/null
+++ b/stable/nextcloud/15.2.25/templates/common.yaml
@@ -0,0 +1,22 @@
+{{/* Make sure all variables are set properly */}}
+{{- include "tc.common.loader.init" . }}
+
+{{/* Render configmap for nextcloud */}}
+{{- include "nextcloud.configmap" . }}
+
+{{- $newMiddlewares := append .Values.ingress.main.fixedMiddlewares "tc-nextcloud-chain" }}
+{{- $_ := set .Values.ingress.main "fixedMiddlewares" $newMiddlewares -}}
+
+{{- $_ := set .Values.additionalContainers "nginx" (include "nextcloud.nginx" . | fromYaml) -}}
+{{- if .Values.imaginary.enabled -}}
+{{- $_ := set .Values.additionalContainers "imaginary" (include "nextcloud.imaginary" . | fromYaml) -}}
+{{- end -}}
+{{- if .Values.hpb.enabled -}}
+{{- $_ := set .Values.additionalContainers "hpb" (include "nextcloud.hpb" . | fromYaml) -}}
+{{- end -}}
+
+{{/* Render the templates */}}
+{{ include "tc.common.loader.apply" . }}
+
+{{/* Render cronjob for nextcloud */}}
+{{- include "nextcloud.cronjob" . }}
diff --git a/stable/nextcloud/15.2.25/values.yaml b/stable/nextcloud/15.2.25/values.yaml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/stable/pihole/6.0.23/Chart.lock b/stable/pihole/6.0.23/Chart.lock
deleted file mode 100644
index f984184f7e..0000000000
--- a/stable/pihole/6.0.23/Chart.lock
+++ /dev/null
@@ -1,6 +0,0 @@
-dependencies:
-- name: common
- repository: https://library-charts.truecharts.org
- version: 10.4.6
-digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
-generated: "2022-07-23T00:09:31.956764881Z"
diff --git a/stable/pihole/6.0.23/CHANGELOG.md b/stable/pihole/6.0.24/CHANGELOG.md
similarity index 90%
rename from stable/pihole/6.0.23/CHANGELOG.md
rename to stable/pihole/6.0.24/CHANGELOG.md
index 533ed053ce..4b32281cce 100644
--- a/stable/pihole/6.0.23/CHANGELOG.md
+++ b/stable/pihole/6.0.24/CHANGELOG.md
@@ -2,6 +2,15 @@
+## [pihole-6.0.24](https://github.com/truecharts/apps/compare/pihole-6.0.23...pihole-6.0.24) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
## [pihole-6.0.23](https://github.com/truecharts/apps/compare/pihole-6.0.21...pihole-6.0.23) (2022-07-22)
### Chore
@@ -88,12 +97,3 @@
-
-### [pinry-2.0.7](https://github.com/truecharts/apps/compare/pinry-2.0.6...pinry-2.0.7) (2022-06-25)
-
-#### Chore
-
-* update helm general non-major helm releases ([#2977](https://github.com/truecharts/apps/issues/2977))
-
-
-
diff --git a/stable/pihole/6.0.24/Chart.lock b/stable/pihole/6.0.24/Chart.lock
new file mode 100644
index 0000000000..a729c33807
--- /dev/null
+++ b/stable/pihole/6.0.24/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
+generated: "2022-07-23T11:59:24.750505181Z"
diff --git a/stable/pihole/6.0.23/Chart.yaml b/stable/pihole/6.0.24/Chart.yaml
similarity index 97%
rename from stable/pihole/6.0.23/Chart.yaml
rename to stable/pihole/6.0.24/Chart.yaml
index 950ab37a18..8e973a43a3 100644
--- a/stable/pihole/6.0.23/Chart.yaml
+++ b/stable/pihole/6.0.24/Chart.yaml
@@ -21,7 +21,7 @@ sources:
- https://github.com/pi-hole
- https://github.com/pi-hole/docker-pi-hole
type: application
-version: 6.0.23
+version: 6.0.24
annotations:
truecharts.org/catagories: |
- networking
diff --git a/stable/pihole/6.0.23/README.md b/stable/pihole/6.0.24/README.md
similarity index 98%
rename from stable/pihole/6.0.23/README.md
rename to stable/pihole/6.0.24/README.md
index a002369df6..5eb93778c1 100644
--- a/stable/pihole/6.0.23/README.md
+++ b/stable/pihole/6.0.24/README.md
@@ -1,6 +1,6 @@
# pihole
-  
+  
DNS and Ad-filtering for your network
diff --git a/stable/pihole/6.0.23/app-readme.md b/stable/pihole/6.0.24/app-readme.md
similarity index 100%
rename from stable/pihole/6.0.23/app-readme.md
rename to stable/pihole/6.0.24/app-readme.md
diff --git a/stable/pihole/6.0.24/charts/common-10.4.6.tgz b/stable/pihole/6.0.24/charts/common-10.4.6.tgz
new file mode 100644
index 0000000000..4f269521ba
Binary files /dev/null and b/stable/pihole/6.0.24/charts/common-10.4.6.tgz differ
diff --git a/stable/pihole/6.0.23/ix_values.yaml b/stable/pihole/6.0.24/ix_values.yaml
similarity index 90%
rename from stable/pihole/6.0.23/ix_values.yaml
rename to stable/pihole/6.0.24/ix_values.yaml
index 92a6f0a2a2..4dba5ce509 100644
--- a/stable/pihole/6.0.23/ix_values.yaml
+++ b/stable/pihole/6.0.24/ix_values.yaml
@@ -1,7 +1,7 @@
image:
repository: tccr.io/truecharts/pihole
pullPolicy: IfNotPresent
- tag: v2022.07.1@sha256:25685c03bdb0e1d03b5db4d921de4e54e56df16ac67ffca7fb5132bd559357bb
+ tag: v2022.07.1@sha256:eb1701bc55bf037a12612de837c566bca4e5bee4eb26e75b5d9bb8e361c7b4b0
securityContext:
readOnlyRootFilesystem: false
diff --git a/stable/pihole/6.0.23/questions.yaml b/stable/pihole/6.0.24/questions.yaml
similarity index 100%
rename from stable/pihole/6.0.23/questions.yaml
rename to stable/pihole/6.0.24/questions.yaml
diff --git a/stable/pihole/6.0.23/templates/_configmap.tpl b/stable/pihole/6.0.24/templates/_configmap.tpl
similarity index 100%
rename from stable/pihole/6.0.23/templates/_configmap.tpl
rename to stable/pihole/6.0.24/templates/_configmap.tpl
diff --git a/stable/pihole/6.0.23/templates/common.yaml b/stable/pihole/6.0.24/templates/common.yaml
similarity index 100%
rename from stable/pihole/6.0.23/templates/common.yaml
rename to stable/pihole/6.0.24/templates/common.yaml
diff --git a/stable/pihole/6.0.24/values.yaml b/stable/pihole/6.0.24/values.yaml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/stable/traefik/13.1.3/CHANGELOG.md b/stable/traefik/13.1.3/CHANGELOG.md
new file mode 100644
index 0000000000..3844cce8d2
--- /dev/null
+++ b/stable/traefik/13.1.3/CHANGELOG.md
@@ -0,0 +1,99 @@
+# Changelog
+
+
+
+## [traefik-13.1.3](https://github.com/truecharts/apps/compare/traefik-13.1.2...traefik-13.1.3) (2022-07-23)
+
+### Chore
+
+- update docker general non-major ([#3276](https://github.com/truecharts/apps/issues/3276))
+
+
+
+
+## [traefik-13.1.2](https://github.com/truecharts/apps/compare/traefik-13.1.0...traefik-13.1.2) (2022-07-22)
+
+### Chore
+
+- Bump all charts to generate config and container references due to huge increase of repository
+ - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268))
+ - update docker general non-major ([#3266](https://github.com/truecharts/apps/issues/3266))
+
+
+
+## [traefik-13.1.0](https://github.com/truecharts/apps/compare/traefik-13.0.0...traefik-13.1.0) (2022-07-22)
+
+
+
+## [traefik-13.0.0](https://github.com/truecharts/apps/compare/traefik-12.0.24...traefik-13.0.0) (2022-07-21)
+
+### Feat
+
+- Adds theme.park middleware and remove Traefik pilot ([#3245](https://github.com/truecharts/apps/issues/3245))
+
+
+
+## [traefik-12.0.24](https://github.com/truecharts/apps/compare/traefik-12.0.23...traefik-12.0.24) (2022-07-19)
+
+### Chore
+
+- Update Readme and Description on SCALE
+
+
+
+## [traefik-12.0.23](https://github.com/truecharts/apps/compare/traefik-12.0.22...traefik-12.0.23) (2022-07-18)
+
+### Fix
+
+- don't set xrobots header on default middleware ([#3211](https://github.com/truecharts/apps/issues/3211))
+
+
+
+## [traefik-12.0.22](https://github.com/truecharts/apps/compare/traefik-12.0.20...traefik-12.0.22) (2022-07-14)
+
+### Fix
+
+- regenerate catalog and update template
+- don't set xrobots header by default ([#3183](https://github.com/truecharts/apps/issues/3183))
+
+
+
+## [traefik-12.0.20](https://github.com/truecharts/apps/compare/traefik-12.0.18...traefik-12.0.20) (2022-07-14)
+
+### Fix
+
+- bump to ensure .helmignore is present on all Charts
+- disable HTTP probes temporarily ([#3173](https://github.com/truecharts/apps/issues/3173))
+
+
+
+## [traefik-12.0.18](https://github.com/truecharts/apps/compare/traefik-12.0.17...traefik-12.0.18) (2022-07-13)
+
+
+
+## [traefik-12.0.17](https://github.com/truecharts/apps/compare/traefik-12.0.15...traefik-12.0.17) (2022-07-12)
+
+### Chore
+
+- update icons ([#3156](https://github.com/truecharts/apps/issues/3156))
+- bump to cleanup old docs and use correct icon urls
+
+
+
+## [traefik-12.0.15](https://github.com/truecharts/apps/compare/traefik-12.0.14...traefik-12.0.15) (2022-07-12)
+
+### Chore
+
+- bump to regenerate documentation
+
+
+
+
+### [traccar-7.0.13](https://github.com/truecharts/apps/compare/traccar-7.0.12...traccar-7.0.13) (2022-07-12)
+
+#### Chore
+
+* update helm general non-major helm releases ([#3147](https://github.com/truecharts/apps/issues/3147))
+
+
+
diff --git a/stable/traefik/13.1.3/Chart.lock b/stable/traefik/13.1.3/Chart.lock
new file mode 100644
index 0000000000..51acd42548
--- /dev/null
+++ b/stable/traefik/13.1.3/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+digest: sha256:b6ec2269ef52a07204e68067ac07f04cd95aca6939723dd642d52842c9c91692
+generated: "2022-07-23T11:59:24.970947196Z"
diff --git a/stable/traefik/13.1.3/Chart.yaml b/stable/traefik/13.1.3/Chart.yaml
new file mode 100644
index 0000000000..e3477829aa
--- /dev/null
+++ b/stable/traefik/13.1.3/Chart.yaml
@@ -0,0 +1,30 @@
+apiVersion: v2
+appVersion: "2.8.1"
+dependencies:
+ - name: common
+ repository: https://library-charts.truecharts.org
+ version: 10.4.6
+deprecated: false
+description: Traefik is a flexible reverse proxy and Ingress Provider.
+home: https://github.com/truecharts/apps/tree/master/charts/core/traefik
+icon: https://truecharts.org/img/chart-icons/traefik.png
+keywords:
+ - traefik
+ - ingress
+kubeVersion: ">=1.16.0-0"
+maintainers:
+ - email: info@truecharts.org
+ name: TrueCharts
+ url: https://truecharts.org
+name: traefik
+sources:
+ - https://github.com/traefik/traefik
+ - https://github.com/traefik/traefik-helm-chart
+ - https://traefik.io/
+type: application
+version: 13.1.3
+annotations:
+ truecharts.org/catagories: |
+ - network
+ truecharts.org/SCALE-support: "true"
+ truecharts.org/grade: U
diff --git a/stable/traefik/13.1.3/README.md b/stable/traefik/13.1.3/README.md
new file mode 100644
index 0000000000..46e988ea0c
--- /dev/null
+++ b/stable/traefik/13.1.3/README.md
@@ -0,0 +1,109 @@
+# traefik
+
+  
+
+Traefik is a flexible reverse proxy and Ingress Provider.
+
+TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
+
+This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
+For more information, please click here: [traefik](https://truecharts.org/docs/charts/stable/traefik)
+
+**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
+
+## Source Code
+
+*
+*
+*
+
+## Requirements
+
+Kubernetes: `>=1.16.0-0`
+
+## Dependencies
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://library-charts.truecharts.org | common | 10.4.6 |
+
+## Installing the Chart
+
+### TrueNAS SCALE
+
+To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/02-Installing-an-App/).
+
+### Helm
+
+To install the chart with the release name `traefik`
+
+```console
+helm repo add TrueCharts https://helm.truecharts.org
+helm repo update
+helm install traefik TrueCharts/traefik
+```
+
+## Uninstall
+
+### TrueNAS SCALE
+
+**Upgrading, Rolling Back and Uninstalling the Chart**
+
+To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
+
+### Helm
+
+To uninstall the `traefik` deployment
+
+```console
+helm uninstall traefik
+```
+
+## Configuration
+
+### Helm
+
+#### Available Settings
+
+Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
+Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
+
+#### Configure using the Commandline
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
+
+```console
+helm install traefik \
+ --set env.TZ="America/New York" \
+ TrueCharts/traefik
+```
+
+#### Configure using a yaml file
+
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
+
+```console
+helm install traefik TrueCharts/traefik -f values.yaml
+```
+
+#### Connecting to other apps
+
+If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/docs/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
+
+## Support
+
+- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ).
+- See the [Website](https://truecharts.org)
+- Check our [Discord](https://discord.gg/tVsPTHWTtr)
+- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
+
+---
+
+## Sponsor TrueCharts
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
+
+---
+
+All Rights Reserved - The TrueCharts Project
diff --git a/stable/traefik/13.1.3/app-readme.md b/stable/traefik/13.1.3/app-readme.md
new file mode 100644
index 0000000000..67bcce116d
--- /dev/null
+++ b/stable/traefik/13.1.3/app-readme.md
@@ -0,0 +1,8 @@
+Traefik is a flexible reverse proxy and Ingress Provider.
+
+This App is supplied by TrueCharts, for more information visit the manual: https://truecharts.org/charts/stable/traefik
+
+---
+
+TrueCharts can only exist due to the incredible effort of our staff.
+Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
diff --git a/stable/traefik/13.1.3/charts/common-10.4.6.tgz b/stable/traefik/13.1.3/charts/common-10.4.6.tgz
new file mode 100644
index 0000000000..4f269521ba
Binary files /dev/null and b/stable/traefik/13.1.3/charts/common-10.4.6.tgz differ
diff --git a/stable/traefik/13.1.3/crds/ingressroute.yaml b/stable/traefik/13.1.3/crds/ingressroute.yaml
new file mode 100644
index 0000000000..572adae5f0
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/ingressroute.yaml
@@ -0,0 +1,209 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: ingressroutes.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: IngressRoute
+ listKind: IngressRouteList
+ plural: ingressroutes
+ singular: ingressroute
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: IngressRoute is an Ingress CRD specification.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description:
+ IngressRouteSpec is a specification for a IngressRouteSpec
+ resource.
+ properties:
+ entryPoints:
+ items:
+ type: string
+ type: array
+ routes:
+ items:
+ description: Route contains the set of routes.
+ properties:
+ kind:
+ enum:
+ - Rule
+ type: string
+ match:
+ type: string
+ middlewares:
+ items:
+ description: MiddlewareRef is a ref to the Middleware resources.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ priority:
+ type: integer
+ services:
+ items:
+ description: Service defines an upstream to proxy traffic.
+ properties:
+ kind:
+ enum:
+ - Service
+ - TraefikService
+ type: string
+ name:
+ description:
+ Name is a reference to a Kubernetes Service
+ object (for a load-balancer of servers), or to a TraefikService
+ object (service load-balancer, mirroring, etc). The
+ differentiation between the two is specified in the
+ Kind field.
+ type: string
+ namespace:
+ type: string
+ passHostHeader:
+ type: boolean
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ responseForwarding:
+ description:
+ ResponseForwarding holds configuration for
+ the forward of the response.
+ properties:
+ flushInterval:
+ type: string
+ type: object
+ scheme:
+ type: string
+ serversTransport:
+ type: string
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration
+ based on cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ strategy:
+ type: string
+ weight:
+ description:
+ Weight should only be specified when Name
+ references a TraefikService object (and to be precise,
+ one that embeds a Weighted Round Robin).
+ type: integer
+ required:
+ - name
+ type: object
+ type: array
+ required:
+ - kind
+ - match
+ type: object
+ type: array
+ tls:
+ description:
+ "TLS contains the TLS certificates configuration of the
+ routes. To enable Let's Encrypt, use an empty TLS struct, e.g. in
+ YAML: \n \t tls: {} # inline format \n \t tls: \t secretName:
+ # block format"
+ properties:
+ certResolver:
+ type: string
+ domains:
+ items:
+ description: Domain holds a domain name with SANs.
+ properties:
+ main:
+ type: string
+ sans:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ options:
+ description:
+ Options is a reference to a TLSOption, that specifies
+ the parameters of the TLS connection.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ secretName:
+ description:
+ SecretName is the name of the referenced Kubernetes
+ Secret to specify the certificate details.
+ type: string
+ store:
+ description:
+ Store is a reference to a TLSStore, that specifies
+ the parameters of the TLS store.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ required:
+ - routes
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/ingressroutetcp.yaml b/stable/traefik/13.1.3/crds/ingressroutetcp.yaml
new file mode 100644
index 0000000000..127a41767e
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/ingressroutetcp.yaml
@@ -0,0 +1,169 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: ingressroutetcps.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: IngressRouteTCP
+ listKind: IngressRouteTCPList
+ plural: ingressroutetcps
+ singular: ingressroutetcp
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: IngressRouteTCP is an Ingress CRD specification.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description:
+ IngressRouteTCPSpec is a specification for a IngressRouteTCPSpec
+ resource.
+ properties:
+ entryPoints:
+ items:
+ type: string
+ type: array
+ routes:
+ items:
+ description: RouteTCP contains the set of routes.
+ properties:
+ match:
+ type: string
+ middlewares:
+ description:
+ Middlewares contains references to MiddlewareTCP
+ resources.
+ items:
+ description:
+ ObjectReference is a generic reference to a Traefik
+ resource.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ services:
+ items:
+ description: ServiceTCP defines an upstream to proxy traffic.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ proxyProtocol:
+ description: ProxyProtocol holds the ProxyProtocol configuration.
+ properties:
+ version:
+ type: integer
+ type: object
+ terminationDelay:
+ type: integer
+ weight:
+ type: integer
+ required:
+ - name
+ - port
+ type: object
+ type: array
+ required:
+ - match
+ type: object
+ type: array
+ tls:
+ description:
+ "TLSTCP contains the TLS certificates configuration of
+ the routes. To enable Let's Encrypt, use an empty TLS struct, e.g.
+ in YAML: \n \t tls: {} # inline format \n \t tls: \t secretName:
+ # block format"
+ properties:
+ certResolver:
+ type: string
+ domains:
+ items:
+ description: Domain holds a domain name with SANs.
+ properties:
+ main:
+ type: string
+ sans:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ options:
+ description:
+ Options is a reference to a TLSOption, that specifies
+ the parameters of the TLS connection.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ passthrough:
+ type: boolean
+ secretName:
+ description:
+ SecretName is the name of the referenced Kubernetes
+ Secret to specify the certificate details.
+ type: string
+ store:
+ description:
+ Store is a reference to a TLSStore, that specifies
+ the parameters of the TLS store.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ required:
+ - routes
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/ingressrouteudp.yaml b/stable/traefik/13.1.3/crds/ingressrouteudp.yaml
new file mode 100644
index 0000000000..2ed2b6969b
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/ingressrouteudp.yaml
@@ -0,0 +1,87 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: ingressrouteudps.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: IngressRouteUDP
+ listKind: IngressRouteUDPList
+ plural: ingressrouteudps
+ singular: ingressrouteudp
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: IngressRouteUDP is an Ingress CRD specification.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description:
+ IngressRouteUDPSpec is a specification for a IngressRouteUDPSpec
+ resource.
+ properties:
+ entryPoints:
+ items:
+ type: string
+ type: array
+ routes:
+ items:
+ description: RouteUDP contains the set of routes.
+ properties:
+ services:
+ items:
+ description: ServiceUDP defines an upstream to proxy traffic.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ weight:
+ type: integer
+ required:
+ - name
+ - port
+ type: object
+ type: array
+ type: object
+ type: array
+ required:
+ - routes
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/middlewares.yaml b/stable/traefik/13.1.3/crds/middlewares.yaml
new file mode 100644
index 0000000000..714d151151
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/middlewares.yaml
@@ -0,0 +1,587 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: middlewares.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: Middleware
+ listKind: MiddlewareList
+ plural: middlewares
+ singular: middleware
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: Middleware is a specification for a Middleware resource.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: MiddlewareSpec holds the Middleware configuration.
+ properties:
+ addPrefix:
+ description: AddPrefix holds the AddPrefix configuration.
+ properties:
+ prefix:
+ type: string
+ type: object
+ basicAuth:
+ description: BasicAuth holds the HTTP basic authentication configuration.
+ properties:
+ headerField:
+ type: string
+ realm:
+ type: string
+ removeHeader:
+ type: boolean
+ secret:
+ type: string
+ type: object
+ buffering:
+ description: Buffering holds the request/response buffering configuration.
+ properties:
+ maxRequestBodyBytes:
+ format: int64
+ type: integer
+ maxResponseBodyBytes:
+ format: int64
+ type: integer
+ memRequestBodyBytes:
+ format: int64
+ type: integer
+ memResponseBodyBytes:
+ format: int64
+ type: integer
+ retryExpression:
+ type: string
+ type: object
+ chain:
+ description: Chain holds a chain of middlewares.
+ properties:
+ middlewares:
+ items:
+ description: MiddlewareRef is a ref to the Middleware resources.
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ circuitBreaker:
+ description: CircuitBreaker holds the circuit breaker configuration.
+ properties:
+ expression:
+ type: string
+ type: object
+ compress:
+ description: Compress holds the compress configuration.
+ properties:
+ excludedContentTypes:
+ items:
+ type: string
+ type: array
+ type: object
+ contentType:
+ description:
+ ContentType middleware - or rather its unique `autoDetect`
+ option - specifies whether to let the `Content-Type` header, if
+ it has not been set by the backend, be automatically set to a value
+ derived from the contents of the response. As a proxy, the default
+ behavior should be to leave the header alone, regardless of what
+ the backend did with it. However, the historic default was to always
+ auto-detect and set the header if it was nil, and it is going to
+ be kept that way in order to support users currently relying on
+ it. This middleware exists to enable the correct behavior until
+ at least the default one can be changed in a future version.
+ properties:
+ autoDetect:
+ type: boolean
+ type: object
+ digestAuth:
+ description: DigestAuth holds the Digest HTTP authentication configuration.
+ properties:
+ headerField:
+ type: string
+ realm:
+ type: string
+ removeHeader:
+ type: boolean
+ secret:
+ type: string
+ type: object
+ errors:
+ description: ErrorPage holds the custom error page configuration.
+ properties:
+ query:
+ type: string
+ service:
+ description: Service defines an upstream to proxy traffic.
+ properties:
+ kind:
+ enum:
+ - Service
+ - TraefikService
+ type: string
+ name:
+ description:
+ Name is a reference to a Kubernetes Service object
+ (for a load-balancer of servers), or to a TraefikService
+ object (service load-balancer, mirroring, etc). The differentiation
+ between the two is specified in the Kind field.
+ type: string
+ namespace:
+ type: string
+ passHostHeader:
+ type: boolean
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ responseForwarding:
+ description:
+ ResponseForwarding holds configuration for the
+ forward of the response.
+ properties:
+ flushInterval:
+ type: string
+ type: object
+ scheme:
+ type: string
+ serversTransport:
+ type: string
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration based
+ on cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ strategy:
+ type: string
+ weight:
+ description:
+ Weight should only be specified when Name references
+ a TraefikService object (and to be precise, one that embeds
+ a Weighted Round Robin).
+ type: integer
+ required:
+ - name
+ type: object
+ status:
+ items:
+ type: string
+ type: array
+ type: object
+ forwardAuth:
+ description: ForwardAuth holds the http forward authentication configuration.
+ properties:
+ address:
+ type: string
+ authRequestHeaders:
+ items:
+ type: string
+ type: array
+ authResponseHeaders:
+ items:
+ type: string
+ type: array
+ authResponseHeadersRegex:
+ type: string
+ tls:
+ description: ClientTLS holds TLS specific configurations as client.
+ properties:
+ caOptional:
+ type: boolean
+ caSecret:
+ type: string
+ certSecret:
+ type: string
+ insecureSkipVerify:
+ type: boolean
+ type: object
+ trustForwardHeader:
+ type: boolean
+ type: object
+ headers:
+ description: Headers holds the custom header configuration.
+ properties:
+ accessControlAllowCredentials:
+ description:
+ AccessControlAllowCredentials is only valid if true.
+ false is ignored.
+ type: boolean
+ accessControlAllowHeaders:
+ description:
+ AccessControlAllowHeaders must be used in response
+ to a preflight request with Access-Control-Request-Headers set.
+ items:
+ type: string
+ type: array
+ accessControlAllowMethods:
+ description:
+ AccessControlAllowMethods must be used in response
+ to a preflight request with Access-Control-Request-Method set.
+ items:
+ type: string
+ type: array
+ accessControlAllowOriginList:
+ description:
+ AccessControlAllowOriginList is a list of allowable
+ origins. Can also be a wildcard origin "*".
+ items:
+ type: string
+ type: array
+ accessControlAllowOriginListRegex:
+ description:
+ AccessControlAllowOriginListRegex is a list of allowable
+ origins written following the Regular Expression syntax (https://golang.org/pkg/regexp/).
+ items:
+ type: string
+ type: array
+ accessControlExposeHeaders:
+ description:
+ AccessControlExposeHeaders sets valid headers for
+ the response.
+ items:
+ type: string
+ type: array
+ accessControlMaxAge:
+ description:
+ AccessControlMaxAge sets the time that a preflight
+ request may be cached.
+ format: int64
+ type: integer
+ addVaryHeader:
+ description:
+ AddVaryHeader controls if the Vary header is automatically
+ added/updated when the AccessControlAllowOriginList is set.
+ type: boolean
+ allowedHosts:
+ items:
+ type: string
+ type: array
+ browserXssFilter:
+ type: boolean
+ contentSecurityPolicy:
+ type: string
+ contentTypeNosniff:
+ type: boolean
+ customBrowserXSSValue:
+ type: string
+ customFrameOptionsValue:
+ type: string
+ customRequestHeaders:
+ additionalProperties:
+ type: string
+ type: object
+ customResponseHeaders:
+ additionalProperties:
+ type: string
+ type: object
+ featurePolicy:
+ type: string
+ forceSTSHeader:
+ type: boolean
+ frameDeny:
+ type: boolean
+ hostsProxyHeaders:
+ items:
+ type: string
+ type: array
+ isDevelopment:
+ type: boolean
+ publicKey:
+ type: string
+ referrerPolicy:
+ type: string
+ sslForceHost:
+ description: "Deprecated: use RedirectRegex instead."
+ type: boolean
+ sslHost:
+ description: "Deprecated: use RedirectRegex instead."
+ type: string
+ sslProxyHeaders:
+ additionalProperties:
+ type: string
+ type: object
+ sslRedirect:
+ description:
+ "Deprecated: use EntryPoint redirection or RedirectScheme
+ instead."
+ type: boolean
+ sslTemporaryRedirect:
+ description:
+ "Deprecated: use EntryPoint redirection or RedirectScheme
+ instead."
+ type: boolean
+ stsIncludeSubdomains:
+ type: boolean
+ stsPreload:
+ type: boolean
+ stsSeconds:
+ format: int64
+ type: integer
+ type: object
+ inFlightReq:
+ description:
+ InFlightReq limits the number of requests being processed
+ and served concurrently.
+ properties:
+ amount:
+ format: int64
+ type: integer
+ sourceCriterion:
+ description:
+ SourceCriterion defines what criterion is used to
+ group requests as originating from a common source. If none
+ are set, the default is to use the request's remote address
+ field. All fields are mutually exclusive.
+ properties:
+ ipStrategy:
+ description: IPStrategy holds the ip strategy configuration.
+ properties:
+ depth:
+ type: integer
+ excludedIPs:
+ items:
+ type: string
+ type: array
+ type: object
+ requestHeaderName:
+ type: string
+ requestHost:
+ type: boolean
+ type: object
+ type: object
+ ipWhiteList:
+ description: IPWhiteList holds the ip white list configuration.
+ properties:
+ ipStrategy:
+ description: IPStrategy holds the ip strategy configuration.
+ properties:
+ depth:
+ type: integer
+ excludedIPs:
+ items:
+ type: string
+ type: array
+ type: object
+ sourceRange:
+ items:
+ type: string
+ type: array
+ type: object
+ passTLSClientCert:
+ description: PassTLSClientCert holds the TLS client cert headers configuration.
+ properties:
+ info:
+ description:
+ TLSClientCertificateInfo holds the client TLS certificate
+ info configuration.
+ properties:
+ issuer:
+ description:
+ TLSCLientCertificateDNInfo holds the client TLS
+ certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
+ properties:
+ commonName:
+ type: boolean
+ country:
+ type: boolean
+ domainComponent:
+ type: boolean
+ locality:
+ type: boolean
+ organization:
+ type: boolean
+ province:
+ type: boolean
+ serialNumber:
+ type: boolean
+ type: object
+ notAfter:
+ type: boolean
+ notBefore:
+ type: boolean
+ sans:
+ type: boolean
+ serialNumber:
+ type: boolean
+ subject:
+ description:
+ TLSCLientCertificateDNInfo holds the client TLS
+ certificate distinguished name info configuration. cf https://tools.ietf.org/html/rfc3739
+ properties:
+ commonName:
+ type: boolean
+ country:
+ type: boolean
+ domainComponent:
+ type: boolean
+ locality:
+ type: boolean
+ organization:
+ type: boolean
+ province:
+ type: boolean
+ serialNumber:
+ type: boolean
+ type: object
+ type: object
+ pem:
+ type: boolean
+ type: object
+ plugin:
+ additionalProperties:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ rateLimit:
+ description:
+ RateLimit holds the rate limiting configuration for a
+ given router.
+ properties:
+ average:
+ format: int64
+ type: integer
+ burst:
+ format: int64
+ type: integer
+ period:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ sourceCriterion:
+ description:
+ SourceCriterion defines what criterion is used to
+ group requests as originating from a common source. If none
+ are set, the default is to use the request's remote address
+ field. All fields are mutually exclusive.
+ properties:
+ ipStrategy:
+ description: IPStrategy holds the ip strategy configuration.
+ properties:
+ depth:
+ type: integer
+ excludedIPs:
+ items:
+ type: string
+ type: array
+ type: object
+ requestHeaderName:
+ type: string
+ requestHost:
+ type: boolean
+ type: object
+ type: object
+ redirectRegex:
+ description: RedirectRegex holds the redirection configuration.
+ properties:
+ permanent:
+ type: boolean
+ regex:
+ type: string
+ replacement:
+ type: string
+ type: object
+ redirectScheme:
+ description: RedirectScheme holds the scheme redirection configuration.
+ properties:
+ permanent:
+ type: boolean
+ port:
+ type: string
+ scheme:
+ type: string
+ type: object
+ replacePath:
+ description: ReplacePath holds the ReplacePath configuration.
+ properties:
+ path:
+ type: string
+ type: object
+ replacePathRegex:
+ description: ReplacePathRegex holds the ReplacePathRegex configuration.
+ properties:
+ regex:
+ type: string
+ replacement:
+ type: string
+ type: object
+ retry:
+ description: Retry holds the retry configuration.
+ properties:
+ attempts:
+ type: integer
+ initialInterval:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ stripPrefix:
+ description: StripPrefix holds the StripPrefix configuration.
+ properties:
+ forceSlash:
+ type: boolean
+ prefixes:
+ items:
+ type: string
+ type: array
+ type: object
+ stripPrefixRegex:
+ description: StripPrefixRegex holds the StripPrefixRegex configuration.
+ properties:
+ regex:
+ items:
+ type: string
+ type: array
+ type: object
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/middlewarestcp.yaml b/stable/traefik/13.1.3/crds/middlewarestcp.yaml
new file mode 100644
index 0000000000..32c41e532d
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/middlewarestcp.yaml
@@ -0,0 +1,61 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: middlewaretcps.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: MiddlewareTCP
+ listKind: MiddlewareTCPList
+ plural: middlewaretcps
+ singular: middlewaretcp
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: MiddlewareTCP is a specification for a MiddlewareTCP resource.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: MiddlewareTCPSpec holds the MiddlewareTCP configuration.
+ properties:
+ ipWhiteList:
+ description: TCPIPWhiteList holds the TCP ip white list configuration.
+ properties:
+ sourceRange:
+ items:
+ type: string
+ type: array
+ type: object
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/serverstransports.yaml b/stable/traefik/13.1.3/crds/serverstransports.yaml
new file mode 100644
index 0000000000..a5f5206aba
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/serverstransports.yaml
@@ -0,0 +1,108 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: serverstransports.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: ServersTransport
+ listKind: ServersTransportList
+ plural: serverstransports
+ singular: serverstransport
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: ServersTransport is a specification for a ServersTransport resource.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description:
+ ServersTransportSpec options to configure communication between
+ Traefik and the servers.
+ properties:
+ certificatesSecrets:
+ description: Certificates for mTLS.
+ items:
+ type: string
+ type: array
+ disableHTTP2:
+ description: Disable HTTP/2 for connections with backend servers.
+ type: boolean
+ forwardingTimeouts:
+ description: Timeouts for requests forwarded to the backend servers.
+ properties:
+ dialTimeout:
+ anyOf:
+ - type: integer
+ - type: string
+ description:
+ The amount of time to wait until a connection to
+ a backend server can be established. If zero, no timeout exists.
+ x-kubernetes-int-or-string: true
+ idleConnTimeout:
+ anyOf:
+ - type: integer
+ - type: string
+ description:
+ The maximum period for which an idle HTTP keep-alive
+ connection will remain open before closing itself.
+ x-kubernetes-int-or-string: true
+ responseHeaderTimeout:
+ anyOf:
+ - type: integer
+ - type: string
+ description:
+ The amount of time to wait for a server's response
+ headers after fully writing the request (including its body,
+ if any). If zero, no timeout exists.
+ x-kubernetes-int-or-string: true
+ type: object
+ insecureSkipVerify:
+ description: Disable SSL certificate verification.
+ type: boolean
+ maxIdleConnsPerHost:
+ description:
+ If non-zero, controls the maximum idle (keep-alive) to
+ keep per-host. If zero, DefaultMaxIdleConnsPerHost is used.
+ type: integer
+ rootCAsSecrets:
+ description: Add cert file for self-signed certificate.
+ items:
+ type: string
+ type: array
+ serverName:
+ description: ServerName used to contact the server.
+ type: string
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/tlsoptions.yaml b/stable/traefik/13.1.3/crds/tlsoptions.yaml
new file mode 100644
index 0000000000..054ffe6cf5
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/tlsoptions.yaml
@@ -0,0 +1,92 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: tlsoptions.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: TLSOption
+ listKind: TLSOptionList
+ plural: tlsoptions
+ singular: tlsoption
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: TLSOption is a specification for a TLSOption resource.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TLSOptionSpec configures TLS for an entry point.
+ properties:
+ cipherSuites:
+ items:
+ type: string
+ type: array
+ clientAuth:
+ description:
+ ClientAuth defines the parameters of the client authentication
+ part of the TLS connection, if any.
+ properties:
+ clientAuthType:
+ description:
+ ClientAuthType defines the client authentication
+ type to apply.
+ enum:
+ - NoClientCert
+ - RequestClientCert
+ - VerifyClientCertIfGiven
+ - RequireAndVerifyClientCert
+ type: string
+ secretNames:
+ description:
+ SecretName is the name of the referenced Kubernetes
+ Secret to specify the certificate details.
+ items:
+ type: string
+ type: array
+ type: object
+ curvePreferences:
+ items:
+ type: string
+ type: array
+ maxVersion:
+ type: string
+ minVersion:
+ type: string
+ preferServerCipherSuites:
+ type: boolean
+ sniStrict:
+ type: boolean
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/tlsstores.yaml b/stable/traefik/13.1.3/crds/tlsstores.yaml
new file mode 100644
index 0000000000..0fd2501746
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/tlsstores.yaml
@@ -0,0 +1,68 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: tlsstores.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: TLSStore
+ listKind: TLSStoreList
+ plural: tlsstores
+ singular: tlsstore
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description: TLSStore is a specification for a TLSStore resource.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: TLSStoreSpec configures a TLSStore resource.
+ properties:
+ defaultCertificate:
+ description:
+ DefaultCertificate holds a secret name for the TLSOption
+ resource.
+ properties:
+ secretName:
+ description:
+ SecretName is the name of the referenced Kubernetes
+ Secret to specify the certificate details.
+ type: string
+ required:
+ - secretName
+ type: object
+ required:
+ - defaultCertificate
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/crds/traefikservices.yaml b/stable/traefik/13.1.3/crds/traefikservices.yaml
new file mode 100644
index 0000000000..c96892c41e
--- /dev/null
+++ b/stable/traefik/13.1.3/crds/traefikservices.yaml
@@ -0,0 +1,289 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ "helm.sh/resource-policy": keep
+ "helm.sh/hook": pre-install,pre-upgrade,pre-rollback
+ controller-gen.kubebuilder.io/version: v0.4.1
+ creationTimestamp: null
+ name: traefikservices.traefik.containo.us
+spec:
+ group: traefik.containo.us
+ names:
+ kind: TraefikService
+ listKind: TraefikServiceList
+ plural: traefikservices
+ singular: traefikservice
+ scope: Namespaced
+ versions:
+ - name: v1alpha1
+ schema:
+ openAPIV3Schema:
+ description:
+ TraefikService is the specification for a service (that an IngressRoute
+ refers to) that is usually not a terminal service (i.e. not a pod of servers),
+ as opposed to a Kubernetes Service. That is to say, it usually refers to
+ other (children) services, which themselves can be TraefikServices or Services.
+ properties:
+ apiVersion:
+ description:
+ "APIVersion defines the versioned schema of this representation
+ of an object. Servers should convert recognized schemas to the latest
+ internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources"
+ type: string
+ kind:
+ description:
+ "Kind is a string value representing the REST resource this
+ object represents. Servers may infer this from the endpoint the client
+ submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
+ type: string
+ metadata:
+ type: object
+ spec:
+ description:
+ ServiceSpec defines whether a TraefikService is a load-balancer
+ of services or a mirroring service.
+ properties:
+ mirroring:
+ description:
+ Mirroring defines a mirroring service, which is composed
+ of a main load-balancer, and a list of mirrors.
+ properties:
+ kind:
+ enum:
+ - Service
+ - TraefikService
+ type: string
+ maxBodySize:
+ format: int64
+ type: integer
+ mirrors:
+ items:
+ description:
+ MirrorService defines one of the mirrors of a Mirroring
+ service.
+ properties:
+ kind:
+ enum:
+ - Service
+ - TraefikService
+ type: string
+ name:
+ description:
+ Name is a reference to a Kubernetes Service
+ object (for a load-balancer of servers), or to a TraefikService
+ object (service load-balancer, mirroring, etc). The differentiation
+ between the two is specified in the Kind field.
+ type: string
+ namespace:
+ type: string
+ passHostHeader:
+ type: boolean
+ percent:
+ type: integer
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ responseForwarding:
+ description:
+ ResponseForwarding holds configuration for
+ the forward of the response.
+ properties:
+ flushInterval:
+ type: string
+ type: object
+ scheme:
+ type: string
+ serversTransport:
+ type: string
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration based
+ on cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ strategy:
+ type: string
+ weight:
+ description:
+ Weight should only be specified when Name references
+ a TraefikService object (and to be precise, one that embeds
+ a Weighted Round Robin).
+ type: integer
+ required:
+ - name
+ type: object
+ type: array
+ name:
+ description:
+ Name is a reference to a Kubernetes Service object
+ (for a load-balancer of servers), or to a TraefikService object
+ (service load-balancer, mirroring, etc). The differentiation
+ between the two is specified in the Kind field.
+ type: string
+ namespace:
+ type: string
+ passHostHeader:
+ type: boolean
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ responseForwarding:
+ description:
+ ResponseForwarding holds configuration for the forward
+ of the response.
+ properties:
+ flushInterval:
+ type: string
+ type: object
+ scheme:
+ type: string
+ serversTransport:
+ type: string
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration based on
+ cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ strategy:
+ type: string
+ weight:
+ description:
+ Weight should only be specified when Name references
+ a TraefikService object (and to be precise, one that embeds
+ a Weighted Round Robin).
+ type: integer
+ required:
+ - name
+ type: object
+ weighted:
+ description: WeightedRoundRobin defines a load-balancer of services.
+ properties:
+ services:
+ items:
+ description: Service defines an upstream to proxy traffic.
+ properties:
+ kind:
+ enum:
+ - Service
+ - TraefikService
+ type: string
+ name:
+ description:
+ Name is a reference to a Kubernetes Service
+ object (for a load-balancer of servers), or to a TraefikService
+ object (service load-balancer, mirroring, etc). The differentiation
+ between the two is specified in the Kind field.
+ type: string
+ namespace:
+ type: string
+ passHostHeader:
+ type: boolean
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ responseForwarding:
+ description:
+ ResponseForwarding holds configuration for
+ the forward of the response.
+ properties:
+ flushInterval:
+ type: string
+ type: object
+ scheme:
+ type: string
+ serversTransport:
+ type: string
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration based
+ on cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ strategy:
+ type: string
+ weight:
+ description:
+ Weight should only be specified when Name references
+ a TraefikService object (and to be precise, one that embeds
+ a Weighted Round Robin).
+ type: integer
+ required:
+ - name
+ type: object
+ type: array
+ sticky:
+ description: Sticky holds the sticky configuration.
+ properties:
+ cookie:
+ description:
+ Cookie holds the sticky configuration based on
+ cookie.
+ properties:
+ httpOnly:
+ type: boolean
+ name:
+ type: string
+ sameSite:
+ type: string
+ secure:
+ type: boolean
+ type: object
+ type: object
+ type: object
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+status:
+ acceptedNames:
+ kind: ""
+ plural: ""
+ conditions: []
+ storedVersions: []
diff --git a/stable/traefik/13.1.3/ix_values.yaml b/stable/traefik/13.1.3/ix_values.yaml
new file mode 100644
index 0000000000..8600850a8b
--- /dev/null
+++ b/stable/traefik/13.1.3/ix_values.yaml
@@ -0,0 +1,364 @@
+image:
+ repository: tccr.io/truecharts/traefik
+ # defaults to appVersion
+ tag: v2.8.1@sha256:b647a1292357c7b2a9d325426074472f00a58865990ede067749639126846307
+ pullPolicy: IfNotPresent
+
+# -- Use ingressClass. Ignored if Traefik version < 2.3 / kubernetes < 1.18.x
+ingressClass:
+ # true is not unit-testable yet, pending https://github.com/rancher/helm-unittest/pull/12
+ enabled: false
+ isDefaultClass: false
+ # Use to force a networking.k8s.io API Version for certain CI/CD applications. E.g. "v1beta1"
+ fallbackApiVersion: ""
+
+# -- Deprecated (will be removed later)
+# -- Activate Pilot integration
+pilot:
+ enabled: false
+ token: ""
+ # Toggle Pilot Dashboard
+ # dashboard: false
+
+# -- Create an IngressRoute for the dashboard
+ingressRoute:
+ dashboard:
+ enabled: true
+ # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
+ annotations: {}
+ # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
+ labels: {}
+
+podAnnotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: "/metrics"
+ prometheus.io/port: "9180"
+
+#
+# -- Configure providers
+providers:
+ kubernetesCRD:
+ enabled: true
+ namespaces:
+ []
+ # - "default"
+ kubernetesIngress:
+ enabled: true
+ # labelSelector: environment=production,method=traefik
+ namespaces:
+ []
+ # - "default"
+ # IP used for Kubernetes Ingress endpoints
+ publishedService:
+ enabled: true
+ # Published Kubernetes Service to copy status from. Format: namespace/servicename
+ # By default this Traefik service
+ # pathOverride: ""
+
+# -- Logs
+# https://docs.traefik.io/observability/logs/
+logs:
+ # Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on).
+ general:
+ # By default, the level is set to ERROR. Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO.
+ level: ERROR
+ # -- Set the format of General Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/logs/#format
+ format: common
+ access:
+ # To enable access logs
+ enabled: false
+ # To write the logs in an asynchronous fashion, specify a bufferingSize option.
+ # This option represents the number of log lines Traefik will keep in memory before writing
+ # them to the selected output. In some cases, this option can greatly help performances.
+ # bufferingSize: 100
+ # Filtering https://docs.traefik.io/observability/access-logs/#filtering
+ filters:
+ {}
+ # statuscodes: "200,300-302"
+ # retryattempts: true
+ # minduration: 10ms
+ # Fields
+ # https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers
+ fields:
+ general:
+ defaultmode: keep
+ names:
+ {}
+ # Examples:
+ # ClientUsername: drop
+ headers:
+ defaultmode: drop
+ names:
+ {}
+ # Examples:
+ # User-Agent: redact
+ # Authorization: drop
+ # Content-Type: keep
+ # -- Set the format of Access Logs to be either Common Log Format or JSON. For more information: https://doc.traefik.io/traefik/observability/access-logs/#format
+ format: common
+
+metrics:
+ # datadog:
+ # address: 127.0.0.1:8125
+ # influxdb:
+ # address: localhost:8089
+ # protocol: udp
+ prometheus:
+ entryPoint: metrics
+ # statsd:
+ # address: localhost:8125
+
+globalArguments:
+ - "--global.checknewversion"
+
+##
+# -- Additional arguments to be passed at Traefik's binary
+# All available options available on https://docs.traefik.io/reference/static-configuration/cli/
+## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"`
+additionalArguments:
+ - "--metrics.prometheus"
+ - "--ping"
+ - "--serverstransport.insecureskipverify=true"
+ - "--providers.kubernetesingress.allowexternalnameservices=true"
+
+# -- TLS Options to be created as TLSOption CRDs
+# https://doc.traefik.io/tccr.io/truecharts/https/tls/#tls-options
+# Example:
+tlsOptions:
+ default:
+ sniStrict: false
+ minVersion: VersionTLS12
+ curvePreferences:
+ - CurveP521
+ - CurveP384
+ cipherSuites:
+ - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+ - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
+ - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
+ - TLS_AES_128_GCM_SHA256
+ - TLS_AES_256_GCM_SHA384
+ - TLS_CHACHA20_POLY1305_SHA256
+
+# -- Options for the main traefik service, where the entrypoints traffic comes from
+# from.
+service:
+ main:
+ type: LoadBalancer
+ ports:
+ main:
+ port: 9000
+ targetPort: 9000
+ protocol: HTTP
+ # -- Forwarded Headers should never be enabled on Main entrypoint
+ forwardedHeaders:
+ enabled: false
+ tcp:
+ enabled: true
+ type: LoadBalancer
+ ports:
+ web:
+ enabled: true
+ port: 9080
+ protocol: HTTP
+ redirectTo: websecure
+ # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support
+ forwardedHeaders:
+ enabled: false
+ # -- List of trusted IP and CIDR references
+ trustedIPs: []
+ # -- Trust all forwarded headers
+ insecureMode: false
+ # Options: Empty, 0 (ingore), or positive int
+ # redirectPort:
+ websecure:
+ enabled: true
+ port: 9443
+ protocol: HTTPS
+ # -- Configure (Forwarded Headers)[https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers] Support
+ forwardedHeaders:
+ enabled: false
+ # -- List of trusted IP and CIDR references
+ trustedIPs: []
+ # -- Trust all forwarded headers
+ insecureMode: false
+ # tcpexample:
+ # enabled: true
+ # targetPort: 9443
+ # protocol: TCP
+ # tls:
+ # enabled: false
+ # # this is the name of a TLSOption definition
+ # options: ""
+ # certResolver: ""
+ # domains: []
+ # # - main: example.com
+ # # sans:
+ # # - foo.example.com
+ # # - bar.example.com
+ metrics:
+ enabled: true
+ type: ClusterIP
+ ports:
+ metrics:
+ enabled: true
+ port: 9180
+ targetPort: 9180
+ protocol: HTTP
+ # -- Forwarded Headers should never be enabled on Metrics entrypoint
+ forwardedHeaders:
+ enabled: false
+ udp:
+ enabled: false
+
+# probes:
+# # -- Liveness probe configuration
+# # @default -- See below
+# liveness:
+# # -- sets the probe type when not using a custom probe
+# # @default -- "TCP"
+# type: HTTP
+# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used
+# # @default -- "/"
+# path: "/ping"
+
+# # -- Redainess probe configuration
+# # @default -- See below
+# readiness:
+# # -- sets the probe type when not using a custom probe
+# # @default -- "TCP"
+# type: HTTP
+# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used
+# # @default -- "/"
+# path: "/ping"
+
+# # -- Startup probe configuration
+# # @default -- See below
+# startup:
+# # -- sets the probe type when not using a custom probe
+# # @default -- "TCP"
+# type: HTTP
+# # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used
+# # @default -- "/"
+# path: "/ping"
+
+# -- Whether Role Based Access Control objects like roles and rolebindings should be created
+rbac:
+ main:
+ enabled: true
+ rules:
+ - apiGroups:
+ - ""
+ resources:
+ - services
+ - endpoints
+ - secrets
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - extensions
+ - networking.k8s.io
+ resources:
+ - ingresses
+ - ingressclasses
+ verbs:
+ - get
+ - list
+ - watch
+ - apiGroups:
+ - extensions
+ - networking.k8s.io
+ resources:
+ - ingresses/status
+ verbs:
+ - update
+ - apiGroups:
+ - traefik.containo.us
+ resources:
+ - ingressroutes
+ - ingressroutetcps
+ - ingressrouteudps
+ - middlewares
+ - middlewaretcps
+ - tlsoptions
+ - tlsstores
+ - traefikservices
+ - serverstransports
+ verbs:
+ - get
+ - list
+ - watch
+
+# -- The service account the pods will use to interact with the Kubernetes API
+serviceAccount:
+ main:
+ create: true
+
+# -- SCALE Middleware Handlers
+middlewares:
+ basicAuth: []
+ # - name: basicauthexample
+ # users:
+ # - username: testuser
+ # password: testpassword
+ forwardAuth: []
+ # - name: forwardAuthexample
+ # address: https://auth.example.com/
+ # authResponseHeaders:
+ # - X-Secret
+ # - X-Auth-User
+ # authRequestHeaders:
+ # - "Accept"
+ # - "X-CustomHeader"
+ # authResponseHeadersRegex: "^X-"
+ # trustForwardHeader: true
+ chain: []
+ # - name: chainname
+ # middlewares:
+ # - name: compress
+ redirectScheme: []
+ # - name: redirectSchemeName
+ # scheme: https
+ # permanent: true
+ rateLimit: []
+ # - name: rateLimitName
+ # average: 300
+ # burst: 200
+ redirectRegex: []
+ # - name: redirectRegexName
+ # regex: putregexhere
+ # replacement: repslacementurlhere
+ # permanent: false
+ stripPrefixRegex: []
+ # - name: stripPrefixRegexName
+ # regex: []
+ ipWhiteList: []
+ # - name: ipWhiteListName
+ # sourceRange: []
+ # ipStrategy:
+ # depth: 2
+ # excludedIPs: []
+ # -- Currently requires to enable Traefik Pilot.
+ # -- Until it's deprecated.
+ themePark: []
+ # - name: themeParkName
+ # -- Supported apps, lower case name
+ # -- https://docs.theme-park.dev/themes
+ # app: appnamehere
+ # -- Supported themes, lower case name
+ # -- https://docs.theme-park.dev/themes/APPNAMEHERE
+ # -- https://docs.theme-park.dev/community-themes
+ # theme: themenamehere
+ # -- https://theme-park.dev or a self hosted url
+ # baseUrl: https://theme-park.dev
+ themeParkVersion: v1.1.0
+
+portalhook:
+ enabled: true
+
+persistence:
+ plugins:
+ enabled: true
+ mountPath: "/plugins-storage"
+ type: emptyDir
diff --git a/stable/traefik/13.1.3/questions.yaml b/stable/traefik/13.1.3/questions.yaml
new file mode 100644
index 0000000000..fa8caca9ec
--- /dev/null
+++ b/stable/traefik/13.1.3/questions.yaml
@@ -0,0 +1,2632 @@
+groups:
+ - name: "Container Image"
+ description: "Image to be used for container"
+ - name: "Controller"
+ description: "Configure workload deployment"
+ - name: "Container Configuration"
+ description: "additional container configuration"
+ - name: "App Configuration"
+ description: "App specific config options"
+ - name: "Networking and Services"
+ description: "Configure Network and Services for container"
+ - name: "Storage and Persistence"
+ description: "Persist and share data that is separate from the container"
+ - name: "Ingress"
+ description: "Ingress Configuration"
+ - name: "Security and Permissions"
+ description: "Configure security context and permissions"
+ - name: "Resources and Devices"
+ description: "Specify resources/devices to be allocated to workload"
+ - name: "Middlewares"
+ description: "Traefik Middlewares"
+ - name: "Metrics"
+ description: "Metrics"
+ - name: "Addons"
+ description: "Addon Configuration"
+ - name: "Advanced"
+ description: "Advanced Configuration"
+portals:
+ open:
+ protocols:
+ - "http"
+ host:
+ - "$kubernetes-resource_configmap_portal_host"
+ ports:
+ - "$kubernetes-resource_configmap_portal_port"
+ path: "/dashboard/"
+questions:
+ - variable: portal
+ group: "Container Image"
+ label: "Configure Portal Button"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "enable the portal button"
+ schema:
+ hidden: true
+ editable: false
+ type: boolean
+ default: true
+ - variable: global
+ label: "global settings"
+ group: "Controller"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: isSCALE
+ label: "flag this is SCALE"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: controller
+ group: "Controller"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced Controller Settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: type
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Controller Type"
+ schema:
+ type: string
+ default: "deployment"
+ required: true
+ enum:
+ - value: "deployment"
+ description: "Deployment"
+ - value: "statefulset"
+ description: "Statefulset"
+ - value: "daemonset"
+ description: "Daemonset"
+ - variable: replicas
+ description: "Number of desired pod replicas"
+ label: "Desired Replicas"
+ schema:
+ type: int
+ default: 1
+ required: true
+ - variable: strategy
+ description: "Please specify type of workload to deploy"
+ label: "(Advanced) Update Strategy"
+ schema:
+ type: string
+ default: "RollingUpdate"
+ required: true
+ enum:
+ - value: "Recreate"
+ description: "Recreate: Kill existing pods before creating new ones"
+ - value: "RollingUpdate"
+ description: "RollingUpdate: Create new pods and then kill old ones"
+ - value: "OnDelete"
+ description: "(Legacy) OnDelete: ignore .spec.template changes"
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: extraArgs
+ label: "Extra Args"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: arg
+ label: "arg"
+ schema:
+ type: string
+ - variable: labelsList
+ label: "Controller Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: " Controller Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: TZ
+ label: "Timezone"
+ group: "Container Configuration"
+ schema:
+ type: string
+ default: "Etc/UTC"
+ $ref:
+ - "definitions/timezone"
+
+ - variable: envList
+ label: "Image environment"
+ group: "Container Configuration"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: expertpodconf
+ group: "Container Configuration"
+ label: "Show Expert Config"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: tty
+ label: "Enable TTY"
+ description: "Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: stdin
+ label: "Enable STDIN"
+ description: "Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled."
+ group: "Workload Details"
+ schema:
+ type: boolean
+ default: false
+ - variable: termination
+ group: "Container Configuration"
+ label: "Termination settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: gracePeriodSeconds
+ label: "Grace Period Seconds"
+ schema:
+ type: int
+ default: 10
+ - variable: podLabelsList
+ group: "Container Configuration"
+ label: "Pod Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podLabelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: podAnnotationsList
+ group: "Container Configuration"
+ label: "Pod Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: podAnnotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressClass
+ label: "ingressClass"
+ group: "App Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ description: "When enabled, ingressClass will match the entered name of this app"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: isDefaultClass
+ label: "isDefaultClass"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: logs
+ label: "Logs"
+ group: "App Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: general
+ label: "General Logs"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: level
+ label: "Log Level"
+ schema:
+ type: string
+ default: "ERROR"
+ enum:
+ - value: "INFO"
+ description: "Info"
+ - value: "WARN"
+ description: "Warnings"
+ - value: "ERROR"
+ description: "Errors"
+ - value: "FATAL"
+ description: "Fatal Errors"
+ - value: "PANIC"
+ description: "Panics"
+ - value: "DEBUG"
+ description: "Debug"
+ - variable: format
+ label: "General Log format"
+ schema:
+ type: string
+ default: "common"
+ enum:
+ - value: "common"
+ description: "Common Log Format"
+ - value: "json"
+ description: "JSON"
+ - variable: access
+ label: "Access Logs"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enabledFilters
+ label: "Enable Filters"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: filters
+ label: "Filters"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: statuscodes
+ label: "Status codes"
+ schema:
+ type: string
+ default: "200,300-302"
+ - variable: retryattempts
+ label: "retryattempts"
+ schema:
+ type: boolean
+ default: true
+ - variable: minduration
+ label: "minduration"
+ schema:
+ type: string
+ default: "10ms"
+ - variable: fields
+ label: "Fields"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: general
+ label: "General"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: defaultmode
+ label: "Default Mode"
+ schema:
+ type: string
+ default: "keep"
+ enum:
+ - value: "keep"
+ description: "Keep"
+ - value: "drop"
+ description: "Drop"
+ - variable: headers
+ label: "Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: defaultmode
+ label: "Default Mode"
+ schema:
+ type: string
+ default: "drop"
+ enum:
+ - value: "keep"
+ description: "Keep"
+ - value: "drop"
+ description: "Drop"
+ - variable: format
+ label: "Access Log format"
+ schema:
+ type: string
+ default: "common"
+ enum:
+ - value: "common"
+ description: "Common Log Format"
+ - value: "json"
+ description: "JSON"
+ - variable: middlewares
+ label: ""
+ group: "Middlewares"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: basicAuth
+ label: "basicAuth"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: basicAuthEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: users
+ label: "Users"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: usersEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: username
+ label: "Username"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: password
+ label: "Password"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: forwardAuth
+ label: "forwardAuth"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: basicAuthEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: address
+ label: "Address"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: trustForwardHeader
+ label: "trustForwardHeader"
+ schema:
+ type: boolean
+ default: false
+ - variable: authResponseHeadersRegex
+ label: "authResponseHeadersRegex"
+ schema:
+ type: string
+ default: ""
+ - variable: authResponseHeaders
+ label: "authResponseHeaders"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: authResponseHeadersEntry
+ label: ""
+ schema:
+ type: string
+ default: ""
+ - variable: authRequestHeaders
+ label: "authRequestHeaders"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: authRequestHeadersEntry
+ label: ""
+ schema:
+ type: string
+ default: ""
+ - variable: chain
+ label: "chain"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: chainEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: middlewares
+ label: "Middlewares to Chain"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: redirectScheme
+ label: "redirectScheme"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: redirectSchemeEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: scheme
+ label: "Scheme"
+ schema:
+ type: string
+ required: true
+ default: "https"
+ enum:
+ - value: "https"
+ description: "https"
+ - value: "http"
+ description: "http"
+ - variable: permanent
+ label: "Permanent"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: rateLimit
+ label: "rateLimit"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: rateLimitEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: average
+ label: "Average"
+ schema:
+ type: int
+ required: true
+ default: 300
+ - variable: burst
+ label: "Burst"
+ schema:
+ type: int
+ required: true
+ default: 200
+
+ - variable: redirectRegex
+ label: "redirectRegex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: redirectRegexEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: regex
+ label: "Regex"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: replacement
+ label: "Replacement"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: permanent
+ label: "Permanent"
+ schema:
+ type: boolean
+ default: false
+
+ - variable: stripPrefixRegex
+ label: "stripPrefixRegex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: stripPrefixRegexEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: regex
+ label: "Regex"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: regexEntry
+ label: "Regex"
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: ipWhiteList
+ label: "ipWhiteList"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ipWhiteListEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: sourceRange
+ label: "Source Range"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: sourceRangeEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: ipStrategy
+ label: "IP Strategy"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: depth
+ label: "Depth"
+ schema:
+ type: int
+ required: true
+ - variable: excludedIPs
+ label: "Excluded IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: excludedIPsEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+
+ - variable: themePark
+ label: "theme.park"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: themeParkEntry
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ description: This is a 3rd party plugin and not maintained by TrueCharts,
+ for more information go to traefik-themepark
+ schema:
+ type: string
+ required: true
+ - variable: appName
+ label: App Name
+ description: Lower case, name of the app to be themed.
+ Go to https://docs.theme-park.dev/themes/ to see supported apps.
+ schema:
+ type: string
+ required: true
+ - variable: themeName
+ label: Theme Name
+ description: Lower case, name of the theme to be applied.
+ Go to https://docs.theme-park.dev/theme-options/ to see supported themes.
+ schema:
+ type: string
+ required: true
+ - variable: baseUrl
+ label: Base URL
+ description: Replace `https://theme-park.dev` URL for self-hosting reference.
+ schema:
+ type: string
+ required: true
+ default: https://theme-park.dev
+
+ - variable: service
+ group: "Networking and Services"
+ label: "Configure Service Entrypoint"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Service"
+ description: "The Primary service on which the healthcheck runs, often the webUI"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Entrypoint Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ default: 9000
+
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9000
+ required: true
+ - variable: tcp
+ label: "TCP Service"
+ description: "The tcp Entrypoint service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the service"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "Simple"
+ enum:
+ - value: "Simple"
+ description: "Simple"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "NodePort"
+ description: "NodePort (Advanced)"
+ - value: "LoadBalancer"
+ description: "LoadBalancer (Advanced)"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ipFamilyPolicy
+ label: "IP Family Policy"
+ description: "(Advanced) Specify the ip policy"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: string
+ default: "SingleStack"
+ enum:
+ - value: "SingleStack"
+ description: "SingleStack"
+ - value: "PreferDualStack"
+ description: "PreferDualStack"
+ - value: "RequireDualStack"
+ description: "RequireDualStack"
+ - variable: ipFamilies
+ label: "(advanced) IP families"
+ description: "(advanced) The ip families that should be used"
+ schema:
+ show_if: [["type", "!=", "Simple"]]
+ type: list
+ default: []
+ items:
+ - variable: ipFamily
+ label: "IP family"
+ schema:
+ type: string
+ - variable: ports
+ label: "Service's Port(s) Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: web
+ label: "web Entrypoint Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9080
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ default: "websecure"
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: string
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: websecure
+ label: "websecure Entrypoints Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: port
+ label: "Entrypoints Port"
+ schema:
+ type: int
+ default: 9443
+ required: true
+ - variable: advanced
+ label: "Show Advanced settings"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: protocol
+ label: "Port Type"
+ schema:
+ type: string
+ default: "HTTPS"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - value: "UDP"
+ description: "UDP"
+ - variable: nodePort
+ label: "Node Port (Optional)"
+ description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
+ schema:
+ type: int
+ min: 9000
+ max: 65535
+ - variable: targetPort
+ label: "Target Port"
+ description: "The internal(!) port on the container the Application runs on"
+ schema:
+ type: int
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: ipaddr
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: tls
+ label: "websecure Entrypoints Configuration"
+ schema:
+ type: dict
+ hidden: true
+ attrs:
+ - variable: enabled
+ label: "Enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: portsList
+ label: "Additional TCP Entrypoints"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: portsListEntry
+ label: "Custom Entrypoints"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the port"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Entrypoints Name"
+ schema:
+ type: string
+ default: ""
+ - variable: protocol
+ label: "Entrypoints Type"
+ schema:
+ type: string
+ default: "TCP"
+ enum:
+ - value: HTTP
+ description: "HTTP"
+ - value: "HTTPS"
+ description: "HTTPS"
+ - value: TCP
+ description: "TCP"
+ - variable: port
+ label: "Port"
+ description: "This port exposes the container port on the service"
+ schema:
+ type: int
+ required: true
+ - variable: tls
+ label: "websecure Entrypoints Configuration"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enabled"
+ schema:
+ type: boolean
+ default: true
+ - variable: redirectPort
+ label: "Redirect to Port"
+ schema:
+ type: int
+ - variable: redirectTo
+ label: "Redirect to Entrypoint"
+ schema:
+ type: string
+ - variable: forwardedHeaders
+ label: "Accept Forwarded Headers"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: trustedIPs
+ label: "Trusted IPs"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: trustedIPsEntry
+ label: ""
+ schema:
+ type: ipaddr
+ required: true
+ default: ""
+ - variable: insecureMode
+ label: "Insecure Mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: ingress
+ label: ""
+ group: "Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: main
+ label: "Main Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+
+ - variable: entrypoint
+ label: "(Advanced) Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: expert
+ label: "Show Expert Configuration Options"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: enableFixedMiddlewares
+ description: "These middlewares enforce a number of best practices."
+ label: "Enable Default Middlewares"
+ schema:
+ type: boolean
+ default: true
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+
+ - variable: ingressList
+ label: "Add Manual Custom Ingresses"
+ group: "Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: ingressListEntry
+ label: "Custom Ingress"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable Ingress"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ - variable: ingressClassName
+ label: "IngressClass Name"
+ schema:
+ type: string
+ default: ""
+ - variable: labelsList
+ label: "Labels"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: labelItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: annotationsList
+ label: "Annotations"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: annotationItem
+ label: "Label"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ - variable: hosts
+ label: "Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: hostEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: host
+ label: "HostName"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: paths
+ label: "Paths"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: pathEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: path
+ label: "path"
+ schema:
+ type: string
+ required: true
+ default: "/"
+ - variable: pathType
+ label: "pathType"
+ schema:
+ type: string
+ required: true
+ default: "Prefix"
+ - variable: service
+ label: "Linked Service"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Service Name"
+ schema:
+ type: string
+ default: ""
+ - variable: port
+ label: "Service Port"
+ schema:
+ type: int
+ - variable: tls
+ label: "TLS-Settings"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: tlsEntry
+ label: "Host"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: hosts
+ label: "Certificate Hosts"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: host
+ label: "Host"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: scaleCert
+ label: "Select TrueNAS SCALE Certificate"
+ schema:
+ type: int
+ $ref:
+ - "definitions/certificate"
+ - variable: entrypoint
+ label: "Traefik Entrypoint"
+ description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
+ schema:
+ type: string
+ default: "websecure"
+ required: true
+ - variable: middlewares
+ label: "Traefik Middlewares"
+ description: "Add previously created Traefik Middlewares to this Ingress"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ default: ""
+ required: true
+
+ - variable: security
+ label: "Container Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: dict
+ additional_attrs: true
+ attrs:
+ - variable: editsecurity
+ label: "Change PUID / UMASK values"
+ description: "By enabling this you override default set values."
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: PUID
+ label: "Process User ID - PUID"
+ description: "When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps"
+ schema:
+ type: int
+ default: 568
+ - variable: UMASK
+ label: "UMASK"
+ description: "When supported by the container, this sets the UMASK for tha App. Not supported by all Apps"
+ schema:
+ type: string
+ default: "002"
+
+ - variable: advancedSecurity
+ label: "Show Advanced Security Settings"
+ group: "Security and Permissions"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: securityContext
+ label: "Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: privileged
+ label: "Privileged mode"
+ schema:
+ type: boolean
+ default: false
+ - variable: readOnlyRootFilesystem
+ label: "ReadOnly Root Filesystem"
+ schema:
+ type: boolean
+ default: true
+ - variable: allowPrivilegeEscalation
+ label: "Allow Privilege Escalation"
+ schema:
+ type: boolean
+ default: false
+ - variable: runAsNonRoot
+ label: "runAsNonRoot"
+ schema:
+ type: boolean
+ default: true
+ - variable: capabilities
+ label: "Capabilities"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: drop
+ label: "Drop Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: dropEntry
+ label: ""
+ schema:
+ type: string
+ - variable: add
+ label: "Add Capability"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: addEntry
+ label: ""
+ schema:
+ type: string
+
+ - variable: podSecurityContext
+ group: "Security and Permissions"
+ label: "Pod Security Context"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: runAsUser
+ label: "runAsUser"
+ description: "The UserID of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: runAsGroup
+ label: "runAsGroup"
+ description: "The groupID this App of the user running the application"
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroup
+ label: "fsGroup"
+ description: "The group that should own ALL storage."
+ schema:
+ type: int
+ default: 568
+ - variable: fsGroupChangePolicy
+ label: "When should we take ownership?"
+ schema:
+ type: string
+ default: "OnRootMismatch"
+ enum:
+ - value: "OnRootMismatch"
+ description: "OnRootMismatch"
+ - value: "Always"
+ description: "Always"
+ - variable: supplementalGroups
+ label: "supplemental Groups"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: supplementalGroupsEntry
+ label: "supplemental Group"
+ schema:
+ type: int
+
+
+ - variable: advancedresources
+ label: "Set Custom Resource Limits/Requests (Advanced)"
+ group: "Resources and Devices"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: resources
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: limits
+ label: "Advanced Limit Resource Consumption"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "4000m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "8Gi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+ - variable: requests
+ label: "Minimum Resources Required (request)"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: cpu
+ label: "CPU"
+ description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "10m"
+ valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
+ - variable: memory
+ label: "RAM"
+ description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/indepth/validation/"
+ schema:
+ type: string
+ default: "50Mi"
+ valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
+
+ - variable: deviceList
+ label: "Mount USB devices"
+ group: "Resources and Devices"
+ schema:
+ type: list
+ default: []
+ items:
+ - variable: deviceListEntry
+ label: "Device"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "Enable the storage"
+ schema:
+ type: boolean
+ default: true
+ - variable: type
+ label: "(Advanced) Type of Storage"
+ description: "Sets the persistence type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: readOnly
+ label: "readOnly"
+ schema:
+ type: boolean
+ default: false
+ - variable: hostPath
+ label: "Host Device Path"
+ description: "Path to the device on the host system"
+ schema:
+ type: path
+ - variable: mountPath
+ label: "Container Device Path"
+ description: "Path inside the container the device is mounted"
+ schema:
+ type: string
+ default: "/dev/ttyACM0"
+
+ # Specify GPU configuration
+ - variable: scaleGPU
+ label: "GPU Configuration"
+ group: "Resources and Devices"
+ schema:
+ type: dict
+ $ref:
+ - "definitions/gpuConfiguration"
+ attrs: []
+
+# - variable: autoscaling
+# group: "Advanced"
+# label: "(Advanced) Horizontal Pod Autoscaler"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: target
+# label: "Target"
+# description: "deployment name, defaults to main deployment"
+# schema:
+# type: string
+# default: ""
+# - variable: minReplicas
+# label: "Minimum Replicas"
+# schema:
+# type: int
+# default: 1
+# - variable: maxReplicas
+# label: "Maximum Replicas"
+# schema:
+# type: int
+# default: 5
+# - variable: targetCPUUtilizationPercentage
+# label: "Target CPU Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: targetMemoryUtilizationPercentage
+# label: "Target Memory Utilization Percentage"
+# schema:
+# type: int
+# default: 80
+# - variable: networkPolicy
+# group: "Advanced"
+# label: "(Advanced) Network Policy"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: enabled
+# label: "enabled"
+# schema:
+# type: boolean
+# default: false
+# show_subquestions_if: true
+# subquestions:
+# - variable: policyType
+# label: "Policy Type"
+# schema:
+# type: string
+# default: ""
+# enum:
+# - value: ""
+# description: "Default"
+# - value: "ingress"
+# description: "Ingress"
+# - value: "egress"
+# description: "Egress"
+# - value: "ingress-egress"
+# description: "Ingress and Egress"
+# - variable: egress
+# label: "Egress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: egressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: to
+# label: "To"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: toEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+# - variable: ingress
+# label: "Ingress"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: ingressEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: from
+# label: "From"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: fromEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: ipBlock
+# label: "ipBlock"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: cidr
+# label: "cidr"
+# schema:
+# type: string
+# default: ""
+# - variable: except
+# label: "except"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: exceptint
+# label: ""
+# schema:
+# type: string
+# - variable: namespaceSelector
+# label: "namespaceSelector"
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: podSelector
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: matchExpressions
+# label: "matchExpressions"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: expressionEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: key
+# label: "Key"
+# schema:
+# type: string
+# - variable: operator
+# label: "operator"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "In"
+# description: "In"
+# - value: "NotIn"
+# description: "NotIn"
+# - value: "Exists "
+# description: "Exists "
+# - value: "DoesNotExist "
+# description: "DoesNotExist "
+# - variable: values
+# label: "values"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: value
+# label: ""
+# schema:
+# type: string
+# - variable: ports
+# label: "Ports"
+# schema:
+# type: list
+# default: []
+# items:
+# - variable: portsEntry
+# label: ""
+# schema:
+# additional_attrs: true
+# type: dict
+# attrs:
+# - variable: port
+# label: "port"
+# schema:
+# type: int
+# - variable: endPort
+# label: "port"
+# schema:
+# type: int
+# - variable: protocol
+# label: "Protocol"
+# schema:
+# type: string
+# default: "TCP"
+# enum:
+# - value: "TCP"
+# description: "TCP"
+# - value: "UDP"
+# description: "UDP"
+# - value: "SCTP"
+# description: "SCTP"
+
+
+ - variable: addons
+ group: "Addons"
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: vpn
+ label: "VPN"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Type"
+ schema:
+ type: string
+ default: "disabled"
+ enum:
+ - value: "disabled"
+ description: "disabled"
+ - value: "openvpn"
+ description: "OpenVPN"
+ - value: "wireguard"
+ description: "Wireguard"
+ - variable: openvpn
+ label: "OpenVPN Settings"
+ schema:
+ type: dict
+ show_if: [["type", "=", "openvpn"]]
+ attrs:
+ - variable: username
+ label: "authentication username"
+ description: "authentication username, optional"
+ schema:
+ type: string
+ default: ""
+ - variable: password
+ label: "authentication password"
+ description: "authentication credentials"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: killSwitch
+ label: "Enable killswitch"
+ schema:
+ type: boolean
+ show_if: [["type", "!=", "disabled"]]
+ default: true
+ - variable: excludedNetworks_IPv4
+ label: "Killswitch Excluded IPv4 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv4
+ label: "IPv4 Network"
+ schema:
+ type: string
+ required: true
+ - variable: excludedNetworks_IPv6
+ label: "Killswitch Excluded IPv6 networks"
+ description: "list of killswitch excluded ipv4 addresses"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: networkv6
+ label: "IPv6 Network"
+ schema:
+ type: string
+ required: true
+
+ - variable: configFile
+ label: "VPN Config File Location"
+ schema:
+ type: dict
+ show_if: [["type", "!=", "disabled"]]
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: type
+ label: "type"
+ schema:
+ type: string
+ default: "hostPath"
+ hidden: true
+ - variable: hostPathType
+ label: "hostPathType"
+ schema:
+ type: string
+ default: "File"
+ hidden: true
+ - variable: noMount
+ label: "noMount"
+ schema:
+ type: boolean
+ default: true
+ hidden: true
+ - variable: hostPath
+ label: "Full path to file"
+ description: "path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
+ schema:
+ type: string
+ default: ""
+ required: true
+ - variable: envList
+ label: "VPN environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+ - variable: codeserver
+ label: "Codeserver"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: git
+ label: "Git Settings"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: deployKey
+ description: "Raw SSH private key"
+ label: "deployKey"
+ schema:
+ type: string
+ - variable: deployKeyBase64
+ description: "Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence"
+ label: "deployKeyBase64"
+ schema:
+ type: string
+ - variable: service
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: type
+ label: "Service Type"
+ description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
+ schema:
+ type: string
+ default: "NodePort"
+ enum:
+ - value: "NodePort"
+ description: "NodePort"
+ - value: "ClusterIP"
+ description: "ClusterIP"
+ - value: "LoadBalancer"
+ description: "LoadBalancer"
+ - variable: loadBalancerIP
+ label: "LoadBalancer IP"
+ description: "LoadBalancerIP"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: string
+ default: ""
+ - variable: externalIPs
+ label: "External IP's"
+ description: "External IP's"
+ schema:
+ show_if: [["type", "=", "LoadBalancer"]]
+ type: list
+ default: []
+ items:
+ - variable: externalIP
+ label: "External IP"
+ schema:
+ type: string
+ - variable: ports
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: codeserver
+ label: ""
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: nodePort
+ description: "leave empty to disable"
+ label: "nodePort"
+ schema:
+ type: int
+ default: 36107
+ - variable: envList
+ label: "Codeserver environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+ - variable: promtail
+ label: "Promtail"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: loki
+ label: "Loki URL"
+ schema:
+ type: string
+ required: true
+ - variable: logs
+ label: "Log Paths"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: path
+ label: "Path"
+ schema:
+ type: string
+ required: true
+ - variable: args
+ label: "Promtail ecommand line arguments"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: arg
+ label: "Arg"
+ schema:
+ type: string
+ required: true
+ - variable: envList
+ label: "Promtail environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
+
+
+
+
+ - variable: netshoot
+ label: "Netshoot"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: enabled
+ label: "enabled"
+ schema:
+ type: boolean
+ default: false
+ show_subquestions_if: true
+ subquestions:
+ - variable: envList
+ label: "Netshoot environment Variables"
+ schema:
+ type: list
+ show_if: [["type", "!=", "disabled"]]
+ default: []
+ items:
+ - variable: envItem
+ label: "Environment Variable"
+ schema:
+ additional_attrs: true
+ type: dict
+ attrs:
+ - variable: name
+ label: "Name"
+ schema:
+ type: string
+ required: true
+ - variable: value
+ label: "Value"
+ schema:
+ type: string
+ required: true
diff --git a/stable/traefik/13.1.3/templates/_args.tpl b/stable/traefik/13.1.3/templates/_args.tpl
new file mode 100644
index 0000000000..e51ea524ca
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_args.tpl
@@ -0,0 +1,155 @@
+{{/* Define the args */}}
+{{- define "traefik.args" -}}
+args:
+ {{/* merge all ports */}}
+ {{- $ports := dict }}
+ {{- range $.Values.service }}
+ {{- range $name, $value := .ports }}
+ {{- $_ := set $ports $name $value }}
+ {{- end }}
+ {{- end }}
+ {{/* start of actual arguments */}}
+ {{- with .Values.globalArguments }}
+ {{- range . }}
+ - {{ . | quote }}
+ {{- end }}
+ {{- end }}
+ {{- range $name, $config := $ports }}
+ {{- if $config }}
+ {{- if or ( eq $config.protocol "HTTP" ) ( eq $config.protocol "HTTPS" ) ( eq $config.protocol "TCP" ) }}
+ {{- $_ := set $config "protocol" "TCP" }}
+ {{- end }}
+ - "--entryPoints.{{$name}}.address=:{{ $config.port }}/{{ default "tcp" $config.protocol | lower }}"
+ {{- end }}
+ {{- end }}
+ - "--api.dashboard=true"
+ - "--ping=true"
+ {{- if .Values.metrics }}
+ {{- if .Values.metrics.datadog }}
+ - "--metrics.datadog=true"
+ - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}"
+ {{- end }}
+ {{- if .Values.metrics.influxdb }}
+ - "--metrics.influxdb=true"
+ - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}"
+ - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}"
+ {{- end }}
+ {{- if .Values.metrics.prometheus }}
+ - "--metrics.prometheus=true"
+ - "--metrics.prometheus.entrypoint={{ .Values.metrics.prometheus.entryPoint }}"
+ {{- end }}
+ {{- if .Values.metrics.statsd }}
+ - "--metrics.statsd=true"
+ - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}"
+ {{- end }}
+ {{- end }}
+ {{- if .Values.providers.kubernetesCRD.enabled }}
+ - "--providers.kubernetescrd"
+ {{- end }}
+ {{- if .Values.providers.kubernetesIngress.enabled }}
+ - "--providers.kubernetesingress"
+ {{- if .Values.providers.kubernetesIngress.publishedService.enabled }}
+ - "--providers.kubernetesingress.ingressendpoint.publishedservice={{ template "providers.kubernetesIngress.publishedServicePath" . }}"
+ {{- end }}
+ {{- if .Values.providers.kubernetesIngress.labelSelector }}
+ - "--providers.kubernetesingress.labelSelector={{ .Values.providers.kubernetesIngress.labelSelector }}"
+ {{- end }}
+ {{- end }}
+ {{- if and .Values.rbac.enabled .Values.rbac.namespaced }}
+ {{- if .Values.providers.kubernetesCRD.enabled }}
+ - "--providers.kubernetescrd.namespaces={{ template "providers.kubernetesCRD.namespaces" . }}"
+ {{- end }}
+ {{- if .Values.providers.kubernetesIngress.enabled }}
+ - "--providers.kubernetesingress.namespaces={{ template "providers.kubernetesIngress.namespaces" . }}"
+ {{- end }}
+ {{- end }}
+ {{- if .Values.ingressClass.enabled }}
+ - "--providers.kubernetesingress.ingressclass={{ .Release.Name }}"
+ {{- end }}
+ {{- range $entrypoint, $config := $ports }}
+ {{/* add args for forwardedHeaders support */}}
+ {{- if $config.forwardedHeaders.enabled }}
+ {{- if not ( empty $config.forwardedHeaders.trustedIPs ) }}
+ - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.trustedIPs={{ join "," $config.forwardedHeaders.trustedIPs }}"
+ {{- end }}
+ {{- if $config.forwardedHeaders.insecureMode }}
+ - "--entrypoints.{{ $entrypoint }}.forwardedHeaders.insecure"
+ {{- end }}
+ {{- end }}
+ {{/* end forwardedHeaders configuration */}}
+ {{- if $config.redirectTo }}
+ {{- $toPort := index $ports $config.redirectTo }}
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $toPort.port }}"
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https"
+ {{- else if $config.redirectPort }}
+ {{ if gt $config.redirectPort 0.0 }}
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.to=:{{ $config.redirectPort }}"
+ - "--entrypoints.{{ $entrypoint }}.http.redirections.entryPoint.scheme=https"
+ {{- end }}
+ {{- end }}
+ {{- if or ( $config.tls ) ( eq $config.protocol "HTTPS" ) }}
+ {{- if or ( $config.tls.enabled ) ( eq $config.protocol "HTTPS" ) }}
+ - "--entrypoints.{{ $entrypoint }}.http.tls=true"
+ {{- if $config.tls.options }}
+ - "--entrypoints.{{ $entrypoint }}.http.tls.options={{ $config.tls.options }}"
+ {{- end }}
+ {{- if $config.tls.certResolver }}
+ - "--entrypoints.{{ $entrypoint }}.http.tls.certResolver={{ $config.tls.certResolver }}"
+ {{- end }}
+ {{- if $config.tls.domains }}
+ {{- range $index, $domain := $config.tls.domains }}
+ {{- if $domain.main }}
+ - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].main={{ $domain.main }}"
+ {{- end }}
+ {{- if $domain.sans }}
+ - "--entrypoints.{{ $entrypoint }}.http.tls.domains[{{ $index }}].sans={{ join "," $domain.sans }}"
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- with .Values.logs }}
+ - "--log.format={{ .general.format }}"
+ {{- if ne .general.level "ERROR" }}
+ - "--log.level={{ .general.level | upper }}"
+ {{- end }}
+ {{- if .access.enabled }}
+ - "--accesslog=true"
+ - "--accesslog.format={{ .access.format }}"
+ {{- if .access.bufferingsize }}
+ - "--accesslog.bufferingsize={{ .access.bufferingsize }}"
+ {{- end }}
+ {{- if .access.filters }}
+ {{- if .access.filters.statuscodes }}
+ - "--accesslog.filters.statuscodes={{ .access.filters.statuscodes }}"
+ {{- end }}
+ {{- if .access.filters.retryattempts }}
+ - "--accesslog.filters.retryattempts"
+ {{- end }}
+ {{- if .access.filters.minduration }}
+ - "--accesslog.filters.minduration={{ .access.filters.minduration }}"
+ {{- end }}
+ {{- end }}
+ - "--accesslog.fields.defaultmode={{ .access.fields.general.defaultmode }}"
+ {{- range $fieldname, $fieldaction := .access.fields.general.names }}
+ - "--accesslog.fields.names.{{ $fieldname }}={{ $fieldaction }}"
+ {{- end }}
+ - "--accesslog.fields.headers.defaultmode={{ .access.fields.headers.defaultmode }}"
+ {{- range $fieldname, $fieldaction := .access.fields.headers.names }}
+ - "--accesslog.fields.headers.names.{{ $fieldname }}={{ $fieldaction }}"
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{/* theme.park */}}
+ {{- if .Values.middlewares.themePark }}
+ - "--experimental.plugins.traefik-themepark.modulename=github.com/packruler/traefik-themepark"
+ - "--experimental.plugins.traefik-themepark.version={{ .Values.middlewares.themeParkVersion }}"
+ {{- end }}
+ {{/* End of theme.park */}}
+ {{- with .Values.additionalArguments }}
+ {{- range . }}
+ - {{ . | quote }}
+ {{- end }}
+ {{- end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.3/templates/_helpers.tpl b/stable/traefik/13.1.3/templates/_helpers.tpl
new file mode 100644
index 0000000000..ab55e4e7ec
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_helpers.tpl
@@ -0,0 +1,22 @@
+{{/*
+Construct the path for the providers.kubernetesingress.ingressendpoint.publishedservice.
+By convention this will simply use the / to match the name of the
+service generated.
+Users can provide an override for an explicit service they want bound via `.Values.providers.kubernetesIngress.publishedService.pathOverride`
+*/}}
+{{- define "providers.kubernetesIngress.publishedServicePath" -}}
+{{- $fullName := include "tc.common.names.fullname" . -}}
+{{- $defServiceName := printf "%s/%s-tcp" .Release.Namespace $fullName -}}
+{{- $servicePath := default $defServiceName .Values.providers.kubernetesIngress.publishedService.pathOverride }}
+{{- print $servicePath | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Construct a comma-separated list of whitelisted namespaces
+*/}}
+{{- define "providers.kubernetesIngress.namespaces" -}}
+{{- default .Release.Namespace (join "," .Values.providers.kubernetesIngress.namespaces) }}
+{{- end -}}
+{{- define "providers.kubernetesCRD.namespaces" -}}
+{{- default .Release.Namespace (join "," .Values.providers.kubernetesCRD.namespaces) }}
+{{- end -}}
diff --git a/stable/traefik/13.1.3/templates/_ingressclass.tpl b/stable/traefik/13.1.3/templates/_ingressclass.tpl
new file mode 100644
index 0000000000..909e249d6a
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_ingressclass.tpl
@@ -0,0 +1,24 @@
+{{/* Define the ingressClass */}}
+{{- define "traefik.ingressClass" -}}
+---
+{{ if .Values.ingressClass.enabled }}
+ {{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
+apiVersion: networking.k8s.io/v1
+ {{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
+apiVersion: networking.k8s.io/v1beta1
+ {{- else if or (eq .Values.ingressClass.fallbackApiVersion "v1beta1") (eq .Values.ingressClass.fallbackApiVersion "v1") }}
+apiVersion: {{ printf "networking.k8s.io/%s" .Values.ingressClass.fallbackApiVersion }}
+ {{- else }}
+ {{- fail "\n\n ERROR: You must have at least networking.k8s.io/v1beta1 to use ingressClass" }}
+ {{- end }}
+kind: IngressClass
+metadata:
+ annotations:
+ ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }}
+ labels:
+ {{- include "tc.common.labels" . | nindent 4 }}
+ name: {{ .Release.Name }}
+spec:
+ controller: traefik.io/ingress-controller
+{{- end }}
+{{- end }}
diff --git a/stable/traefik/13.1.3/templates/_ingressroute.tpl b/stable/traefik/13.1.3/templates/_ingressroute.tpl
new file mode 100644
index 0000000000..7f012c9235
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_ingressroute.tpl
@@ -0,0 +1,25 @@
+{{/* Define the ingressRoute */}}
+{{- define "traefik.ingressRoute" -}}
+{{ if .Values.ingressRoute.dashboard.enabled }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: IngressRoute
+metadata:
+ name: {{ include "tc.common.names.fullname" . }}-dashboard
+ annotations:
+ {{- with .Values.ingressRoute.dashboard.annotations }}
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ labels:
+ {{- include "tc.common.labels" . | nindent 4 }}
+spec:
+ entryPoints:
+ - main
+ routes:
+ - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
+ kind: Rule
+ services:
+ - name: api@internal
+ kind: TraefikService
+{{ end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.3/templates/_portalhook.tpl b/stable/traefik/13.1.3/templates/_portalhook.tpl
new file mode 100644
index 0000000000..e3586c5d4e
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_portalhook.tpl
@@ -0,0 +1,26 @@
+{{/* Define the portalHook */}}
+{{- define "traefik.portalhook" -}}
+{{- if .Values.portalhook.enabled }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: portalhook
+ namespace: {{ $namespace }}
+data:
+ {{- $ports := dict }}
+ {{- range $.Values.service }}
+ {{- range $name, $value := .ports }}
+ {{- $_ := set $ports $name $value }}
+ {{- end }}
+ {{- end }}
+ {{- range $name, $value := $ports }}
+ {{ $name }}: {{ $value.port | quote }}
+ {{- end }}
+{{- end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.3/templates/_tlsoptions.tpl b/stable/traefik/13.1.3/templates/_tlsoptions.tpl
new file mode 100644
index 0000000000..3e5aad3bee
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/_tlsoptions.tpl
@@ -0,0 +1,12 @@
+{{/* Define the tlsOptions */}}
+{{- define "traefik.tlsOptions" -}}
+{{- range $name, $config := .Values.tlsOptions }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: TLSOption
+metadata:
+ name: {{ $name }}
+spec:
+ {{- toYaml $config | nindent 2 }}
+{{- end }}
+{{- end -}}
diff --git a/stable/traefik/13.1.3/templates/common.yaml b/stable/traefik/13.1.3/templates/common.yaml
new file mode 100644
index 0000000000..d078b251c2
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/common.yaml
@@ -0,0 +1,24 @@
+{{/* Make sure all variables are set properly */}}
+{{- include "tc.common.loader.init" . }}
+
+{{- if .Values.metrics }}
+{{- if .Values.metrics.prometheus }}
+{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "true" -}}
+{{- $_ := set .Values.podAnnotations "prometheus.io/path" "/metrics" -}}
+{{- $_ := set .Values.podAnnotations "prometheus.io/scrape" "9180" -}}
+{{- end }}
+{{- end }}
+
+{{- $newArgs := (include "traefik.args" . | fromYaml) }}
+{{- $_ := set .Values "newArgs" $newArgs -}}
+{{- $mergedargs := concat .Values.args .Values.newArgs.args }}
+{{- $_ := set .Values "args" $mergedargs -}}
+
+{{- include "traefik.portalhook" . }}
+{{- include "traefik.tlsOptions" . }}
+{{- include "traefik.ingressRoute" . }}
+{{- include "traefik.ingressClass" . }}
+
+
+{{/* Render the templates */}}
+{{ include "tc.common.loader.apply" . }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/basic-middleware.yaml b/stable/traefik/13.1.3/templates/middlewares/basic-middleware.yaml
new file mode 100644
index 0000000000..de5be0af83
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/basic-middleware.yaml
@@ -0,0 +1,64 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: compress
+ namespace: {{ $namespace }}
+spec:
+ compress: {}
+---
+# Here, an average of 300 requests per second is allowed.
+# In addition, a burst of 200 requests is allowed.
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: basic-ratelimit
+ namespace: {{ $namespace }}
+spec:
+ rateLimit:
+ average: 600
+ burst: 400
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: basic-secure-headers
+ namespace: {{ $namespace }}
+spec:
+ headers:
+ accessControlAllowMethods:
+ - GET
+ - OPTIONS
+ - HEAD
+ - PUT
+ accessControlMaxAge: 100
+ sslRedirect: true
+ stsSeconds: 63072000
+ # stsIncludeSubdomains: false
+ # stsPreload: false
+ forceSTSHeader: true
+ contentTypeNosniff: true
+ browserXssFilter: true
+ sslForceHost: true
+ referrerPolicy: same-origin
+ customRequestHeaders:
+ X-Forwarded-Proto: "https"
+ customResponseHeaders:
+ server: ''
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: chain-basic
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: basic-ratelimit
+ - name: basic-secure-headers
+ - name: compress
diff --git a/stable/traefik/13.1.3/templates/middlewares/basicauth.yaml b/stable/traefik/13.1.3/templates/middlewares/basicauth.yaml
new file mode 100644
index 0000000000..ccb541742f
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/basicauth.yaml
@@ -0,0 +1,34 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.basicAuth }}
+---
+{{- $users := list }}
+{{ range $index, $userdata := $middlewareData.users }}
+ {{ $users = append $users ( htpasswd $userdata.username $userdata.password ) }}
+{{ end }}
+
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{printf "%v-%v" $middlewareData.name "secret" }}
+ namespace: {{ $namespace }}
+type: Opaque
+stringData:
+ users: |
+ {{- range $index, $user := $users }}
+ {{ printf "%s" $user }}
+ {{- end }}
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ basicAuth:
+ secret: {{printf "%v-%v" $middlewareData.name "secret" }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/chain.yaml b/stable/traefik/13.1.3/templates/middlewares/chain.yaml
new file mode 100644
index 0000000000..f87994f795
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/chain.yaml
@@ -0,0 +1,21 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.chain }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ {{ range $index, $middleware := .middlewares }}
+ - name: {{ printf "%v-%v@%v" $namespace $middleware "kubernetescrd" }}
+ {{ end }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/forwardauth.yaml b/stable/traefik/13.1.3/templates/middlewares/forwardauth.yaml
new file mode 100644
index 0000000000..7a3e32fdbf
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/forwardauth.yaml
@@ -0,0 +1,30 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.forwardAuth }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ forwardAuth:
+ address: {{ $middlewareData.address }}
+ {{- with $middlewareData.authResponseHeaders }}
+ authResponseHeaders:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- with $middlewareData.authRequestHeaders }}
+ authRequestHeaders:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+ {{- if $middlewareData.authResponseHeadersRegex }}
+ authResponseHeadersRegex: {{ $middlewareData.authResponseHeadersRegex }}
+ {{- end }}
+ {{- if $middlewareData.trustForwardHeader }}
+ trustForwardHeader: true
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/ipwhitelist.yaml b/stable/traefik/13.1.3/templates/middlewares/ipwhitelist.yaml
new file mode 100644
index 0000000000..1179245017
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/ipwhitelist.yaml
@@ -0,0 +1,33 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.ipWhiteList }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ ipWhiteList:
+ sourceRange:
+ {{- range $middlewareData.sourceRange }}
+ - {{ . }}
+ {{- end }}
+ {{- if $middlewareData.ipStrategy }}
+ ipStrategy:
+ {{- if $middlewareData.ipStrategy.depth }}
+ depth: {{ $middlewareData.ipStrategy.depth }}
+ {{- end }}
+ {{- if $middlewareData.ipStrategy.excludedIPs }}
+ excludedIPs:
+ {{- range $middlewareData.ipStrategy.excludedIPs }}
+ - {{ . }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/ratelimit.yaml b/stable/traefik/13.1.3/templates/middlewares/ratelimit.yaml
new file mode 100644
index 0000000000..144b9d8bf3
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/ratelimit.yaml
@@ -0,0 +1,19 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.rateLimit }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ rateLimit:
+ average: {{ $middlewareData.average }}
+ burst: {{ $middlewareData.burst }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/redirectScheme.yaml b/stable/traefik/13.1.3/templates/middlewares/redirectScheme.yaml
new file mode 100644
index 0000000000..f2413f84e1
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/redirectScheme.yaml
@@ -0,0 +1,19 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.redirectScheme }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ redirectScheme:
+ scheme: {{ $middlewareData.scheme }}
+ permanent: {{ $middlewareData.permanent }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/redirectregex.yaml b/stable/traefik/13.1.3/templates/middlewares/redirectregex.yaml
new file mode 100644
index 0000000000..46e3e724dd
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/redirectregex.yaml
@@ -0,0 +1,20 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{ range $index, $middlewareData := .Values.middlewares.redirectRegex }}
+
+---
+# Declaring the user list
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ redirectRegex:
+ regex: {{ $middlewareData.regex | quote }}
+ replacement: {{ $middlewareData.replacement | quote }}
+ permanent: {{ $middlewareData.permanent }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/stripPrefixRegex.yaml b/stable/traefik/13.1.3/templates/middlewares/stripPrefixRegex.yaml
new file mode 100644
index 0000000000..007c166ff3
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/stripPrefixRegex.yaml
@@ -0,0 +1,20 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+
+{{ range $index, $middlewareData := .Values.middlewares.stripPrefixRegex }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ stripPrefixRegex:
+ regex:
+ {{- range $middlewareData.regex }}
+ - {{ . | quote }}
+ {{- end }}
+{{ end }}
diff --git a/stable/traefik/13.1.3/templates/middlewares/tc-chains.yaml b/stable/traefik/13.1.3/templates/middlewares/tc-chains.yaml
new file mode 100644
index 0000000000..409766daa8
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/tc-chains.yaml
@@ -0,0 +1,29 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-opencors-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: basic-ratelimit
+ - name: tc-opencors-headers
+ - name: compress
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-closedcors-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: basic-ratelimit
+ - name: tc-closedcors-headers
+ - name: compress
diff --git a/stable/traefik/13.1.3/templates/middlewares/tc-headers.yaml b/stable/traefik/13.1.3/templates/middlewares/tc-headers.yaml
new file mode 100644
index 0000000000..a0462f1fd7
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/tc-headers.yaml
@@ -0,0 +1,62 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-opencors-headers
+ namespace: {{ $namespace }}
+spec:
+ headers:
+ accessControlAllowHeaders:
+ - '*'
+ accessControlAllowMethods:
+ - GET
+ - OPTIONS
+ - HEAD
+ - PUT
+ - POST
+ accessControlAllowOriginList:
+ - '*'
+ accessControlMaxAge: 100
+ browserXssFilter: true
+ contentTypeNosniff: true
+ customRequestHeaders:
+ X-Forwarded-Proto: https
+ customResponseHeaders:
+ server: ""
+ forceSTSHeader: true
+ referrerPolicy: same-origin
+ sslForceHost: true
+ sslRedirect: true
+ stsSeconds: 63072000
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-closedcors-headers
+ namespace: {{ $namespace }}
+spec:
+ headers:
+ accessControlAllowMethods:
+ - GET
+ - OPTIONS
+ - HEAD
+ - PUT
+ accessControlMaxAge: 100
+ sslRedirect: true
+ stsSeconds: 63072000
+ # stsIncludeSubdomains: false
+ # stsPreload: false
+ forceSTSHeader: true
+ contentTypeNosniff: true
+ browserXssFilter: true
+ sslForceHost: true
+ referrerPolicy: same-origin
+ customRequestHeaders:
+ X-Forwarded-Proto: "https"
+ customResponseHeaders:
+ server: ''
diff --git a/stable/traefik/13.1.3/templates/middlewares/tc-nextcloud.yaml b/stable/traefik/13.1.3/templates/middlewares/tc-nextcloud.yaml
new file mode 100644
index 0000000000..6a3019d56c
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/tc-nextcloud.yaml
@@ -0,0 +1,25 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-nextcloud-redirectregex-dav
+ namespace: {{ $namespace }}
+spec:
+ redirectRegex:
+ regex: "https://(.*)/.well-known/(card|cal)dav"
+ replacement: "https://${1}/remote.php/dav/"
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: tc-nextcloud-chain
+ namespace: {{ $namespace }}
+spec:
+ chain:
+ middlewares:
+ - name: tc-nextcloud-redirectregex-dav
diff --git a/stable/traefik/13.1.3/templates/middlewares/theme-park.yaml b/stable/traefik/13.1.3/templates/middlewares/theme-park.yaml
new file mode 100644
index 0000000000..0e181a02d2
--- /dev/null
+++ b/stable/traefik/13.1.3/templates/middlewares/theme-park.yaml
@@ -0,0 +1,20 @@
+{{- $values := .Values }}
+{{- $namespace := ( printf "ix-%s" .Release.Name ) }}
+{{- if or ( not .Values.ingressClass.enabled ) ( and ( .Values.ingressClass.enabled ) ( .Values.ingressClass.isDefaultClass ) ) }}
+{{- $namespace = "default" }}
+{{- end }}
+{{- range $index, $middlewareData := .Values.middlewares.themePark }}
+
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: {{ $middlewareData.name }}
+ namespace: {{ $namespace }}
+spec:
+ plugin:
+ traefik-themepark:
+ app: {{ $middlewareData.appName }}
+ theme: {{ $middlewareData.themeName }}
+ baseUrl: {{ $middlewareData.baseUrl }}
+{{- end }}
diff --git a/stable/traefik/13.1.3/values.yaml b/stable/traefik/13.1.3/values.yaml
new file mode 100644
index 0000000000..e69de29bb2