From 665cf908d9333d1bad4c99747b6ef150c1bb294f Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 16 Nov 2021 15:25:35 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/authelia/8.0.0/CHANGELOG.md | 99 + stable/authelia/8.0.0/CONFIG.md | 8 + stable/authelia/8.0.0/Chart.lock | 12 + stable/authelia/8.0.0/Chart.yaml | 46 + stable/authelia/8.0.0/README.md | 40 + stable/authelia/8.0.0/app-readme.md | 3 + stable/authelia/8.0.0/charts/common-8.6.2.tgz | Bin 0 -> 34598 bytes .../8.0.0/charts/postgresql-6.0.0.tgz | Bin 0 -> 42614 bytes stable/authelia/8.0.0/charts/redis-1.0.5.tgz | Bin 0 -> 40555 bytes stable/authelia/8.0.0/helm-values.md | 143 + stable/authelia/8.0.0/ix_values.yaml | 625 ++++ stable/authelia/8.0.0/questions.yaml | 2733 +++++++++++++++++ .../authelia/8.0.0/templates/_configmap.tpl | 247 ++ stable/authelia/8.0.0/templates/_secrets.tpl | 58 + stable/authelia/8.0.0/templates/common.yaml | 72 + stable/authelia/8.0.0/values.yaml | 0 stable/gitea/5.0.0/CHANGELOG.md | 99 + stable/gitea/5.0.0/CONFIG.md | 8 + stable/gitea/5.0.0/Chart.lock | 12 + stable/gitea/5.0.0/Chart.yaml | 42 + stable/gitea/5.0.0/README.md | 41 + stable/gitea/5.0.0/app-readme.md | 3 + stable/gitea/5.0.0/charts/common-8.6.2.tgz | Bin 0 -> 34598 bytes stable/gitea/5.0.0/charts/memcached-1.0.4.tgz | Bin 0 -> 38307 bytes .../gitea/5.0.0/charts/postgresql-6.0.0.tgz | Bin 0 -> 42614 bytes stable/gitea/5.0.0/ci/basic-values.yaml | 0 stable/gitea/5.0.0/ci/ingress-values.yaml | 3 + stable/gitea/5.0.0/helm-values.md | 72 + stable/gitea/5.0.0/ix_values.yaml | 134 + stable/gitea/5.0.0/questions.yaml | 2079 +++++++++++++ stable/gitea/5.0.0/templates/_configmap.tpl | 24 + stable/gitea/5.0.0/templates/_secrets.tpl | 245 ++ stable/gitea/5.0.0/templates/common.yaml | 38 + stable/gitea/5.0.0/values.yaml | 0 stable/nextcloud/10.0.0/CHANGELOG.md | 99 + stable/nextcloud/10.0.0/CONFIG.md | 8 + stable/nextcloud/10.0.0/Chart.lock | 12 + stable/nextcloud/10.0.0/Chart.yaml | 41 + stable/nextcloud/10.0.0/README.md | 40 + stable/nextcloud/10.0.0/app-readme.md | 3 + .../nextcloud/10.0.0/charts/common-8.6.2.tgz | Bin 0 -> 34598 bytes .../10.0.0/charts/postgresql-6.0.0.tgz | Bin 0 -> 42614 bytes .../nextcloud/10.0.0/charts/redis-1.0.5.tgz | Bin 0 -> 40555 bytes stable/nextcloud/10.0.0/helm-values.md | 62 + stable/nextcloud/10.0.0/ix_values.yaml | 147 + stable/nextcloud/10.0.0/questions.yaml | 1680 ++++++++++ .../nextcloud/10.0.0/templates/_configmap.tpl | 35 + .../nextcloud/10.0.0/templates/_cronjob.tpl | 51 + stable/nextcloud/10.0.0/templates/common.yaml | 14 + stable/nextcloud/10.0.0/values.yaml | 0 stable/vaultwarden/13.0.0/CHANGELOG.md | 99 + stable/vaultwarden/13.0.0/CONFIG.md | 8 + stable/vaultwarden/13.0.0/Chart.lock | 9 + stable/vaultwarden/13.0.0/Chart.yaml | 36 + stable/vaultwarden/13.0.0/README.md | 38 + stable/vaultwarden/13.0.0/app-readme.md | 3 + .../13.0.0/charts/common-8.6.2.tgz | Bin 0 -> 34598 bytes .../13.0.0/charts/postgresql-6.0.0.tgz | Bin 0 -> 42614 bytes .../vaultwarden/13.0.0/ci/default-values.yaml | 0 .../vaultwarden/13.0.0/ci/ingress-values.yaml | 67 + stable/vaultwarden/13.0.0/helm-values.md | 54 + stable/vaultwarden/13.0.0/ix_values.yaml | 158 + stable/vaultwarden/13.0.0/questions.yaml | 2234 ++++++++++++++ .../13.0.0/templates/_configmap.tpl | 116 + .../vaultwarden/13.0.0/templates/_secrets.tpl | 36 + .../13.0.0/templates/_validate.tpl | 17 + .../vaultwarden/13.0.0/templates/common.yaml | 38 + stable/vaultwarden/13.0.0/values.yaml | 0 68 files changed, 11991 insertions(+) create mode 100644 stable/authelia/8.0.0/CHANGELOG.md create mode 100644 stable/authelia/8.0.0/CONFIG.md create mode 100644 stable/authelia/8.0.0/Chart.lock create mode 100644 stable/authelia/8.0.0/Chart.yaml create mode 100644 stable/authelia/8.0.0/README.md create mode 100644 stable/authelia/8.0.0/app-readme.md create mode 100644 stable/authelia/8.0.0/charts/common-8.6.2.tgz create mode 100644 stable/authelia/8.0.0/charts/postgresql-6.0.0.tgz create mode 100644 stable/authelia/8.0.0/charts/redis-1.0.5.tgz create mode 100644 stable/authelia/8.0.0/helm-values.md create mode 100644 stable/authelia/8.0.0/ix_values.yaml create mode 100644 stable/authelia/8.0.0/questions.yaml create mode 100644 stable/authelia/8.0.0/templates/_configmap.tpl create mode 100644 stable/authelia/8.0.0/templates/_secrets.tpl create mode 100644 stable/authelia/8.0.0/templates/common.yaml create mode 100644 stable/authelia/8.0.0/values.yaml create mode 100644 stable/gitea/5.0.0/CHANGELOG.md create mode 100644 stable/gitea/5.0.0/CONFIG.md create mode 100644 stable/gitea/5.0.0/Chart.lock create mode 100644 stable/gitea/5.0.0/Chart.yaml create mode 100644 stable/gitea/5.0.0/README.md create mode 100644 stable/gitea/5.0.0/app-readme.md create mode 100644 stable/gitea/5.0.0/charts/common-8.6.2.tgz create mode 100644 stable/gitea/5.0.0/charts/memcached-1.0.4.tgz create mode 100644 stable/gitea/5.0.0/charts/postgresql-6.0.0.tgz create mode 100644 stable/gitea/5.0.0/ci/basic-values.yaml create mode 100644 stable/gitea/5.0.0/ci/ingress-values.yaml create mode 100644 stable/gitea/5.0.0/helm-values.md create mode 100644 stable/gitea/5.0.0/ix_values.yaml create mode 100644 stable/gitea/5.0.0/questions.yaml create mode 100644 stable/gitea/5.0.0/templates/_configmap.tpl create mode 100644 stable/gitea/5.0.0/templates/_secrets.tpl create mode 100644 stable/gitea/5.0.0/templates/common.yaml create mode 100644 stable/gitea/5.0.0/values.yaml create mode 100644 stable/nextcloud/10.0.0/CHANGELOG.md create mode 100644 stable/nextcloud/10.0.0/CONFIG.md create mode 100644 stable/nextcloud/10.0.0/Chart.lock create mode 100644 stable/nextcloud/10.0.0/Chart.yaml create mode 100644 stable/nextcloud/10.0.0/README.md create mode 100644 stable/nextcloud/10.0.0/app-readme.md create mode 100644 stable/nextcloud/10.0.0/charts/common-8.6.2.tgz create mode 100644 stable/nextcloud/10.0.0/charts/postgresql-6.0.0.tgz create mode 100644 stable/nextcloud/10.0.0/charts/redis-1.0.5.tgz create mode 100644 stable/nextcloud/10.0.0/helm-values.md create mode 100644 stable/nextcloud/10.0.0/ix_values.yaml create mode 100644 stable/nextcloud/10.0.0/questions.yaml create mode 100644 stable/nextcloud/10.0.0/templates/_configmap.tpl create mode 100644 stable/nextcloud/10.0.0/templates/_cronjob.tpl create mode 100644 stable/nextcloud/10.0.0/templates/common.yaml create mode 100644 stable/nextcloud/10.0.0/values.yaml create mode 100644 stable/vaultwarden/13.0.0/CHANGELOG.md create mode 100644 stable/vaultwarden/13.0.0/CONFIG.md create mode 100644 stable/vaultwarden/13.0.0/Chart.lock create mode 100644 stable/vaultwarden/13.0.0/Chart.yaml create mode 100644 stable/vaultwarden/13.0.0/README.md create mode 100644 stable/vaultwarden/13.0.0/app-readme.md create mode 100644 stable/vaultwarden/13.0.0/charts/common-8.6.2.tgz create mode 100644 stable/vaultwarden/13.0.0/charts/postgresql-6.0.0.tgz create mode 100644 stable/vaultwarden/13.0.0/ci/default-values.yaml create mode 100644 stable/vaultwarden/13.0.0/ci/ingress-values.yaml create mode 100644 stable/vaultwarden/13.0.0/helm-values.md create mode 100644 stable/vaultwarden/13.0.0/ix_values.yaml create mode 100644 stable/vaultwarden/13.0.0/questions.yaml create mode 100644 stable/vaultwarden/13.0.0/templates/_configmap.tpl create mode 100644 stable/vaultwarden/13.0.0/templates/_secrets.tpl create mode 100644 stable/vaultwarden/13.0.0/templates/_validate.tpl create mode 100644 stable/vaultwarden/13.0.0/templates/common.yaml create mode 100644 stable/vaultwarden/13.0.0/values.yaml diff --git a/stable/authelia/8.0.0/CHANGELOG.md b/stable/authelia/8.0.0/CHANGELOG.md new file mode 100644 index 0000000000..a78afeb91e --- /dev/null +++ b/stable/authelia/8.0.0/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog
+ + + +### [authelia-8.0.0](https://github.com/truecharts/apps/compare/authelia-7.0.12...authelia-8.0.0) (2021-11-16) + +#### Chore + +* bump postgresql on some Apps + + + + +### [authelia-7.0.12](https://github.com/truecharts/apps/compare/authelia-7.0.11...authelia-7.0.12) (2021-11-15) + +#### Chore + +* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) +* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) + + + + +### [authelia-7.0.11](https://github.com/truecharts/apps/compare/authelia-7.0.10...authelia-7.0.11) (2021-11-14) + +#### Chore + +* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) +* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) +* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) +* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) + + + + +### [authelia-7.0.10](https://github.com/truecharts/apps/compare/authelia-7.0.9...authelia-7.0.10) (2021-11-12) + +#### Feat + +* use our own redis chart ([#1312](https://github.com/truecharts/apps/issues/1312)) + +#### Fix + +* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) + + + + +### [authelia-7.0.9](https://github.com/truecharts/apps/compare/authelia-7.0.8...authelia-7.0.9) (2021-11-09) + +#### Chore + +* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) + + + + +### [authelia-7.0.8](https://github.com/truecharts/apps/compare/authelia-7.0.7...authelia-7.0.8) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) + + + + +### [authelia-7.0.7](https://github.com/truecharts/apps/compare/authelia-7.0.6...authelia-7.0.7) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) + +#### Chore + +* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) + +#### Feat + +* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) + + + + +### [authelia-7.0.6](https://github.com/truecharts/apps/compare/authelia-7.0.5...authelia-7.0.6) (2021-11-02) + +#### Chore + +* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) + + + + +### [authelia-7.0.5](https://github.com/truecharts/apps/compare/authelia-7.0.4...authelia-7.0.5) (2021-11-01) + +#### Chore + +* update non-major deps helm releases ([#1264](https://github.com/truecharts/apps/issues/1264)) + + diff --git a/stable/authelia/8.0.0/CONFIG.md b/stable/authelia/8.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/authelia/8.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/authelia/8.0.0/Chart.lock b/stable/authelia/8.0.0/Chart.lock new file mode 100644 index 0000000000..fc46485ec9 --- /dev/null +++ b/stable/authelia/8.0.0/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- name: redis + repository: https://truecharts.org/ + version: 1.0.5 +digest: sha256:2c96b92df1fcdce274b26fcc97cbbe1d387bd6fa4d875311636c56931cbb337a +generated: "2021-11-16T15:20:33.470891464Z" diff --git a/stable/authelia/8.0.0/Chart.yaml b/stable/authelia/8.0.0/Chart.yaml new file mode 100644 index 0000000000..be911914ad --- /dev/null +++ b/stable/authelia/8.0.0/Chart.yaml @@ -0,0 +1,46 @@ +apiVersion: v2 +appVersion: "4.32.2" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- condition: redis.enabled + name: redis + repository: https://truecharts.org/ + version: 1.0.5 +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://avatars2.githubusercontent.com/u/59122411?s=200&v=4 +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: 8.0.0 +annotations: + truecharts.org/catagories: | + - security + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/authelia/8.0.0/README.md b/stable/authelia/8.0.0/README.md new file mode 100644 index 0000000000..80cafe9c56 --- /dev/null +++ b/stable/authelia/8.0.0/README.md @@ -0,0 +1,40 @@ +# Introduction + +Authelia is a Single Sign-On Multi-Factor portal for web apps + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | postgresql | 6.0.0 | +| https://truecharts.org/ | redis | 1.0.5 | +| https://truecharts.org | common | 8.6.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/authelia/8.0.0/app-readme.md b/stable/authelia/8.0.0/app-readme.md new file mode 100644 index 0000000000..f0d4ea68c6 --- /dev/null +++ b/stable/authelia/8.0.0/app-readme.md @@ -0,0 +1,3 @@ +Authelia is a Single Sign-On Multi-Factor portal for web apps + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/stable/authelia/8.0.0/charts/common-8.6.2.tgz b/stable/authelia/8.0.0/charts/common-8.6.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..06e2424dd5dde16a485065df6ef31de18f2fc11c GIT binary patch literal 34598 zcmV)&K#ad1iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYeciT3yIJ|%BQ{cy>Pwn35)v_GxZuWOwCv9^!aeQJYeeT`6 z$AL&l!kQvkfRdwi^L+N_;FSOfQk37Cw&vMwED{(DfWcs9FqjF`#Uf3*$8$*X&KfS_ zzuf)P>-Bo0;gJ8^>-F4!d!xPHU;4xTaJWD0_xlHb>GcQ0(cmwjcMrIfo+Zs8`AhHC zZMmKMojfqZ9}%HAO~zm~Xu&MgKVz69nztfELxQuMzx!dCgzPU6;|YOe4W=mp=VXaE z0nyexU7#_T=XplQ-R=zM^W~%yri*S)mMG+9x-iRVHzx>n7m((NbmeOxyfLs|{o`m&*y# zUH$fNFZ!MSsMBlrzHKcaPI8D7L^v?CfH)oloJ`aIDgbvI_;BHUDz`uVB1H^qv?%{rW#R==JyA^?$Ip_qhHa;&}qv zZSXEb$;Zk0U;2uS&9Q6-|z2U)R{~+4$AM6eL!@a%1K8z0b4)+KB-e|bj8|d-KhdADLs8zk{k=Bsw2HM#0RQb)YtWh3x_BuT^yobGB|1jJ~!~Ws(Xm7B; z*B^|gVb}`~d(oudpB#?*Q8ewry>M{Y8y$>B)8VM!KRD=35S&EQL4&rp8r=ltbe^X9 zwxg@+RgbQQ>>J$#hiMEiVON#f456Awph?)<>-YAfgUN7j*gqKT_4Wso-YDunpX@&$ z9X^M>$-(sbb2tqTCZp+e8a;>o=g+5;gTdkC`95mUcJ-JZ#aD1mZ;om>P7)K!GnkNO2Fa)zWT`y3QKLZg&i!`Aq2PpwGhdG)qV~W^@ zAQY>jur+c~#Cr&10Fxxmp@5zy9FL+-*8thoZMA?|>kX#)82sa(0>0D*X}Umi;GX~h zxMC&V@;^;nZjZqjTz{$PT?{8E-Uh6waN9oJuvxPsC(FeI5k|-nqL`ovWNAdjl82-efny8tE;c%Q~G zPG%pn2mFq>&W(Bh58=K2CN6XJ(ET{%5M^OYI_$ej$-)uNzaGFNoXql%pgfSwHF!I+3 zQ@%U>tp#NnoN(gMyO!AT7}1a!%EydsiWMVy;{qq|HH!jIIG0+$&-S}sPeVCA{qP~j zG5$9n$x}o^l;n)2S;6N;xwmMMl67rS(d%Qu!I)r-Lj=PxT_$;@;3bP4iDHi2g%Jf; zbCk~!0Z>5%5+tDWbQworf`DL}OyUuLY1u$RGbjb*DI*W|51Tp%re|YQFwW;vK#{VI zi%p(_C6&zi^%NvbE9K-HNu&U#Tg8PgTDg*OQ7 zA%@^MUeX+q_h~G+yz%>coJ2U8RSrCvz)%nOD^6jQNimWNDaWM&{1SPZyW&xK@fsl5 zd=j@a8CtrO_FRQJAMhOE!97<|tl>V;4YWp|+Sl4$7!I)&tBKL`ncb3pQS| z%S@nWb;Q6faj1{9PlMtCa z#00u0oTDb|NgAyM0x%3&KjiouhdN-2W7KI0WVNt;dUSU7^Sk#i$6&E;XOPmXlti+- zZy`-Sp36~02kYG+L9dIt$qoNSj!?Sgg!_P`x8@HZ-qg`i0z`V1Et8?z_iXFgJZ2n^KD!W70u`b;RrqA+V;zywz~j==|LMw#3yLq|X-K;{q?fdd6UI~85zJv5W?TqilhZY3wXJ5gjXq~7 zMeQt&+Blh}WFgA3UVdb#@rh77FSqxWd4e#|*7i)uK&Zs~}a7u8#24M`T z5Vj*cog%_WI%n*d6Zb?IX=pe{(UJ*>s@^fHcEXzgPXJxh94*?cFYS=v9EUJg5@#Hz zS5&QeCQ(4iEDNX{*OvaN!NRLcHo5HxCNo6RC2bdoR6$3d*@WU8%u~t*P)7DS+W^%I zrM3J#M~M`2*ryZ0<-r18BBstE!K;`Gm{7%VQ}9V{Yd>H@bGBrD5_Lbd3?O=I;0?Vr z_e% z7FfVFAc&^%3W0>iX?nTL0H$;)qywglfWPad#-J`U%5f1pH6wk^{TN{?&4#zq68uXl zHbFm-qNOlmQ)zOc2$FD)%xy<()?K+#bF`)C%8*W{ejd#UT}m00vFCsMgP`d@|G87c zG{Q6qQI^xLs@IkR0ZwM@W5Sq;!AEFY7VJI|`wmWK?R<{Z>)n>v9?rziH#oVZHo+Xj zgy|4Vinvz5Xpo|C$=6+)s<;Hf=v@-8S-U^r7zw7Q4Y!c7qEl7x6;qa>a1PP{*a)1Y9C2MObY{ew6Ju6< z9gOi5h3hazRXx)MOlyQRzQbevB_LZ=4 zhkTXl`c;Qz0n3Z)DM=@&bn??~H(@|RYEgBCETZu>-p6=_5=3d6Q7Yzt(HxR|nYA<4 zJnin*o$gNr0dlO~NKhd2;LXbTp#Y$8FifGZildL%0^1U@tbP7r8L)*`@rix<#CAQl zBVS=U=Uh?F{yJR}K1mArsfI0hUaINK4*DmEYf<2e2?I>s5CVagQ3^!uJ_qN= zrvZO2PF2p2Pm2a#PXPo!ou8k|7BCgOTxo)Qxw7wF_MbDoA?=DTXE2|uI=-g6fixR4 zAyWO)79ln+LdsM`O-%*NHLF^q){&rIPo?m~)KCP9+Rn! z$P2rQasbDCECm7%3C1r`4A*BUOp}O?!9ae@5W#%Y5wH6_`98-BlrHm9`6Oj=rq@FXAXvc9c(GhCr1rnt z>%Hjj_n3~v>T)V#NP=YsCc-p`bG|63e?je6uA5P>)e_<=v<_%(Ih;=|%)!+hhr-%9 z#cXAy#v5BQ|CRy+ELb2);Y^#;z!kxHj*^aQP6&y0G9p3Tb`v7wV;g3;%M{f(g;AU7 z@JkXR+GXWEu5{!(&DfRlpKgsC4S2no7VV}Zbozz|KB zalC#Y>^bhd)zi{;;VO@Y;-k3KR_7;FnJ(mUwNE+S0Qks*f>fwr6bWlTLzA;@Lw{p> zB*hCHL!#{Y-!hW?R)N`w^_U+&O;6XI=}EOB69>SE3+5 z%O54IEq@DPCS6Xa__F}7wl*d+WM($(PU6P<`dJ|hG%%vUAfF(_sAWKOOjN=ix$~OrI ztXeTZzP5xJuR$XQJK<1o%u5)1Hh4*+E+_$~;3^wAOQxv0g0*a5FMKRE@D>Bk4cUtr z@k-uO!Cx%7m4isQ=VDPOCHdGX%T_t-N1ldh+%dkLEi(?oI2HcHllNL2*Uk|z&KLNXjy=1d3eca}j7eW}6iKn(mIRT1S616jdob+PZ@85&qjyMusnNbBNWM{r%vvvm^yPG;p#nwOd#_5H&~Ywx>P%V245G$DOQ$#Y$6{j!P1e^qXMJZnHqd zZPe8qOnf#NmjvzzKL7Y<%V@PyPLpMt2x>*q+evB?PPL?_yiA%)YHA29cB=hzYI&)w zdRtLVf~n%As+D^e)%4)j$!hx8G*#}^Fwx#MV1c73zJdgqtbB3lT?jsu`YHf%DB_yu7wW6FyO7AU z^@VC3B~g1x<*qn&$5wKbHd~80X-^=($FvPY?mWvDQ1Clf7VcQhP)ej6Q0`{bgwZ_#?*(vbI-~IL6^Fcl2~ay2 z1$?696g+w2?2Pl2=EbgP?lAmIu}B5#Kc$rW`E#V~vtqShW{^^3$Uh9uSnRiL>DShY z(-6jm%;F-I!F*mI#Q+r2DEn0C9|dNoFrRloGn9a~L3gcp!WhW+iikPyGld27D%aXNdp;EAJ*3_@ylSKG5mMW03Nz4}U=WqVBXTTJCR^Xi%Oc!^m7ZS{gG-%wlx<@%Wki^QY5i zAX|mc09s`E`XwgMI5T4#B%=j!B5GKhvy~}!Pg4@=OO6@8$jT5m#`$L)$9!w#a&@xS zx6g@G+Jv~z;GF0SR2u%zT(8Vi!OX<@ZW=EaNJ;ee*_#?o)4%vr_pc0{i*$OC&(Vdb z{0EzH^;fi4ul=6oDS=X37q9#bSh&hQE) zfQnv;PL=B~6K>x_5!f-%*yW@tKqt#Meg=}%g2ZJO?tQ?If%0b{oTply_4P)yX~Gb) zcH1O%>5Om%#XUuWmfY(dpwF0c3Jqh37te}Gm)-~ZJ6m{`2x}Y%s6xjK25)?wE=ik% zG;sJJ?LA?d{7c2};~MTK3&5w2arYAfx}3CyFGoTZS!%&CDi*9VpmHZtB0}=;3vGJo zu&Hd*<%G+a5-qW~NSeW!^d7c&;1PEyf18@|EfhD*9nyVU*r8G>_i*K@te|_<^jHh8YNt_@!6su42@_88D})jNW7B83WsLGRgRDoEw-;fu zTkp=rP>9C1e50j&vH2;?U9R61l|5Sf0!4VqOeu- zPuh)sSFIQcR684qDOP~lOtZRF9}LJniGSy-N;GV<8h&zdhX0Mk$M1RTAH|4$0#gKY zwoGR7O0*o0XPiTYFj0GFah`+!E!N+Hg9EZRataC>lQ9{<6VMlw_PZdB6(n&wqc^0D z6(n6&{gFBzm^uX0LyIis0chpe)Xp?3eZy(a7ui=h!E$#0c$52ZOP?&0ah2BFVCj=( z@<_mP-?Gh&vPL<$NEO#e+Ivo+)O1*a$+VvN{|@} zxs~S@wg|;rgv~+xVjZx~_I2cqv3>=VrArtnhJ&8*NtoOh>$VE1P=v;*FfbW0KqXr$ z?ChV6!!Mjfc!i@SjM+?G3Lzhf%h)uBNr*Zv(Fty9nJ z#>qof{5x8Y!Cz@ka558LuI4EDkWiRoI^|(NobUX!shGCEii4=XIZ+03J_valODAA@ z2Xn?@^7$#?@-fhjIDxj=9NRbX3D0w7Ga)QO%F3Q8Ma4}$`m1S%jczvpTQ$!&Z z4d+gxpui|0;UF$G-_NtIT_&giuCU8`{mJOMu=u%t^E z$7?`Pm@XD5iTFvMac8x-Wh`q7U$_*+2(F~(DZjnQNIt~rk}}BQJjKQ#{E{Nl5qBP8 zOjCdpwij@x+c{(SR2SvyaB zJUx-kcfjksLDN9STISBjIGLu;r2L&ObMTLJNtj4Y#bO?J`ReT$=}mZosB}r%MHoVr zW2&ukLdoIiKGCUA+N&(_t6@eoy%qqg%=Feaz4%!_c@T470CRbK`b_7NNeM91u;}3B zvY_c6U7w@}Y`DN98!RL}VWx{vl4B^G6J(4hrA4vE&aCTweATt#u7<(nTB-4=@PWdL zlrCq=os6w>9Yj^UQe_LbfJ+?5XID56=Z0w(edYl)BN_jTUc5eC4Yd!5@9W69V5PVs z>xvQiMvb5o5UFAe?TH6&E%)Ryj*T!}`hJQC(WCA?3)dp0t!4?JI6@&LMo6PVhvdi4 zmhvdAgREB~a5dwp(vZrJ_BqBs!&MEVWL6FVW)^# z8gazSK2@w+Dhk;|uVJCQiPAsdSo>I(PY}E&!yDOLEVJP%OW6NA3>{H-@pD49<138cb+z(3D}HZ zF?J?(a5uJuO$@;+m?Lm@_7me98^xy?&MndDJ-p&|6&wWvNT*V+ooj)ISNR@NG#a*1 z!bUK1Yj;GP)=A1^0jqV!ghuX+#&tW{<|SfU`X!=_jzT8FsT!LLmhgZt2OnS`A z1+>0>TVR4tZ z@LF^?h|b0x*^Z&W8ID2i+NICAZ?A+@^TvCbc^8Gopg-6f^o_SZjDU5GS_NE^*cR7= zjdqLzPoCV%MPUw@py{|Smh=rS3R?}BKZ=XPU~km#9SAxwZo!u5Akh~}w;+VV&|Y<~ z4Qz9>%}P-O+-p&c6U+NeX@oj;mz+FTmsoAzH6+eZx4nf_c@Iflu-Q%~)A=C_fvk|p z;&dj=K6H*Ved9AuFYy+FTD`oa+OLzAG>%P0CD2?_(y+Z^(ha4eA}#4nWFjYJ=R-(D z#t8f5p+ZbCE@ub=`|$n^>-C%T67vs?IP9a%bA8c|)6Pua%n%ZQtYyQNy@*rgi?8qT zNg;<-=ziB>1-$yY?6?uQxwqZA&^bPhbwSc4BLV(8(ecW8@bD{~&$-NTnnriFHWUtZ zYeVCCA8LdKewT}*$SQl2#o^>$y)PTXlP4`1tB)2(Zz575_jG4MnP`$>Fy$uPBv<$B zBb1?piEJ2A21jM zDoJxBZ##W>|K?0)T{3nAHU%%g@2C{``oQfyiZI>2TZC0>)+1i@VLP>8bRA8$@0P6C ztYfn9Lv`)9PDcOuJoqCvyRHuQ-n}T2=AEWdkutB7XYmc&==FNN(QwHB?e%)@zk|Ke z{$KjT{&2WI?DzWzf9VZ+gJJ(Kpm)c8^*&3QL-Lp2t=n=t_d9v6ue;y1_-3X9CUD(K z9^g*mCCUg+#Lez`kxwy8MLZQj9P&=9j9>vtkr%K?u4ju?oz{2VFJD^M*KHAw3xPls z=*%-1fc6(AN3gGW3OXN!=wsw&>`2}z3yPvo=NaVJ_{J|(@-+=rxB#dGe*x&&HH8M= zyz-YXt#-TJf*Fxt+j-FIKHKHzN z;yc6WSCC+~5#?aWs;YRzys2~EJDHvd01N9Zquo_s9>OtfudgfmU-)t{4O5N+00!>9 zi4r3Ve%0m{bF4W4D{W>46r+p*sxJYUIX0^R6lDwmdlCT32@cI+_7h!w+D$E`=$TSp{s9BuHt1Ri&+dqtBbNlap2Y!^9 zdgUnuOd?b3lJQc%>zXoyvw!hiZF0l%z$IuQ&p?zIQwxph+h-=k-!p3|uYVo=1?~=~q!r_)gADicMI9HhvU&R7a1mF-(lU#AURA+>j3OQ7ckV^A4oNc* zlYvJyo(7gmxgbcyLiq{PJSA&+=hG13jP`tG1z@U^Km#6IJP+q@jH#)coQ|sd#xqwV z0bbFy1aA-w0HxusYR)(09X1Shlh5r*x5hq8qoeYe*NnRZ%n;yh+P%dPJ$KP?F@EEa zauZ}r=$g54e25xUlBJPn5)F92HNX6$J)Zqv2SvLp0bs-azc)PCclZBMZ~t-se~9NM z`@bfTyA=R5*d`KyF8nA0`~gG&;xpe_HKplJqw$pHOm~~D!T5zX=LPSPAi%%}MAtBF z%S@ZxNss}r0J2;9lEyJkW*@Rhd^QGc3ULf}_(GY2;3UlfWU48SfUeFn^|3`{ETEll z=x$Inv0EBvpz8}N6;`+FYXhwYi`89Hc4N+iY!a8Gb8bI-wLyOUV6h#7W|*vfzsBNkw`c zXu!8@t^_7C1fH_;&%jgV0z7`9*@1dxA8DzQrQ=~KG|0~a1_P%-x4(R8>5|>=cvzcA z1tHhwo6chPp8~sOIh~A+etrg?=CLsa?hxi> z7LTW(ql5IDA7#JH(O@8VfD**MS+&1e1t7>{(WwZ12KG3YXvZ^?o(guGr6zf+br3gV z!mJ*CswyEWd*FJe9oTwdPVx!(an*1NPM3jz1MsQ$j+laocT0t?|-|=fDV} zOeq?_071|M_i~#K_MGX>A^kgA7Zn3Fgu6xW)MPlllL)1VP2v& z^>pD^dAY0%+y?MxbrC4bf6{whq=mi{DR6`Q*B^~Wj{G+o96ZW@5AtyP-}faO--$^C zikWgNpY%SKoL^_xIM`;KYMn4NF%Q#rvNb6ia=hwMb zeakR-3q#*_HbtdgW@&V0m=bC`Ym}`p+HEK=YB1cTGF)l7GuU8Ewe_TA=D3}a!`!nQ zbcX$NzRr*o`-~Ukt^2mQJ!I$&$hdcSx2;&}iFLnmt9I_+fvwE{wR_7$`G4%~4NB)f z!@=YE&x1Ui|DT~SO(G_-8BSnK+EapDoWe+^Z^@lVPn9g+aFeo(0rHxfC*TL3R#*c} zXH_0|s#DyOHn)l@)+IKlqK-cQ@hs{B!y;f+EoQ9CDqK_G;8_vZNVa z?zP-4hD}v%K4_{&Gt}Ihkz1gqsy0VW)!2aA_e&f{oNNo%#Crd}RcQMPmfZ>YrT3#S zOqWUSl%4v{UwnO<0`!ZoEGL)1ISs8=xy^#+Ufe4h6MOxp1}*=qn)Zrvw`tCZ0~>() z7OkSSZCYTePvl%=#35V-s=Ka*f)h@O)Jj;B2@E~x`U~?rFAd8|>T6tH8|6B{Tfw4P z85X4AR-WdCb*Bu?vjBakD^omMz^s#{B!_V&R%L11)*woq|1&D@ckp=Rzg76K{{Q_! z@4)r{AM}Qg^4~)|T>dl9e@=^tRWckokGNfb9#pOP^Uc(M7?iETjR!#L#NhPfv1wj4 zGh>!*l&rMga(B=#U`IQMaCG>0!Q1(ZU3rwltC<<`+;fkoM!Uut5<{--o)B?}rSjFs z3Xc7^+>&eN7e@#FL!WJ|{YFcHr`@J!KVoDpuIw6kYi#?!^)mR=K4t#T1ed$r05;wK z*dGjB{=YYP@)vEnYybDoDv`t^KUnO z-{U00$?S0!w`+!^F_M7*V1|Dr=`yPs`IZU_V6L03k3^P&Ij}a{65g3*Lg7em0BRdu zPRwZ(b!i4e>HYa0#RyW=IZ>}YZngfwRk#*qJmWg3lw^K?%4d217YhDeN&p-7|K5Jj zJ^vjZ^ahXn|3f@-|3^T?oYF_VJie>k#H+VzWeoCc#+qjfz`qTj7T)sjGWg39l{YYH z>|!j6XUTaf(W_hbe>C;QxBfY!eK`N$!LaAb|NFiD$MydpPs#qHGJf39-lMJ4bq>HP zl5kW1UlqRCumGu7j(?pZ-U|OZ`Ps1DC^$an5VC^Y%PbB)Q4ivxXL3XU`49 zSaSB%INX!3r-6E@$vRh0RnK(wbcXb|bM@3cc=YtV$y2%iL!oHhg&43&{y!+4|BQxv zkN!Uo@)+{Jsb6oc2iP7FW!s%yq9fD3*6R(HiNLErsNK1=b(R!~-6~9y+s9h;7!#aE zN;Vs>t*6n&>pNCJJnO%3x40u6V8i;~?+;x4fB#_g82{-(o*Tq}IFkf&*AbvBKOb4- z=}L?0a%t%=L>T#0%vQ_j=VL5(012ZLUy%vOjKw#(U7EDrc}B==B2zVvrm3$(GB# zK7K=K*;R#E@C16OTy~F<7m8V16-UnJN@6K^mg6(D3UgCS_tiBikCjj4W+I(y9DRNj zn&P6Tmal*@0PPaNm~p=qAU%NQcmbKT;cXfrD}Pj*)!h+I7e$N^*TH)Pqn`=R(L3(p zvkQI&zbsQT3``NW*#d3no>mXz+Hh9j+@bj2R(pqshd<)L*NQog63lT7sYO@j`(klU zIR^{cLAf&HlR*0dOgZ9U*Z71#AI~AlW%?rPld9#G*fgNq_Pcsf z|IyAv{%lW4{}b0Sy2kaK?uBvN<|Z292K{e1=sWRW2K~XX_o)9p#3S@SrTXQmit6oL z&q|Y)3j3|L?JmHHycUd#Q=E$M-#jVo=Gfn*ds-eZu<9FN%GTTc4jg3}V?}Ph$RZJ% zJi>udghd9~WA#agd*R!AQNxoL#KpIxOAF~`O40=vk*teP229JotC{fyiMWfM8|dCNbEp8?vap2GnVeF-*0qtLhZXf1tV%PQ`%LA6^D7Pw)V^ z>3LzI%f#F6cC(=_iZ`8&ssJ+A-tbl%;ZzM~ZMdn@Y)A;*@4!oxBeGyTonN>V zxqqy4^8ZKVTh_+Yfz`8R?!zd9s$E6(4E<>I7n@}7B+_Ws#^<2aIage zg{r@QYdPr8`ZSdPrF?O-1EEd+Uk3*xSN`w!9_9ZBdGz_OB_g=lcjY-SPADR^2f=j` zFyh`BS>h_gW}fja$a{AQKDMZ#t@wd-$Mg3lpOLC35`p!fnG`XcdUnqk$IZeys56JK23=+XWpdHLDfOE@8*biOjI2?l$X!I z(-j}ca^EjK9bTE8^joF)ExQflC+WhBkhFpbCH{P?uR)1w=m zs|L+V^219J#oFJcHVE2nE*Y>tZ-r_gTdD*g!)m?6#I*5t1M5amNjNi1`9eu~%k&y~ z>W~w>;3i7*lkmGXe62g4c@##|YGh|PFVwiE<-Ug$jfPE2pJ|`*f+V$GCk};_3O5E_ zlBRjLL+QMWqYFZzI0soy#Ao^Ly5^2m85?b?=eK!GyM4uxOqJWZkh&V}|F^snvSI)4 z_Yd~m{J(n#kNN)|8y9^~CPftKd5F;B5V=B!oRPX*GyStZCtMl7~QM#@o*vN)G%ZB0ZD^ePWZVXWl{l+c$QRVx}o<{s%Y}EJ1 z|My(|uQ%*J-v4=!NArJa&fXztiU>+VoXo%s=Y?>y>nMQ$CwXcdpa`@17Nn|)YZCu^Sd#zu`;YfO9^}#dUx)6zt?^F>^7NYi z)K{P3Pkq~9_OpvMG5XmxY?I&CHa`GDn868-agLS49E>96CD#Tgug))yUcP;O(%Qm4 zXoNrgJz57f_1u+h&>WBZw+u1@hDjtMlyoOJ>C!p>yB+d>XpB$>a5BXS&exlfzGEZJ zJwBWHzwXqHF9U7h|Gk5KkNxN1k^eu$Q|13+!XfFkZF(Rorhb|H+WO_a*-ghy9ZNzyFy3urCaKrOEb~LwpOfo8QxGs|GEb?N%0B)viW;4Hxkk{3=d#xZ6dQURJS*y#a)+wrIQOiOC9HGOAd1!+VEK&;V|Z0aEa3p#`Bcs z`mKBI39!a|?Xc(KB7^z-;zH^g><3pEDsC_Q$xIlH`2YRt|ARqU{~tc)|9Y6G%>Qqz z|C?JuS^w9Z*rWfeZyWS~yI2$b->z{>{eKIk-q`1Uk4n8JiMvwj&GEQ@rGA6gjYg)i z&yCowI&5ct(M5S!FiA@)2uhAEsxzvXgj8}DsfKAgj+8$U1fzFJydHy`n4u1D=$X^N z7pHc9e?Rt*Kl`(J|JRdxU-qB=!QMg1{_`0B@nN1S`;VDq>>=$xMZU2u)JMPl$JA)= z-u~kgbMD#xQ;f~lH~zF*UVYcEDAK6UO3Qbz`4wQSjux-CzU=2(CT@T0PxoVWUswH{ zo&Mf0{M}f4-OT@Q>HO2c{=YXU>3_Y!*12c>973gJN%WOHk|!hrJ5Z5S`}^=>|qPX zZ}sNvzt1k-zI*xM&8sa=joIk^J`ao;{oK`Au^ff_KPIj?WMJ)I;y6CL!g)BiTl?Yl z`&U07y?JA{7Q8zNj3V#feK>!0(YH$U4+fq7sMG88y8S`mPjoH@vw|o-3un9&lwYOf zl3u(%T@7u_M6=h|T-=gTj0e7PshDy-CH?{NVK6GHKULoo`F%AKDT#Cm?@9cIzE#71 z0jwCl|M|@-@RsXSGWa9U;E$Zq@84wftErR+4fdd?*zS@dl88{nwdFEM=~YT1 zF)}Dw{Xo)%@Kq3UoJ&xS{EyzK zKPdVCJ;wiinCBkif4I71`@XWnJ~i1*Q_t?FRi51+Pfsq6KAitF22N;rzO6K2xy{(^ zuV6A7q9pt}+??vxzqU)?(gL_~{g2A`e;@sS9_FdC|NX4y{!T1_l4aEM4dWQZZ`~_! zx}|+jo9s&Nkq#!7t#9`pEPO_v8{g@=)A?_>{%>Ug+GPJ3?d`kvpW*&v{I3Uj^!{Hg zuG?CGysM|M0qM^^E0F%U!4BkS}azdk?y$(mvA23To68FKT9Z8y3XTgtGZEoJDprIb5) z@#_CQe)HkwtCuIQ&VPRQ{_kfOuTMV?OXO6B?~MH)-wxGq>_*PmH6E4C#Qb|P&!9Xs zWRj~{@6TkYxu>Tj|H*Lw-3ygz;`R=J_3~f8H|+1b{(t*}NB@rpd1~|jLMQt#jAQUx zCJwpF%)g}+6Gqnl=`xO0ZjjCPXQQG7rs@`ej54L{!d70CLXMh4%A*YW^IMo#@y+k0 zBrA5SFEqYxK9B2bkGmny<0=tRAne2}yE-qR`P!Qzh7ZIGHxHoowFZ{QAM$BN@B)&x z%-YU|bY|$lDg{hQ;no4lMRiBbek$Vts9-Q(va-RpbE(ge{O%n`cws_oKjgc8T=VVZ*dgG z=n4|S5duGM;s(zTZUwb&ofAa|u*ecC0F~Obm;`IlNTeG+8R^ z4qgen;Bq-ZBtbc%A&CMrk*KZRHAF|Fa@&TByykX}b7vYCRWs;L%fdS&i!CQ((QF#sHd5%8Ycv}m>T7Jb)L-}1 z%5x^=WrIZ>$q2<+mlU1+hh5g*%MrP8ba_i6QN$g)DZDH65etGQf>OfrASVz_@ulu_ zK}{W;c1gO-d0Lm8tg{p+ISmZg2WosU(~4Z72{*(k>rc~WjCq#Lm@{9pQd#2y%lX;s zN5&Wzm7&|Tw&^{yelv65TBB3F|5@D6*p+fMwRv2f5Iv8L)PUuxOamNUcF0i~M$sTL<`a zhd^*+=|pdm+AtZyt7;tfMmItAR?+4X|PKDuw)nqqm#|; z(}J)zHsuak)e^k^Q>U%3w*O_T@GdU@HaP#?@45EB{n6w7uZMZIw*Q@~Lx5b|`#+8$ zUfhc{Fk2bvKs=^8^ZKiCZMfc6S7E7hVS!3poqZ5soe4b6iZsT}OqF+I+LKU{GzUBA z7k|m19XJV+6|!YxmikiLq&o;jZ?u6UC6>tGwCXQbKx4|6(3`v@=eiU6l`7SoIZi3j zZ4;D3oK))qCAG)tqO7l!l{tzR9Xju-bDws`9SnjoxI`%P1zNqmI#MTF-Z0kfM(uHH z1qp^BqV#PVA)Qf%i}bqJ`n#zPzDF?nncy6~OF|TI*GWV0vJTe(k3@hB<%Q-c;qE1d zUPbZ0tp*Mc4}Zi#SwS>rSc2iIm?&VrDYEZO`O*v8fwv}8HG;s@GI;5;><4HP{u6OlxeUpRQGcpYKqszxXn*jS|K~xTt>r&;pmrY;pCq|jsn0YT+(zPajSpK%do9yM@mq;} zR{Lcs&iq;l$(3N~D&#f@<5YwPu`xDHV|L`>p>;|rYu(N1r1)cZ7t~)N;jk(sKyw&w zYgTtQ6IUowGLiGWPCzP&nAbYC(2g~}9hFhso{C)%{B(YPdZrEL_4aZ#>>^(gKt?1*p`>f^55)z~%n?i9MdHm`#!na4uy)#n_M1ag0az(j>pmn_9!Bcr5!+F^VsOIY64UY`aVO1?>9 z^gWDW5+YKMmrJ%rMKuogI}3SV@j4Mpb@rUV=@f^Bk99FX)+g^sc`DbnY2tXswSxCB znW^Kzs;}d!bz23klEmBgRBf7!s%}t38E-q9iacXdI<{Zh3XQKqJy4NO#S2<|su~qP zoF+q3$x)Cdc4`yI>r;b4H{vj*ZfDC$jOqL&&6ygxK8hm74;4vNeYHln9)#66-^ZL& z9JU8NGY&_rozX&>y)tv*@RJA2#@#Uu-6BhhZ3OQWFO41Isp-aVwWhZd`y0hqUgK_S@&?w3&Coms8C1;p7Gh?qM5~N zPtu5=Ik3%1SlPr5#gR+o$K74sN%hL;f_i1_oPL{)kEVsYMS?1KrQNE}Y#Z5?YduC` zo{~+1Pe&DeQ!fYEHov+(tWt1$l|;ff;I2it(j8yAoKU2k+o4|U`d$vsyt|Ov?u_-l zlT^g zb*=B^+6{}PRPBjf5&5+Tc4Cy+uy)NQ$S=R`D5d-)6)c2XN)&=@c$FFAe}ix6{|5gj z&`t`B>s33f5=0q$5KfMp#?0=pGiJ8aG^-J)$=cQ1ub>HMKqU?@XF<_N*}36x&*-;QhgcPEyEDqee9qr@i+8eN2b4ap z=Y6pBQTE1_Rj*Bd(iw5RKot?N*XLPmO07&@b_(A`R_JM^4<;|~hv9s4l|QGn zJ){-xVG8+@M`SUiFTjr2eMF&M;R{#^vr47AcJ7e#tuAEZZTJirm5q3e*fkAh{ziPwocionw*0EUN-i2yY0y?s3yqjL zZ)NV8+ukyz#%N`L3!w8eXv>d7rF=S-wauMdgD5n|^i=l~i?=z>=}fSaA^M6rVB76> zYx}I;0-)o+w9PqP$!&|IaV$+I1SZi@oXz3Masl>D_YNb)w`qX1Y>(OpUyQBg9AaB? zoNvmHTnwJ|O(o+tJzmD$?l-IPH!I~@hK#j`>FAM_6TuKYh3JjQ=}kjE$gBa&Oe8tVm~u zA4gST+dsmWd_cNFc<%}YR-vj!9Ish*fvB>$d7a323fK%i8@HRaYWb`Z0OOANkp^|KCOUpN;o_`X&3{=rRA(13l{e zhhVfqJb8R~3Z=@+2mnuU2y+B5mDxa-1Vz<{KMs#J93C6&Wgf539mY}@OPaq#C_7HG zwP7_Yb~WWcDX?I$-ep|+w>G%HqqR6KSLd`FF)A9<&aq}sFEWBCN^%XcV3KSE)ekYA zF8{O+Mq2hX2&NA%(Hf-IG}I5gu~&R`LkR){J4R-D@Aqv|#fWYiDY2PtKUBsh_|=Wo z4TolnrL31IzzM*gkBhIgcH9bz_jzdRm$qNCaX-Xp2kdBz zuezP+r_Mgu;#2WYIQ`V5aO2-)Xw1sv6wgHzlg)H^B#F*ZmMQ+uPkA!u#_P(6-C3?u z72Kf=X8{v9Ls5Golgg;T6K6%JvND@JlRdc2$d-no?Zt0H(!3%+r>8DXXbzJQ**!De z%pSSxAN8r@|AKVxJ^sh=;J}stM|%gONB;j159d>_K4(zo*yC3@(y0jF!N{PJJ(-Nf za1{`deojm;3ip80e zXt{-Wn&#)|WSN9uw8#I%i?ii)ia+z1P+lp#b<88C0H`sTF5`F&ep$j8PchplvW!ni zr}Z-u(0TcswZSHbf(Z)Yk|IFU1>y>v;Ob%;rx?YNxN;QZ1Fx5)*%!QUi9SA}%}kTDM^|yc4Xwu$y}}(QHo1v z8Pt(+rV#4MNC> zLJ^7DGt(p|X&fWM1AuHI5MBCwop}r?3hknt^qY@R7N_flK8kfrK`%?6ukA20)qo*d zqzOe8aQW9Wv^7|o!yHYQF$e5}d?pL{V7F_o)#d<#6^wBN+%|W-A(Z@AC;wBFFSGlX z|9c0+lKp46_vruqAdiP+`Lq`l)BO&-MPw$HL7av#mOG&IlTez24E86!NybaTciqAd z!69>Xy|SZkpme_jN6S2&p#%}O@UoQVGlJ+ZF;EHgDZf6BP=um7*b&N55}_o-{DO)C z)4|EVxG|-!Re~Z+Z`B}&(5S5iBp61MTeT)(xa~Ew+tjUp6#(#l?Z1P;fhYgt!DIZ7 z2YI-3bF203-}hFf7@UTXC_!18jD%PusEMTOU2Ux;MZ{BOCtcvY(D+16HvsyA^*SnQ zFP1dtBf+$zD}r<6Vr4dGfhuzTgP^!tp|G)9@<|>o4yXGa-~~aJMn{D+0Z;19!=~Bq z#n2bmCCzUyahU6nDn%(f>#?U917P9i=m9MRXETSmb0bsX1d}A?W6L|{Z`s>|4--9~ zc6n>4Wt+Pd<0_2k){u%-_Ty96Zqqq|74&Umv|)l=YIna> zP0Rhzz8C(s^U!o9cpIx_DxOtfH7mzjL@_FON|89E7-ycaLL?KBBPCQ~!T>1NT`SQKV;$$yH zebE{BeAOPq2(9qu;oC4s29OQoBT9bdBUF%#XZtjg)o5Uz+n&XKSyZsOJR*v!K^0Z| zB@yp;i=8y5X=7RH!M20XsG;z*S<9pZtVTOU4fJL#Dqmzg)|%U7MHlS-gx9Xa!HY8= z)5@K~X-o^hW!!bpiAo|UiB0aO2b=l^Tay5@Q4;gQyun;sQQ%#4t?jBb%Nw>PIl(^h z%xa;*)LIiO9q@|jRFSF7%?c;88*Nr5@UMHLQaxEz>n(rVX6-4Qo2|QYTX)57D*0LJ3M{^+@ZD<_DVU849Jq1BI7-)7me{7qqYjs z5jHhO4`g#V@%Er%cCs`&b0)|$D*leWxG5Be;*PS6z2V92Sf^%sDm*~8Bfg@bZ}ipF zfk6)p%3mjN>(L<@o6I;^fu&#rLmIUS6ENdjIkD@vHJ)eGIdsDDv#K z;gaU*qVhB6eU)FMbpjVSto*K;eo4}-uI-BNs_}}?MeF_oH6oaGQw>H@MUP+H0Dv15 zwGo7fb)cf-4Uw=xRAHfqysG;aJ-ldKZ;SSvzS=}k+oHFNdVLbSQZd3sKop19xg6AG zg)*Ij5f`MK!%0L=)j1Q3WK6qY2VCMLdd-ahMfeuGj0tL|bW!vL==TOg#w|6E^g^+M zw5nde5b}Nn7m?b9jeb^(xcqu^oU#grsd2wWCf4$NCGP?~G4N|Y@4 zpe0Aj*A{1Su(V((Zsr2v?`_`T@<3~=F1_5SKw2CH1Z=$p1)PfgN;YM8W6PFc6a^Ye zS!eYv{EgPBJ#VWbx&OIxM|;Q#Y>a4W zpV)w#7^@A4c_N`V!tnZb*E9Y8fBM|Jd%@(&tRSe)8ZNeV2i)NQySL}Ye;)J?Mvw77 z9^|Rb|DDf~lL4H)S)|LvsmYFjivfZ zD5XnJhW6-mNh+`c_v&j6U%s^3GQ6=f#4P~u0?y?9Z`pGgXE;Hx+4~MbSxRx9k~R49 zWn57xhdQgQH6=0v|1vqEA1ESY(Bm%(gY;NP<@_y-CoOJ0tP`}%u{u71s z6nuMRspnxz2nusH<0fzIbiV!1>+5nN1{g)`^D0xxnSQ`A(saj@f2O&}2jQtAFZN){ ziwA(`DGlf8RRY@Y!T#v^cz^U9bXQr@RW1A{2{o%lo|9X3a{YUxlA)ae-De0Wabr2^&Pq(^r6ak#LH(QOHN!4;3 z19z;T2`SEC44d`CB>!5F~2&kydGQuWycBUU_|?|>*R2@YX<=0?@yO;e455M zTwCIhsFUfBg-l?{6jCnm2nmv@DT^BA@}BM|W16fri)mR|?TUo_9@%7*u4v&1$xO0p z_SaotcXznCehbwC;B8bBR!P7KlBZfGybEa8I{L;= zr5TbS7`;p4_4_o-t>2?*QH`&D{l2JcWa=q;WWf+BwA)Ads1!L>bs6g3s^+1ItQe|Pb`Ij^ z`%Q?OWw%A#s=FC+=bfC^Ulq$M7~b3tzv}v`8w?=Ad(LnVAEJJjY7MEVg-1RdE~vP*5dOFrnP(2 zVOK0mIq44MY9-zIfs&QlHOeP3@}q5<1(KB;?6?i|tAZ0-e7LCNWxpn^058XHSMYng zm5qGfCLHguRK#6k=r`+cL*2`2oO?W|NhpPPF0?-B)6|g>X#Das=Zxhb(FGLKXjTA| z6zsF88Ld=_(sf9abb|a?YnQO@cP$_SC5Us8bFxGyM`z&d_~^|mpaObCfV;LP(^Pbl zl`Pwv84qXy%R`{}s7@#X9@9od1q`!vi<}Lx1lv{_BH0!v5DfpY!k-!kmY5oF+B)zfP->0WeD= zGyaPu4r^1JNWscEjQg(E8dG-FEr%$q+3bAr3_BHO7muSpZ?3sfs>-j}Zie8L1B@Z1 zD)@HkWpis04d*CY#)v3b){EwF<|)ljL}~_B!uYuz3?=oeziVro_f!&ESh@5M%kX0r zv4ypYUKntW<0Z`z`2iD}|BUnbPoktFi&a!8Z+muB*C>&Rg*vH7xaRr7DH4$tBEGK_ zK@!fz9<1Mb&$G*I@zIb!Zg1Q4W6aAMFUH^>|GdMd%=8DAU9MPGZ$M#* z#A+zaIm)Y`4EvBNintg7;|dD#7O18Z>3CpGaOdu4u-1}Qhj}rP-p|`lrw`1gN!?1j zb`@*+w%8|%b{g;TM=^#}Fl*!I?Pa4RjgU^J^5sj*{C#`qaLR>VzIN5$w}+aiSsJIa z^;t#`jE>WU<^*EtCR6$GF4~O|DFPxGKevSasKoyXo(B3q$!{40c7y)kKNyzsKkoM* z_5TNXxMA~@UuV+_zshr9Df|u8eQxj|OIo{psjz?{;=szd2J)S#-QM=_LZl8rpIPlLVWPHhpjQWL#trXlb!$!c!{{vU z#Z!If&>bM#vC24%yDrXJ&3l47B`=@iqhU$5BkjLi65-HKL6mYii!L)hEUdjq_Jv;& z(7-xiN0$KK&}YUcAcFIY5Ha574OeR^{;&d~iw2y+5-zS4T6#)G(mV~**m}#oKF}}5 z*Wjn~^V5L4c9h?r`97Q<^YY?kM7|w^^W)Rf2~P2qAzntPd>gYGsI@KMQO5Pn{GXqV z+-Lspz0tv-l>dA9nE&xX9>M?l90QSQ5T^-<(-{t%aeaAortjNi1TP?2tGtL(4|kb; zNj;GtIBDAMp;>kA*BVnqF903jyRx`UxoF! zQI7%@7Tv*Pch|d!pYqW?UuPn(73Vr_l}bQv4!p>T+z#2_*7YSZu_pTyg-W}t)129w z`Wys?y3hlqiqg)^iOKRRl}(C!`)&#-@r`CE^tnI`tUcCoh%G#c91^f5zFqQWC{W_} zCfXkF5pjRhEEODmIDZ$E3VTM*Y`x(4zE+%+SQQZY=3kGlWuyS5;AKwF)DCF0;cRv8 z7xuxAXE4w6>_?Q31K+H}>*&cef8Lp3%6jXjT2;-M1hHGucHl~p+ z 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 uMW{Ck$43)13^!6HLel@vmvKIR9zTzt$IkDc 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≦ZfyfE)7}87sJOv8FfdRz>GnpxyrC0yUYZ7R!3~j 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 P00960?j+Zt0JH-DO (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/8.0.0/questions.yaml b/stable/authelia/8.0.0/questions.yaml new file mode 100644 index 0000000000..71b7f292be --- /dev/null +++ b/stable/authelia/8.0.0/questions.yaml @@ -0,0 +1,2733 @@ +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: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - 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: + 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: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: 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: "" + required: false + + - variable: theme + group: "App Configuration" + label: "Theme" + schema: + type: string + default: "light" + enum: + - value: "light" + description: "info" + - value: "gray" + description: "gray" + - value: "dark" + description: "dark" + + - variable: log + group: "App Configuration" + label: "Log Configuration " + schema: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + type: dict + attrs: + - variable: disable_startup_check + label: "Disable Startup Check" + schema: + type: boolean + default: false + - variable: filesystem + label: "Filesystem Provider" + schema: + 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: + 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: + 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: + 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: + 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: + 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: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "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: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9091 + editable: true + 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: 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: + 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: + 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: + 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: + 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: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - 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" + - 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: "/config" + hidden: 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + 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" + - 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: 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: + 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: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + 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: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: 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: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + 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: + 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: + 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: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + 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: + 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: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + 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: + 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: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + 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: + 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: + 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: + 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: + 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: + 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: + 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: + type: dict + attrs: + - variable: oidc + label: "OpenID Connect(BETA)" + schema: + 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: minimum_parameter_entropy + label: "Minimum Parameter Entropy" + schema: + type: int + default: 8 + hidden: true + - variable: clients + label: "Clients" + schema: + type: list + default: [] + items: + - variable: clientEntry + label: "Client" + schema: + 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/8.0.0/templates/_configmap.tpl b/stable/authelia/8.0.0/templates/_configmap.tpl new file mode 100644 index 0000000000..b944c4d1fd --- /dev/null +++ b/stable/authelia/8.0.0/templates/_configmap.tpl @@ -0,0 +1,247 @@ +{{/* 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_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 and .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/8.0.0/templates/_secrets.tpl b/stable/authelia/8.0.0/templates/_secrets.tpl new file mode 100644 index 0000000000..11ca0995cb --- /dev/null +++ b/stable/authelia/8.0.0/templates/_secrets.tpl @@ -0,0 +1,58 @@ +{{/* 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 := "" }} +data: + {{- if $autheliaprevious }} + SESSION_ENCRYPTION_KEY: {{ index $autheliaprevious.data "SESSION_ENCRYPTION_KEY" }} + JWT_TOKEN: {{ index $autheliaprevious.data "JWT_TOKEN" }} + {{- else }} + {{- $jwtsecret := randAlphaNum 50 }} + {{- $sessionsecret := randAlphaNum 50 }} + SESSION_ENCRYPTION_KEY: {{ $jwtsecret | b64enc | quote }} + JWT_TOKEN: {{ $jwtsecret | b64enc | quote }} + {{- 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/8.0.0/templates/common.yaml b/stable/authelia/8.0.0/templates/common.yaml new file mode 100644 index 0000000000..0afe8de1d3 --- /dev/null +++ b/stable/authelia/8.0.0/templates/common.yaml @@ -0,0 +1,72 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.setup" . }} + +{{/* 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: "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 "common.postSetup" . }} diff --git a/stable/authelia/8.0.0/values.yaml b/stable/authelia/8.0.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/gitea/5.0.0/CHANGELOG.md b/stable/gitea/5.0.0/CHANGELOG.md new file mode 100644 index 0000000000..73f6e4e1ed --- /dev/null +++ b/stable/gitea/5.0.0/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog
+ + + +### [gitea-5.0.0](https://github.com/truecharts/apps/compare/gitea-4.0.15...gitea-5.0.0) (2021-11-16) + +#### Chore + +* bump postgresql on some Apps + + + + +### [gitea-4.0.15](https://github.com/truecharts/apps/compare/gitea-4.0.14...gitea-4.0.15) (2021-11-15) + +#### Chore + +* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) +* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) + + + + +### [gitea-4.0.14](https://github.com/truecharts/apps/compare/gitea-4.0.13...gitea-4.0.14) (2021-11-14) + +#### Chore + +* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) +* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) +* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) +* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) + + + + +### [gitea-4.0.13](https://github.com/truecharts/apps/compare/gitea-4.0.12...gitea-4.0.13) (2021-11-12) + +#### Feat + +* move gitea to our own memcached chart ([#1313](https://github.com/truecharts/apps/issues/1313)) + +#### Fix + +* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) + + + + +### [gitea-4.0.12](https://github.com/truecharts/apps/compare/gitea-4.0.11...gitea-4.0.12) (2021-11-09) + +#### Chore + +* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) + + + + +### [gitea-4.0.11](https://github.com/truecharts/apps/compare/gitea-4.0.10...gitea-4.0.11) (2021-11-08) + + + + +### [gitea-4.0.10](https://github.com/truecharts/apps/compare/gitea-4.0.9...gitea-4.0.10) (2021-11-08) + +#### Fix + +* Correctly enable ports by default on some more Apps + + + + +### [gitea-4.0.9](https://github.com/truecharts/apps/compare/gitea-4.0.8...gitea-4.0.9) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) + + + + +### [gitea-4.0.8](https://github.com/truecharts/apps/compare/gitea-4.0.7...gitea-4.0.8) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) + +#### Chore + +* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) + +#### Feat + +* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) + + + + +### [gitea-4.0.7](https://github.com/truecharts/apps/compare/gitea-4.0.6...gitea-4.0.7) (2021-11-02) + diff --git a/stable/gitea/5.0.0/CONFIG.md b/stable/gitea/5.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/gitea/5.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/gitea/5.0.0/Chart.lock b/stable/gitea/5.0.0/Chart.lock new file mode 100644 index 0000000000..12dee663bd --- /dev/null +++ b/stable/gitea/5.0.0/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- name: memcached + repository: https://truecharts.org/ + version: 1.0.4 +digest: sha256:4a63cdac91ab354f7a77f6b87982eb2f7136b780cb160b9e75e94f8579f9572e +generated: "2021-11-16T15:21:23.305319202Z" diff --git a/stable/gitea/5.0.0/Chart.yaml b/stable/gitea/5.0.0/Chart.yaml new file mode 100644 index 0000000000..1854a8d9cb --- /dev/null +++ b/stable/gitea/5.0.0/Chart.yaml @@ -0,0 +1,42 @@ +apiVersion: v2 +appVersion: "1.15.6" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- condition: memcached.enabled + name: memcached + repository: https://truecharts.org/ + version: 1.0.4 +deprecated: false +description: Self hosted GIT repositories +home: https://github.com/truecharts/apps/tree/master/charts/stable/gitea +icon: https://docs.gitea.io/images/gitea.png +keywords: +- git +- issue tracker +- code review +- wiki +- gitea +- gogs +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: gitea +sources: +- https://gitea.com/gitea/helm-chart +- https://github.com/go-gitea/gitea +- https://hub.docker.com/r/gitea/gitea/ +type: application +version: 5.0.0 +annotations: + truecharts.org/catagories: | + - GIT + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/gitea/5.0.0/README.md b/stable/gitea/5.0.0/README.md new file mode 100644 index 0000000000..0e275ef7da --- /dev/null +++ b/stable/gitea/5.0.0/README.md @@ -0,0 +1,41 @@ +# Introduction + +Self hosted GIT repositories + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | memcached | 1.0.4 | +| https://truecharts.org/ | postgresql | 6.0.0 | +| https://truecharts.org | common | 8.6.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/gitea/5.0.0/app-readme.md b/stable/gitea/5.0.0/app-readme.md new file mode 100644 index 0000000000..3b02da8710 --- /dev/null +++ b/stable/gitea/5.0.0/app-readme.md @@ -0,0 +1,3 @@ +Self hosted GIT repositories + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/stable/gitea/5.0.0/charts/common-8.6.2.tgz b/stable/gitea/5.0.0/charts/common-8.6.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..06e2424dd5dde16a485065df6ef31de18f2fc11c GIT binary patch literal 34598 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 z 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 D^fs+4 literal 0 HcmV?d00001 diff --git a/stable/gitea/5.0.0/charts/postgresql-6.0.0.tgz b/stable/gitea/5.0.0/charts/postgresql-6.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1b75155adfc4e8b493e5bf89a0b079255a4d8c4e GIT binary patch literal 42614 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 uMW{Ck$43)13^!6HLel@vmvKIR9zTzt$Ik + + + +### [nextcloud-10.0.0](https://github.com/truecharts/apps/compare/nextcloud-9.0.12...nextcloud-10.0.0) (2021-11-16) + +#### Chore + +* bump postgresql on some Apps + + + + +### [nextcloud-9.0.12](https://github.com/truecharts/apps/compare/nextcloud-9.0.11...nextcloud-9.0.12) (2021-11-15) + +#### Chore + +* update non-major docker tags ([#1339](https://github.com/truecharts/apps/issues/1339)) + + + + +### [nextcloud-9.0.11](https://github.com/truecharts/apps/compare/nextcloud-9.0.10...nextcloud-9.0.11) (2021-11-15) + +#### Chore + +* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) +* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) + + + + +### [nextcloud-9.0.10](https://github.com/truecharts/apps/compare/nextcloud-9.0.9...nextcloud-9.0.10) (2021-11-14) + +#### Chore + +* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) +* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) +* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) +* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) +* update non-major ([#1327](https://github.com/truecharts/apps/issues/1327)) + +#### Feat + +* use our own redis chart ([#1312](https://github.com/truecharts/apps/issues/1312)) +* use our own redis chart ([#1310](https://github.com/truecharts/apps/issues/1310)) + +#### Fix + +* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) +* revert nextcloud container update due to upstream performance issues + + + + +### [nextcloud-9.0.9](https://github.com/truecharts/apps/compare/nextcloud-9.0.8...nextcloud-9.0.9) (2021-11-09) + +#### Chore + +* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) + + + + +### [nextcloud-9.0.8](https://github.com/truecharts/apps/compare/nextcloud-9.0.7...nextcloud-9.0.8) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) + + + + +### [nextcloud-9.0.7](https://github.com/truecharts/apps/compare/nextcloud-9.0.6...nextcloud-9.0.7) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) +* Update label / description on admin credentials ([#1274](https://github.com/truecharts/apps/issues/1274)) + +#### Chore + +* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) + +#### Feat + +* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) + +#### Fix + +* make the env-var descriptions more clear + + + + +### [nextcloud-9.0.6](https://github.com/truecharts/apps/compare/nextcloud-9.0.5...nextcloud-9.0.6) (2021-11-02) + +#### Chore + diff --git a/stable/nextcloud/10.0.0/CONFIG.md b/stable/nextcloud/10.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/nextcloud/10.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/nextcloud/10.0.0/Chart.lock b/stable/nextcloud/10.0.0/Chart.lock new file mode 100644 index 0000000000..015d69af5a --- /dev/null +++ b/stable/nextcloud/10.0.0/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- name: redis + repository: https://truecharts.org + version: 1.0.5 +digest: sha256:ee37e7fe23df0295ef81b3a7a389dd3b293e5c80f7452544a53afc59bcc69e38 +generated: "2021-11-16T15:22:14.228227289Z" diff --git a/stable/nextcloud/10.0.0/Chart.yaml b/stable/nextcloud/10.0.0/Chart.yaml new file mode 100644 index 0000000000..42de2784fa --- /dev/null +++ b/stable/nextcloud/10.0.0/Chart.yaml @@ -0,0 +1,41 @@ +apiVersion: v2 +appVersion: "22.2.2" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +- condition: redis.enabled + name: redis + repository: https://truecharts.org + version: 1.0.5 +deprecated: false +description: A private cloud server that puts the control and security of your own + data back into your hands. +home: https://nextcloud.com/ +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nextcloud_Logo.svg/1280px-Nextcloud_Logo.svg.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: 10.0.0 +annotations: + truecharts.org/catagories: | + - cloud + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/nextcloud/10.0.0/README.md b/stable/nextcloud/10.0.0/README.md new file mode 100644 index 0000000000..7f09103abc --- /dev/null +++ b/stable/nextcloud/10.0.0/README.md @@ -0,0 +1,40 @@ +# Introduction + +A private cloud server that puts the control and security of your own data back into your hands. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | postgresql | 6.0.0 | +| https://truecharts.org | common | 8.6.2 | +| https://truecharts.org | redis | 1.0.5 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/nextcloud/10.0.0/app-readme.md b/stable/nextcloud/10.0.0/app-readme.md new file mode 100644 index 0000000000..28094fc642 --- /dev/null +++ b/stable/nextcloud/10.0.0/app-readme.md @@ -0,0 +1,3 @@ +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 please visit https://truecharts.org diff --git a/stable/nextcloud/10.0.0/charts/common-8.6.2.tgz b/stable/nextcloud/10.0.0/charts/common-8.6.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..06e2424dd5dde16a485065df6ef31de18f2fc11c GIT binary patch literal 34598 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 z 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 uMW{Ck$43)13^!6HLel@vmvKIR9zTzt$IkDc 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≦ZfyfE)7}87sJOv8FfdRz>GnpxyrC0yUYZ7R!3~j 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 P00960?j+Zt0JH-DO + + + +### [vaultwarden-13.0.0](https://github.com/truecharts/apps/compare/vaultwarden-12.0.11...vaultwarden-13.0.0) (2021-11-16) + +#### Chore + +* bump postgresql on some Apps + + + + +### [vaultwarden-12.0.11](https://github.com/truecharts/apps/compare/vaultwarden-12.0.10...vaultwarden-12.0.11) (2021-11-15) + +#### Chore + +* persistence cleanup and small bugfixes ([#1329](https://github.com/truecharts/apps/issues/1329)) +* update non-major deps helm releases ([#1338](https://github.com/truecharts/apps/issues/1338)) + + + + +### [vaultwarden-12.0.10](https://github.com/truecharts/apps/compare/vaultwarden-12.0.9...vaultwarden-12.0.10) (2021-11-14) + +#### Chore + +* fixes around the GUI refactor ([#1316](https://github.com/truecharts/apps/issues/1316)) +* move port above advanced in GUI ([#1326](https://github.com/truecharts/apps/issues/1326)) +* clean up Chart.yaml ([#1322](https://github.com/truecharts/apps/issues/1322)) +* update non-major deps helm releases ([#1328](https://github.com/truecharts/apps/issues/1328)) + +#### Fix + +* split udp and tcp ports ([#1321](https://github.com/truecharts/apps/issues/1321)) +* Allow spaces in paths ([#1306](https://github.com/truecharts/apps/issues/1306)) + + + + +### [vaultwarden-12.0.9](https://github.com/truecharts/apps/compare/vaultwarden-12.0.8...vaultwarden-12.0.9) (2021-11-09) + +#### Chore + +* update non-major deps helm releases ([#1297](https://github.com/truecharts/apps/issues/1297)) + + + + +### [vaultwarden-12.0.8](https://github.com/truecharts/apps/compare/vaultwarden-12.0.7...vaultwarden-12.0.8) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1295](https://github.com/truecharts/apps/issues/1295)) + + + + +### [vaultwarden-12.0.7](https://github.com/truecharts/apps/compare/vaultwarden-12.0.6...vaultwarden-12.0.7) (2021-11-07) + +#### Chore + +* update non-major deps helm releases ([#1291](https://github.com/truecharts/apps/issues/1291)) + +#### Chore + +* Simplify GUI for deployment, persistence and securityContext ([#1289](https://github.com/truecharts/apps/issues/1289)) + +#### Feat + +* Simplify the Services GUI ([#1290](https://github.com/truecharts/apps/issues/1290)) + +#### Fix + +* prevent duplicate port use and fix some questions.yaml mistakes + + + + +### [vaultwarden-12.0.6](https://github.com/truecharts/apps/compare/vaultwarden-12.0.5...vaultwarden-12.0.6) (2021-11-04) + +#### Fix + +* correctly define ingress ([#1283](https://github.com/truecharts/apps/issues/1283)) + + + + +### [vaultwarden-12.0.5](https://github.com/truecharts/apps/compare/vaultwarden-12.0.4...vaultwarden-12.0.5) (2021-11-02) + +#### Chore + +* update non-major deps helm releases ([#1267](https://github.com/truecharts/apps/issues/1267)) + + + + +### [vaultwarden-12.0.4](https://github.com/truecharts/apps/compare/vaultwarden-12.0.3...vaultwarden-12.0.4) (2021-11-01) + diff --git a/stable/vaultwarden/13.0.0/CONFIG.md b/stable/vaultwarden/13.0.0/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/stable/vaultwarden/13.0.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/vaultwarden/13.0.0/Chart.lock b/stable/vaultwarden/13.0.0/Chart.lock new file mode 100644 index 0000000000..7e0a26eee8 --- /dev/null +++ b/stable/vaultwarden/13.0.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +digest: sha256:5b48c94a137b8a81cff3d4c13ef93354cc4cde191fa005eda4eadb07932f8e9c +generated: "2021-11-16T15:23:02.519125625Z" diff --git a/stable/vaultwarden/13.0.0/Chart.yaml b/stable/vaultwarden/13.0.0/Chart.yaml new file mode 100644 index 0000000000..e572260550 --- /dev/null +++ b/stable/vaultwarden/13.0.0/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +appVersion: "1.23.0" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.6.2 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 6.0.0 +deprecated: false +description: Unofficial Bitwarden compatible server written in Rust +home: https://github.com/truecharts/apps/tree/master/charts/stable/vaultwarden +icon: https://raw.githubusercontent.com/bitwarden/brand/master/icons/256x256.png +keywords: +- bitwarden +- bitwardenrs +- bitwarden_rs +- vaultwarden +- password +- rust +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: vaultwarden +sources: +- https://github.com/dani-garcia/vaultwarden +type: application +version: 13.0.0 +annotations: + truecharts.org/catagories: | + - security + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/vaultwarden/13.0.0/README.md b/stable/vaultwarden/13.0.0/README.md new file mode 100644 index 0000000000..c58ef9163a --- /dev/null +++ b/stable/vaultwarden/13.0.0/README.md @@ -0,0 +1,38 @@ +# Introduction + +Unofficial Bitwarden compatible server written in Rust + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | postgresql | 6.0.0 | +| https://truecharts.org | common | 8.6.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/stable/vaultwarden/13.0.0/app-readme.md b/stable/vaultwarden/13.0.0/app-readme.md new file mode 100644 index 0000000000..adff46b5f7 --- /dev/null +++ b/stable/vaultwarden/13.0.0/app-readme.md @@ -0,0 +1,3 @@ +Unofficial Bitwarden compatible server written in Rust + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org diff --git a/stable/vaultwarden/13.0.0/charts/common-8.6.2.tgz b/stable/vaultwarden/13.0.0/charts/common-8.6.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..06e2424dd5dde16a485065df6ef31de18f2fc11c GIT binary patch literal 34598 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 z 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 uMW{Ck$43)13^!6HLel@vmvKIR9zTzt$Ik=1.19 + ingressClassName: # "nginx" + + ## Configure the hosts for the ingress + hosts: + - # -- Host address. Helm template can be passed. + host: chart-example.local + ## Configure the paths for the host + paths: + - # -- Path. Helm template can be passed. + path: / + # -- Ignored if not kubeVersion >= 1.14-0 + pathType: Prefix + service: + # -- Overrides the service name reference for this path + name: + # -- Overrides the service port reference for this path + targetPort: + + # -- Configure TLS for the ingress. Both secretName and hosts can process a Helm template. + tls: [] + # - secretName: chart-example-tls + # -- Create a secret from a GUI selected TrueNAS SCALE certificate + # scaleCert: true + # hosts: + # - chart-example.local diff --git a/stable/vaultwarden/13.0.0/helm-values.md b/stable/vaultwarden/13.0.0/helm-values.md new file mode 100644 index 0000000000..e203910801 --- /dev/null +++ b/stable/vaultwarden/13.0.0/helm-values.md @@ -0,0 +1,54 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| database.type | string | `"postgresql"` | | +| database.wal | bool | `true` | | +| env | object | `{}` | | +| envFrom[0].configMapRef.name | string | `"vaultwardenconfig"` | | +| envFrom[1].secretRef.name | string | `"vaultwardensecret"` | | +| envTpl.DOMAIN | string | `"https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}"` | | +| envValueFrom.DATABASE_URL.secretKeyRef.key | string | `"url"` | | +| envValueFrom.DATABASE_URL.secretKeyRef.name | string | `"dbcreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/truecharts/vaultwarden"` | | +| image.tag | string | `"v1.23.0@sha256:1e65dd23569e566576c3c80de76f711e0b9fc5e29a39d45f49f0a44d1282d869"` | | +| persistence.data.enabled | bool | `true` | | +| persistence.data.mountPath | string | `"/data"` | | +| postgresql.enabled | bool | `true` | | +| postgresql.existingSecret | string | `"dbcreds"` | | +| postgresql.postgresqlDatabase | string | `"vaultwarden"` | | +| postgresql.postgresqlUsername | string | `"vaultwarden"` | | +| service.main.ports.main.port | int | `8080` | | +| service.main.ports.main.targetPort | int | `8080` | | +| service.ws.ports.ws.enabled | bool | `true` | | +| service.ws.ports.ws.port | int | `3012` | | +| service.ws.ports.ws.targetPort | int | `3012` | | +| vaultwarden.admin.disableAdminToken | bool | `false` | | +| vaultwarden.admin.enabled | bool | `false` | | +| vaultwarden.allowInvitation | bool | `true` | | +| vaultwarden.allowSignups | bool | `true` | | +| vaultwarden.enableWebVault | bool | `true` | | +| vaultwarden.enableWebsockets | bool | `true` | | +| vaultwarden.icons.disableDownload | bool | `false` | | +| vaultwarden.log.file | string | `""` | | +| vaultwarden.log.level | string | `"trace"` | | +| vaultwarden.orgCreationUsers | string | `"all"` | | +| vaultwarden.requireEmail | bool | `false` | | +| vaultwarden.showPasswordHint | bool | `true` | | +| vaultwarden.smtp.enabled | bool | `false` | | +| vaultwarden.smtp.from | string | `""` | | +| vaultwarden.smtp.host | string | `""` | | +| vaultwarden.verifySignup | bool | `false` | | +| vaultwarden.yubico.enabled | bool | `false` | | + +All Rights Reserved - The TrueCharts Project diff --git a/stable/vaultwarden/13.0.0/ix_values.yaml b/stable/vaultwarden/13.0.0/ix_values.yaml new file mode 100644 index 0000000000..cad0abf6ea --- /dev/null +++ b/stable/vaultwarden/13.0.0/ix_values.yaml @@ -0,0 +1,158 @@ +# Default values for Bitwarden. + +image: + repository: ghcr.io/truecharts/vaultwarden + pullPolicy: IfNotPresent + tag: v1.23.0@sha256:1e65dd23569e566576c3c80de76f711e0b9fc5e29a39d45f49f0a44d1282d869 + +service: + main: + ports: + main: + port: 8080 + targetPort: 8080 + ws: + ports: + ws: + enabled: true + port: 3012 + targetPort: 3012 + +env: {} + +envTpl: + DOMAIN: "https://{{ if .Values.ingress }}{{ if .Values.ingress.main.enabled }}{{ ( index .Values.ingress.main.hosts 0 ).host }}{{ else }}placeholder.com{{ end }}{{ else }}placeholder.com{{ end }}" + +envFrom: + - configMapRef: + name: vaultwardenconfig + - secretRef: + name: vaultwardensecret + +envValueFrom: + DATABASE_URL: + secretKeyRef: + name: dbcreds + key: url + +database: + # Database type, must be one of: 'sqlite', 'mysql' or 'postgresql'. + type: postgresql + # Enable DB Write-Ahead-Log for SQLite, disabled for other databases. https://github.com/dani-garcia/bitwarden_rs/wiki/Running-without-WAL-enabled + wal: true + ## URL for external databases (mysql://user:pass@host:port or postgresql://user:pass@host:port). + # url: "" + ## Set the size of the database connection pool. + # maxConnections: 10 + ## Connection retries during startup, 0 for infinite. 1 second between retries. + # retries: 15 + +# Set Bitwarden_rs application variables +vaultwarden: + # Allow any user to sign-up: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-registration-of-new-users + allowSignups: true + ## Whitelist domains allowed to sign-up. 'allowSignups' is ignored if set. + # signupDomains: + # - domain.tld + # Verify e-mail before login is enabled. SMTP must be enabled. + verifySignup: false + # When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled. + requireEmail: false + ## Maximum attempts before an email token is reset and a new email will need to be sent. + # emailAttempts: 3 + ## Email token validity in seconds. + # emailTokenExpiration: 600 + # Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-invitations + allowInvitation: true + # Show password hints: https://github.com/dani-garcia/bitwarden_rs/wiki/Password-hint-display + ## Default organization name in invitation e-mails that are not coming from a specific organization. + # defaultInviteName: "" + showPasswordHint: true + # Enable Websockets for notification. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-WebSocket-notifications + # Redirect HTTP path "/notifications/hub" to port 3012. Ingress/IngressRoute controllers are automatically configured. + enableWebsockets: true + # Enable Web Vault (static content). https://github.com/dani-garcia/bitwarden_rs/wiki/Disabling-or-overriding-the-Vault-interface-hosting + enableWebVault: true + # Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users. + orgCreationUsers: all + ## Limit attachment disk usage per organization. + # attachmentLimitOrg: + ## Limit attachment disk usage per user. + # attachmentLimitUser: + ## HaveIBeenPwned API Key. Can be purchased at https://haveibeenpwned.com/API/Key. + # hibpApiKey: + + admin: + # Enable admin portal. + enabled: false + # Disabling the admin token will make the admin portal accessible to anyone, use carefully: https://github.com/dani-garcia/bitwarden_rs/wiki/Disable-admin-token + disableAdminToken: false + ## Token for admin login, will be generated if not defined. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-admin-page + # token: + + # Enable SMTP. https://github.com/dani-garcia/bitwarden_rs/wiki/SMTP-configuration + smtp: + enabled: false + # SMTP hostname, required if SMTP is enabled. + host: "" + # SMTP sender e-mail address, required if SMTP is enabled. + from: "" + ## SMTP sender name, defaults to 'Bitwarden_RS'. + # fromName: "" + ## Enable SSL connection. + # ssl: true + ## SMTP port. Defaults to 25 without SSL, 587 with SSL. + # port: 587 + ## SMTP Authentication Mechanisms. Comma-separated options: 'Plain', 'Login' and 'Xoauth2'. Defaults to 'Plain'. + # authMechanism: Plain + ## Hostname to be sent for SMTP HELO. Defaults to pod name. + # heloName: "" + ## SMTP timeout. + # timeout: 15 + ## Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidHostname: false + ## Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks! + # invalidCertificate: false + ## SMTP username. + # user: "" + ## SMTP password. Required is user is specified, ignored if no user provided. + # password: "" + + ## Enable Yubico OTP authentication. https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-Yubikey-OTP-authentication + yubico: + enabled: false + ## Yubico server. Defaults to YubiCloud. + # server: + ## Yubico ID and Secret Key. + # clientId: + # secretKey: + + ## Logging options. https://github.com/dani-garcia/bitwarden_rs/wiki/Logging + log: + # Log to file. + file: "" + # Log level. Options are "trace", "debug", "info", "warn", "error" or "off". + level: "trace" + ## Log timestamp format. See https://docs.rs/chrono/0.4.15/chrono/format/strftime/index.html. Defaults to time in milliseconds. + # timeFormat: "" + + icons: + # Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache). TTL will default to zero. + disableDownload: false + ## Cache time-to-live for icons fetched. 0 means no purging. + # cache: 2592000 + ## Cache time-to-live for icons that were not available. 0 means no purging. + # cacheFailed: 259200 + +persistence: + data: + enabled: true + mountPath: "/data" + + +# Enabled postgres +postgresql: + enabled: true + existingSecret: "dbcreds" + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden diff --git a/stable/vaultwarden/13.0.0/questions.yaml b/stable/vaultwarden/13.0.0/questions.yaml new file mode 100644 index 0000000000..0713e50feb --- /dev/null +++ b/stable/vaultwarden/13.0.0/questions.yaml @@ -0,0 +1,2234 @@ +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: "Addons" + description: "Addon Configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - 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: + 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: argItem + label: "Arg" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: expertpodconf + group: "Container Configuration" + label: "Show Expert Config" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: vaultwarden + label: "" + group: "App Configuration" + schema: + type: dict + attrs: + - variable: yubico + label: "Yubico OTP authentication" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Yubico OTP authentication" + description: "Please refer to the manual at: https://github.com/dani-garcia/vaultwarden/wiki/Enabling-Yubikey-OTP-authentication" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: server + label: "Yubico server" + description: "Defaults to YubiCloud" + schema: + type: string + default: "" + - variable: clientId + label: "Yubico ID" + schema: + type: string + default: "" + - variable: secretKey + label: "Yubico Secret Key" + schema: + type: string + default: "" + - variable: admin + label: "Admin Portal" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Admin Portal" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: disableAdminToken + label: "Make Accessible Without Password/Token" + schema: + type: boolean + default: false + - variable: token + label: "Admin Portal Password/Token" + description: "Will be automatically generated if not defined" + schema: + type: string + default: "" + - variable: icons + label: "Icon Download Settings" + schema: + type: dict + attrs: + - variable: disableDownload + label: "Disable Icon Download" + description: "Disables download of external icons. Setting to true will still serve icons from cache (/data/icon_cache)" + schema: + type: boolean + default: false + - variable: cache + label: "Cache time-to-live" + description: "Cache time-to-live for icons fetched. 0 means no purging" + schema: + type: int + default: 2592000 + - variable: token + label: "Failed Downloads Cache time-to-live" + description: "Cache time-to-live for icons that were not available. 0 means no purging." + schema: + type: int + default: 2592000 + - variable: log + label: "Logging" + schema: + type: dict + attrs: + - variable: level + label: "Log level" + schema: + type: string + default: "info" + required: true + enum: + - value: "trace" + description: "trace" + - value: "debug" + description: "debug" + - value: "info" + description: "info" + - value: "warn" + description: "warn" + - value: "error" + description: "error" + - value: "off" + description: "off" + - variable: file + label: "Log-File Location" + schema: + type: string + default: "" + - variable: smtp + label: "SMTP Settings (Email)" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable SMTP Support" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: host + label: "SMTP hostname" + schema: + type: string + required: true + default: "" + - variable: from + label: "SMTP sender e-mail address" + schema: + type: string + required: true + default: "" + - variable: fromName + label: "SMTP sender name" + schema: + type: string + required: true + default: "" + - variable: user + label: "SMTP username" + schema: + type: string + required: true + default: "" + - variable: password + label: "SMTP password" + description: "Required is user is specified, ignored if no user provided" + schema: + type: string + default: "" + - variable: ssl + label: "Enable SSL connection" + schema: + type: boolean + default: true + - variable: port + label: "SMTP port" + description: "Usually: 25 without SSL, 587 with SSL" + schema: + type: int + default: 587 + - variable: authMechanism + label: "SMTP Authentication Mechanisms" + description: "Comma-separated options: Plain, Login and Xoauth2" + schema: + type: string + default: "Plain" + - variable: heloName + label: "SMTP HELO - Hostname" + description: "Hostname to be sent for SMTP HELO. Defaults to pod name" + schema: + type: string + default: "" + - variable: port + label: "SMTP timeout" + schema: + type: int + default: 15 + - variable: invalidHostname + label: "Accept Invalid Hostname" + description: "Accept SSL session if certificate is valid but hostname doesn't match. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: invalidCertificate + label: "Accept Invalid Certificate" + description: "Accept invalid certificates. DANGEROUS, vulnerable to men-in-the-middle attacks!" + schema: + type: boolean + default: false + - variable: allowSignups + label: "Allow Signup" + description: "Allow any user to sign-up: https://github.com/dani-garcia/vaultwarden/wiki/Disable-registration-of-new-users" + schema: + type: boolean + default: true + - variable: allowInvitation + label: "Always allow Invitation" + description: "Allow invited users to sign-up even feature is disabled: https://github.com/dani-garcia/vaultwarden/wiki/Disable-invitations" + schema: + type: boolean + default: true + - variable: defaultInviteName + label: "Default Invite Organisation Name" + description: "Default organization name in invitation e-mails that are not coming from a specific organization." + schema: + type: string + default: "" + - variable: showPasswordHint + label: "Show password hints" + description: "https://github.com/dani-garcia/vaultwarden/wiki/Password-hint-display" + schema: + type: boolean + default: true + - variable: signupwhitelistenable + label: "Enable Signup Whitelist" + description: "allowSignups is ignored if set" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: signupDomains + label: "Signup Whitelist Domains" + schema: + type: list + default: [] + items: + - variable: domain + label: "Domain" + schema: + type: string + default: "" + - variable: verifySignup + label: "Verifiy Signup" + description: "Verify e-mail before login is enabled. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: requireEmail + label: "Block Login if email fails" + description: "When a user logs in an email is required to be sent. If sending the email fails the login attempt will fail. SMTP must be enabled" + schema: + type: boolean + default: false + - variable: emailAttempts + label: "Email token reset attempts" + description: "Maximum attempts before an email token is reset and a new email will need to be sent" + schema: + type: int + default: 3 + - variable: emailTokenExpiration + label: "Email token validity in seconds" + schema: + type: int + default: 600 + - variable: enableWebsockets + label: "Enable Websocket Connections" + description: "Enable Websockets for notification. https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications" + schema: + type: boolean + default: true + hidden: true + - variable: enableWebVault + label: "Enable Webvault" + description: "Enable Web Vault (static content). https://github.com/dani-garcia/vaultwarden/wiki/Disabling-or-overriding-the-Vault-interface-hosting" + schema: + type: boolean + default: true + - variable: orgCreationUsers + label: "Limit Organisation Creation to (users)" + description: "Restrict creation of orgs. Options are: 'all', 'none' or a comma-separated list of users." + schema: + type: string + default: "all" + - variable: attachmentLimitOrg + label: "Limit Attachment Disk Usage per Organisation" + schema: + type: string + default: "" + - variable: attachmentLimitUser + label: "Limit Attachment Disk Usage per User" + schema: + type: string + default: "" + - variable: hibpApiKey + label: "HaveIBeenPwned API Key" + description: "Can be purchased at https://haveibeenpwned.com/API/Key" + schema: + type: string + default: "" + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "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: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10023 + editable: true + 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: ws + label: "WebSocket Service" + description: "WebSocket Service" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "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: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + 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: 3012 + + - 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: 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: + 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: + 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: + 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: + 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: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - 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" + - 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: "/data" + hidden: 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + 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" + - 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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + + - variable: entrypoint + label: "(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: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: ingressList + label: "Add Manual Custom Ingresses" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: 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: + 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: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + 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: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + + + - variable: 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: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "4000m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "8Gi" + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "Memory RAM" + 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: + 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: "Resources and Devices" + label: "(Advanced) Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 + + + - variable: addons + group: "Addons" + label: "" + schema: + type: dict + attrs: + - variable: vpn + label: "VPN" + schema: + 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: + 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: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: git + label: "Git Settings" + schema: + 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: + 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: + type: dict + attrs: + - variable: codeserver + label: "" + schema: + 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: + 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: + 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: + 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: + 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: + 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: + 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/vaultwarden/13.0.0/templates/_configmap.tpl b/stable/vaultwarden/13.0.0/templates/_configmap.tpl new file mode 100644 index 0000000000..8809925abd --- /dev/null +++ b/stable/vaultwarden/13.0.0/templates/_configmap.tpl @@ -0,0 +1,116 @@ +{{/* Define the configmap */}} +{{- define "vaultwarden.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: vaultwardenconfig +data: + ROCKET_PORT: "8080" + SIGNUPS_ALLOWED: {{ .Values.vaultwarden.allowSignups | quote }} + {{- if .Values.vaultwarden.signupDomains }} + SIGNUPS_DOMAINS_WHITELIST: {{ join "," .Values.vaultwarden.signupDomains | quote }} + {{- end }} + {{- if and (eq .Values.vaultwarden.verifySignup true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Signup verification requires SMTP to be enabled" nil}}{{end}} + SIGNUPS_VERIFY: {{ .Values.vaultwarden.verifySignup | quote }} + {{- if and (eq .Values.vaultwarden.requireEmail true) (eq .Values.vaultwarden.smtp.enabled false) }}{{ required "Requiring emails for login depends on SMTP" nil}}{{end}} + REQUIRE_DEVICE_EMAIL: {{ .Values.vaultwarden.requireEmail | quote }} + {{- if .Values.vaultwarden.emailAttempts }} + EMAIL_ATTEMPTS_LIMIT: {{ .Values.vaultwarden.emailAttempts | quote }} + {{- end }} + {{- if .Values.vaultwarden.emailTokenExpiration }} + EMAIL_EXPIRATION_TIME: {{ .Values.vaultwarden.emailTokenExpiration | quote }} + {{- end }} + INVITATIONS_ALLOWED: {{ .Values.vaultwarden.allowInvitation | quote }} + {{- if .Values.vaultwarden.defaultInviteName }} + INVITATION_ORG_NAME: {{ .Values.vaultwarden.defaultInviteName | quote }} + {{- end }} + SHOW_PASSWORD_HINT: {{ .Values.vaultwarden.showPasswordHint | quote }} + WEBSOCKET_ENABLED: {{ .Values.vaultwarden.enableWebsockets | quote }} + WEB_VAULT_ENABLED: {{ .Values.vaultwarden.enableWebVault | quote }} + ORG_CREATION_USERS: {{ .Values.vaultwarden.orgCreationUsers | quote }} + {{- if .Values.vaultwarden.attachmentLimitOrg }} + ORG_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitOrg | quote }} + {{- end }} + {{- if .Values.vaultwarden.attachmentLimitUser }} + USER_ATTACHMENT_LIMIT: {{ .Values.vaultwarden.attachmentLimitUser | quote }} + {{- end }} + {{- if .Values.vaultwarden.hibpApiKey }} + HIBP_API_KEY: {{ .Values.vaultwarden.hibpApiKey | quote }} + {{- end }} + {{- include "vaultwarden.dbTypeValid" . }} + {{- if .Values.database.retries }} + DB_CONNECTION_RETRIES: {{ .Values.database.retries | quote }} + {{- end }} + {{- if .Values.database.maxConnections }} + DATABASE_MAX_CONNS: {{ .Values.database.maxConnections | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.smtp.enabled true }} + SMTP_HOST: {{ required "SMTP host is required to enable SMTP" .Values.vaultwarden.smtp.host | quote }} + SMTP_FROM: {{ required "SMTP sender address ('from') is required to enable SMTP" .Values.vaultwarden.smtp.from | quote }} + {{- if .Values.vaultwarden.smtp.fromName }} + SMTP_FROM_NAME: {{ .Values.vaultwarden.smtp.fromName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.ssl }} + SMTP_SSL: {{ .Values.vaultwarden.smtp.ssl | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.port }} + SMTP_PORT: {{ .Values.vaultwarden.smtp.port | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.authMechanism }} + SMTP_AUTH_MECHANISM: {{ .Values.vaultwarden.smtp.authMechanism | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.heloName }} + HELO_NAME: {{ .Values.vaultwarden.smtp.heloName | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.timeout }} + SMTP_TIMEOUT: {{ .Values.vaultwarden.smtp.timeout | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidHostname }} + SMTP_ACCEPT_INVALID_HOSTNAMES: {{ .Values.vaultwarden.smtp.invalidHostname | quote }} + {{- end }} + {{- if .Values.vaultwarden.smtp.invalidCertificate }} + SMTP_ACCEPT_INVALID_CERTS: {{ .Values.vaultwarden.smtp.invalidCertificate | quote }} + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.log.file }} + LOG_FILE: {{ .Values.vaultwarden.log.file | quote }} + {{- end }} + {{- if or .Values.vaultwarden.log.level .Values.vaultwarden.log.timeFormat }} + EXTENDED_LOGGING: "true" + {{- end }} + {{- if .Values.vaultwarden.log.level }} + {{- include "vaultwarden.logLevelValid" . }} + LOG_LEVEL: {{ .Values.vaultwarden.log.level | quote }} + {{- end }} + {{- if .Values.vaultwarden.log.timeFormat }} + LOG_TIMESTAMP_FORMAT: {{ .Values.vaultwarden.log.timeFormat | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.disableDownload }} + DISABLE_ICON_DOWNLOAD: {{ .Values.vaultwarden.icons.disableDownload | quote }} + {{- if and (not .Values.vaultwarden.icons.cache) (eq .Values.vaultwarden.icons.disableDownload "true") }} + ICON_CACHE_TTL: "0" + {{- end }} + {{- end }} + {{- if .Values.vaultwarden.icons.cache }} + ICON_CACHE_TTL: {{ .Values.vaultwarden.icons.cache | quote }} + {{- end }} + {{- if .Values.vaultwarden.icons.cacheFailed }} + ICON_CACHE_NEGTTL: {{ .Values.vaultwarden.icons.cacheFailed | quote }} + {{- end }} + {{- if eq .Values.vaultwarden.admin.enabled true }} + {{- if eq .Values.vaultwarden.admin.disableAdminToken true }} + DISABLE_ADMIN_TOKEN: "true" + {{- end }} + {{- end }} + {{- if eq .Values.vaultwarden.yubico.enabled true }} + {{- if .Values.vaultwarden.yubico.server }} + YUBICO_SERVER: {{ .Values.vaultwarden.yubico.server | quote }} + {{- end }} + {{- end }} + {{- if eq .Values.database.type "sqlite" }} + ENABLE_DB_WAL: {{ .Values.database.wal | quote }} + {{- else }} + ENABLE_DB_WAL: "false" + {{- end }} +{{- end -}} diff --git a/stable/vaultwarden/13.0.0/templates/_secrets.tpl b/stable/vaultwarden/13.0.0/templates/_secrets.tpl new file mode 100644 index 0000000000..ca5ec74b0a --- /dev/null +++ b/stable/vaultwarden/13.0.0/templates/_secrets.tpl @@ -0,0 +1,36 @@ +{{/* Define the secrets */}} +{{- define "vaultwarden.secrets" -}} + +{{- $adminToken := "" }} +{{- if eq .Values.vaultwarden.admin.enabled true }} +{{- $adminToken = .Values.vaultwarden.admin.token | default (randAlphaNum 48) | b64enc | quote }} +{{- end -}} + +{{- $smtpUser := "" }} +{{- if and (eq .Values.vaultwarden.smtp.enabled true ) (.Values.vaultwarden.smtp.user) }} +{{- $smtpUser = .Values.vaultwarden.smtp.user | b64enc | quote }} +{{- end -}} + +{{- $yubicoClientId := "" }} +{{- if eq .Values.vaultwarden.yubico.enabled true }} +{{- $yubicoClientId = required "Yubico Client ID required" .Values.vaultwarden.yubico.clientId | toString | b64enc | quote }} +{{- end -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + name: vaultwardensecret +data: + {{- if ne $adminToken "" }} + ADMIN_TOKEN: {{ $adminToken }} + {{- end }} + {{- if ne $smtpUser "" }} + SMTP_USERNAME: {{ $smtpUser }} + SMTP_PASSWORD: {{ required "Must specify SMTP password" .Values.vaultwarden.smtp.password | b64enc | quote }} + {{- end }} + {{- if ne $yubicoClientId "" }} + YUBICO_CLIENT_ID: {{ $yubicoClientId }} + YUBICO_SECRET_KEY: {{ required "Yubico Secret Key required" .Values.vaultwarden.yubico.secretKey | b64enc | quote }} + {{- end }} +{{- end -}} diff --git a/stable/vaultwarden/13.0.0/templates/_validate.tpl b/stable/vaultwarden/13.0.0/templates/_validate.tpl new file mode 100644 index 0000000000..e4832c2f6e --- /dev/null +++ b/stable/vaultwarden/13.0.0/templates/_validate.tpl @@ -0,0 +1,17 @@ +{{/* +Ensure valid DB type is select, defaults to SQLite +*/}} +{{- define "vaultwarden.dbTypeValid" -}} +{{- if not (or (eq .Values.database.type "postgresql") (eq .Values.database.type "mysql") (eq .Values.database.type "sqlite")) }} +{{- required "Invalid database type" nil }} +{{- end -}} +{{- end -}} + +{{/* +Ensure log type is valid +*/}} +{{- define "vaultwarden.logLevelValid" -}} +{{- if not (or (eq .Values.vaultwarden.log.level "trace") (eq .Values.vaultwarden.log.level "debug") (eq .Values.vaultwarden.log.level "info") (eq .Values.vaultwarden.log.level "warn") (eq .Values.vaultwarden.log.level "error") (eq .Values.vaultwarden.log.level "off")) }} +{{- required "Invalid log level" nil }} +{{- end }} +{{- end }} diff --git a/stable/vaultwarden/13.0.0/templates/common.yaml b/stable/vaultwarden/13.0.0/templates/common.yaml new file mode 100644 index 0000000000..23381ff8a0 --- /dev/null +++ b/stable/vaultwarden/13.0.0/templates/common.yaml @@ -0,0 +1,38 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.setup" . }} + + +{{/* Render configmap for vaultwarden */}} +{{- include "vaultwarden.configmap" . }} + +{{/* Render secrets for vaultwarden */}} +{{- include "vaultwarden.secrets" . }} + +{{/* Define path for websocket */}} +{{- define "vaultwarden.websocket" -}} +path: "/notifications/hub" +# -- Ignored if not kubeVersion >= 1.14-0 +pathType: Prefix +service: + # -- Overrides the service name reference for this path + name: ws + port: {{ .Values.service.ws.ports.ws.port }} +{{- end -}} + +{{/* inject websocket path to all main ingress hosts*/}} +{{- define "vaultwarden.websocketinjector" -}} +{{- $path := list (include "vaultwarden.websocket" . | fromYaml) -}} +{{- if .Values.ingress.main.enabled }} +{{- range .Values.ingress.main.hosts }} +{{- $newpaths := list }} +{{- $newpaths := concat .paths $path }} +{{- $_ := set . "paths" ( deepCopy $newpaths ) -}} +{{- end }} +{{- end }} +{{- end -}} + +{{/* inject websocket paths in ingress */}} +{{- include "vaultwarden.websocketinjector" . }} + +{{/* Render the templates */}} +{{ include "common.postSetup" . }} diff --git a/stable/vaultwarden/13.0.0/values.yaml b/stable/vaultwarden/13.0.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2