From 637265cd8514c9c8af6b7ae7930d5487dcfa96d6 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 15 Jun 2021 10:09:11 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.1.4/Chart.lock | 2 +- develop/prototype-gui/1.2.4/Chart.lock | 2 +- incubator/airsonic/1.1.4/Chart.lock | 2 +- incubator/appdaemon/3.1.4/Chart.lock | 2 +- incubator/bazarr/6.1.4/Chart.lock | 2 +- incubator/calibre-web/6.1.4/Chart.lock | 2 +- incubator/deluge/6.1.4/Chart.lock | 2 +- incubator/fireflyiii/4.2.0/CONFIG.md | 8 + incubator/fireflyiii/4.2.0/Chart.lock | 9 + incubator/fireflyiii/4.2.0/Chart.yaml | 30 + incubator/fireflyiii/4.2.0/README.md | 54 + incubator/fireflyiii/4.2.0/app-readme.md | 3 + .../fireflyiii/4.2.0/charts/common-6.3.5.tgz | Bin 0 -> 22918 bytes .../4.2.0/charts/postgresql-10.5.0.tgz | Bin 0 -> 49174 bytes incubator/fireflyiii/4.2.0/ix_values.yaml | 51 + incubator/fireflyiii/4.2.0/questions.yaml | 827 ++++++++++++ .../fireflyiii/4.2.0/templates/common.yaml | 5 + .../fireflyiii/4.2.0/templates/secrets.yaml | 19 + incubator/fireflyiii/4.2.0/test_values.yaml | 82 ++ incubator/fireflyiii/4.2.0/values.yaml | 0 incubator/freshrss/6.1.4/Chart.lock | 2 +- incubator/gaps/6.1.4/Chart.lock | 2 +- incubator/grocy/6.1.4/Chart.lock | 2 +- incubator/haste-server/1.1.4/Chart.lock | 2 +- incubator/heimdall/6.1.4/Chart.lock | 2 +- incubator/lazylibrarian/6.1.4/Chart.lock | 2 +- incubator/lychee/6.1.4/Chart.lock | 2 +- incubator/mealie/1.1.4/Chart.lock | 2 +- incubator/mosquitto/1.1.5/Chart.lock | 2 +- incubator/navidrome/6.1.4/Chart.lock | 2 +- incubator/node-red/6.1.4/Chart.lock | 2 +- incubator/nzbget/6.1.4/Chart.lock | 2 +- incubator/organizr/6.1.4/Chart.lock | 2 +- incubator/podgrab/4.1.4/Chart.lock | 2 +- incubator/prowlarr/1.1.4/Chart.lock | 2 +- incubator/qbittorrent/6.1.4/Chart.lock | 2 +- incubator/readarr/6.1.4/Chart.lock | 2 +- incubator/reg/1.1.4/Chart.lock | 2 +- incubator/sabnzbd/6.1.4/Chart.lock | 2 +- incubator/thelounge/1.1.4/Chart.lock | 2 +- incubator/tvheadend/7.1.4/Chart.lock | 2 +- incubator/unifi/6.1.4/Chart.lock | 2 +- incubator/unpackerr/1.1.4/Chart.lock | 2 +- stable/collabora-online/6.1.4/Chart.lock | 2 +- stable/deepstack-cpu/4.1.4/Chart.lock | 2 +- stable/emby/6.1.4/Chart.lock | 2 +- stable/esphome/6.1.4/Chart.lock | 2 +- stable/handbrake/6.1.4/Chart.lock | 2 +- stable/home-assistant/6.1.4/Chart.lock | 2 +- stable/jackett/6.1.4/Chart.lock | 2 +- stable/jellyfin/6.1.4/Chart.lock | 2 +- stable/kms/6.1.5/Chart.lock | 2 +- stable/lidarr/6.1.4/Chart.lock | 2 +- stable/ombi/6.1.4/Chart.lock | 2 +- stable/plex/5.1.5/Chart.lock | 2 +- stable/radarr/6.1.4/Chart.lock | 2 +- stable/sonarr/6.1.4/Chart.lock | 2 +- stable/syncthing/6.1.4/Chart.lock | 2 +- stable/tautulli/6.1.4/Chart.lock | 2 +- stable/traefik/6.1.4/Chart.lock | 2 +- stable/transmission/6.1.4/Chart.lock | 2 +- stable/truecommand/6.1.4/Chart.lock | 2 +- stable/vaultwarden/3.2.0/CONFIG.md | 8 + stable/vaultwarden/3.2.0/Chart.lock | 9 + stable/vaultwarden/3.2.0/Chart.yaml | 34 + stable/vaultwarden/3.2.0/README.md | 54 + stable/vaultwarden/3.2.0/app-readme.md | 3 + .../vaultwarden/3.2.0/charts/common-6.3.5.tgz | Bin 0 -> 22918 bytes .../3.2.0/charts/postgresql-10.5.0.tgz | Bin 0 -> 49174 bytes stable/vaultwarden/3.2.0/ix_values.yaml | 54 + stable/vaultwarden/3.2.0/questions.yaml | 1158 +++++++++++++++++ .../3.2.0/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.2.0/templates/_secrets.tpl | 59 + .../vaultwarden/3.2.0/templates/_validate.tpl | 17 + .../vaultwarden/3.2.0/templates/common.yaml | 11 + stable/vaultwarden/3.2.0/test_values.yaml | 172 +++ stable/vaultwarden/3.2.0/values.yaml | 0 stable/zwavejs2mqtt/6.1.4/Chart.lock | 2 +- 78 files changed, 2833 insertions(+), 50 deletions(-) create mode 100644 incubator/fireflyiii/4.2.0/CONFIG.md create mode 100644 incubator/fireflyiii/4.2.0/Chart.lock create mode 100644 incubator/fireflyiii/4.2.0/Chart.yaml create mode 100644 incubator/fireflyiii/4.2.0/README.md create mode 100644 incubator/fireflyiii/4.2.0/app-readme.md create mode 100644 incubator/fireflyiii/4.2.0/charts/common-6.3.5.tgz create mode 100644 incubator/fireflyiii/4.2.0/charts/postgresql-10.5.0.tgz create mode 100644 incubator/fireflyiii/4.2.0/ix_values.yaml create mode 100644 incubator/fireflyiii/4.2.0/questions.yaml create mode 100644 incubator/fireflyiii/4.2.0/templates/common.yaml create mode 100644 incubator/fireflyiii/4.2.0/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.2.0/test_values.yaml create mode 100644 incubator/fireflyiii/4.2.0/values.yaml create mode 100644 stable/vaultwarden/3.2.0/CONFIG.md create mode 100644 stable/vaultwarden/3.2.0/Chart.lock create mode 100644 stable/vaultwarden/3.2.0/Chart.yaml create mode 100644 stable/vaultwarden/3.2.0/README.md create mode 100644 stable/vaultwarden/3.2.0/app-readme.md create mode 100644 stable/vaultwarden/3.2.0/charts/common-6.3.5.tgz create mode 100644 stable/vaultwarden/3.2.0/charts/postgresql-10.5.0.tgz create mode 100644 stable/vaultwarden/3.2.0/ix_values.yaml create mode 100644 stable/vaultwarden/3.2.0/questions.yaml create mode 100644 stable/vaultwarden/3.2.0/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.2.0/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.2.0/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.2.0/templates/common.yaml create mode 100644 stable/vaultwarden/3.2.0/test_values.yaml create mode 100644 stable/vaultwarden/3.2.0/values.yaml diff --git a/deprecated/nzbhydra/6.1.4/Chart.lock b/deprecated/nzbhydra/6.1.4/Chart.lock index 18a0b94921d..a66cabd0925 100644 --- a/deprecated/nzbhydra/6.1.4/Chart.lock +++ b/deprecated/nzbhydra/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:12.729467747Z" +generated: "2021-06-15T10:07:49.194831961Z" diff --git a/develop/prototype-gui/1.2.4/Chart.lock b/develop/prototype-gui/1.2.4/Chart.lock index f5d14ef3e25..e32fafb53e7 100644 --- a/develop/prototype-gui/1.2.4/Chart.lock +++ b/develop/prototype-gui/1.2.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:11.713116428Z" +generated: "2021-06-15T10:07:48.193664113Z" diff --git a/incubator/airsonic/1.1.4/Chart.lock b/incubator/airsonic/1.1.4/Chart.lock index 1896637c000..9cd8679edc9 100644 --- a/incubator/airsonic/1.1.4/Chart.lock +++ b/incubator/airsonic/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:36.792315898Z" +generated: "2021-06-15T10:07:12.248900015Z" diff --git a/incubator/appdaemon/3.1.4/Chart.lock b/incubator/appdaemon/3.1.4/Chart.lock index f9e2d6a10c5..381a6dc34a2 100644 --- a/incubator/appdaemon/3.1.4/Chart.lock +++ b/incubator/appdaemon/3.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:37.789959109Z" +generated: "2021-06-15T10:07:13.461465693Z" diff --git a/incubator/bazarr/6.1.4/Chart.lock b/incubator/bazarr/6.1.4/Chart.lock index 7b293550c51..503f7700688 100644 --- a/incubator/bazarr/6.1.4/Chart.lock +++ b/incubator/bazarr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:38.755081194Z" +generated: "2021-06-15T10:07:14.541823217Z" diff --git a/incubator/calibre-web/6.1.4/Chart.lock b/incubator/calibre-web/6.1.4/Chart.lock index c3ee4ebe1b7..5fb023fc2a5 100644 --- a/incubator/calibre-web/6.1.4/Chart.lock +++ b/incubator/calibre-web/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:39.747854693Z" +generated: "2021-06-15T10:07:15.510062612Z" diff --git a/incubator/deluge/6.1.4/Chart.lock b/incubator/deluge/6.1.4/Chart.lock index 12f60c3601d..0b0493586d9 100644 --- a/incubator/deluge/6.1.4/Chart.lock +++ b/incubator/deluge/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:40.759004101Z" +generated: "2021-06-15T10:07:16.489469398Z" diff --git a/incubator/fireflyiii/4.2.0/CONFIG.md b/incubator/fireflyiii/4.2.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/incubator/fireflyiii/4.2.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 Together" guide: +https://truecharts.org/manual/linking/ + +##### 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/incubator/fireflyiii/4.2.0/Chart.lock b/incubator/fireflyiii/4.2.0/Chart.lock new file mode 100644 index 00000000000..c7dff9701d2 --- /dev/null +++ b/incubator/fireflyiii/4.2.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.5 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.0 +digest: sha256:7756aabdc391a022335a004a181e638811c196e34c363270ebe02cc95ed0eb4f +generated: "2021-06-15T10:07:20.137843324Z" diff --git a/incubator/fireflyiii/4.2.0/Chart.yaml b/incubator/fireflyiii/4.2.0/Chart.yaml new file mode 100644 index 00000000000..8b2e4442fdd --- /dev/null +++ b/incubator/fireflyiii/4.2.0/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.5 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.0 +deprecated: false +description: A free and open source personal finance manager +home: https://github.com/firefly-iii/firefly-iii/ +icon: https://www.firefly-iii.org/assets/logo/color.png +keywords: +- fireflyiii +- finacial +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: 20650065+warllo54@users.noreply.github.com + name: warllo54 + url: truecharts.org +name: fireflyiii +sources: +- https://github.com/firefly-iii/firefly-iii/ +type: application +version: 4.2.0 diff --git a/incubator/fireflyiii/4.2.0/README.md b/incubator/fireflyiii/4.2.0/README.md new file mode 100644 index 00000000000..54d181719c1 --- /dev/null +++ b/incubator/fireflyiii/4.2.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 4.1.2](https://img.shields.io/badge/Version-4.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A free and open source personal finance manager + +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://charts.bitnami.com/bitnami | postgresql | 10.4.9 | +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `fireflyiii` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `fireflyiii` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/fireflyiii/4.2.0/app-readme.md b/incubator/fireflyiii/4.2.0/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.2.0/app-readme.md @@ -0,0 +1,3 @@ +A free and open source personal finance manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A free and open source personal finance manager diff --git a/incubator/fireflyiii/4.2.0/charts/common-6.3.5.tgz b/incubator/fireflyiii/4.2.0/charts/common-6.3.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5a6f492dca7c5d1242118bbf7a7cf42884b0963b GIT binary patch literal 22918 zcmV)yK$5>7iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHcic9TI1JCfzy1^$+Sy3?soAZ&r{C4QtC5_u z$*~|3twzKqIV9M!BK!I5&%u=d2#{>u>?GpJanvMGRVV<3szRX4?s)fsY(Ki zzl`sU%WmB73}BwCpJ|q&L5#|%z&T-WzOB-T{sj_zUcllSOtS)< z78PQ{ryR_(IhueOA$d6&jV>^mRp()p%}1oDP{hiNV4jyFQXn*%!;+w4B;NCZIKUA_ zBtgIhB(Nw$4yr0q5oIYsDPd5n(eBRHc)Yv4J-9^IS6LC4lfe+w$Oc16>5#n`41qv% zS)C)*(69f#w;rzVgyZ4(>%ko2lt7%Kf&oKwh?5Dx=`{PV8gQ5u7XtuNNZYG10D!7U zCcrAFpj`fnlK8*MXqHt3rNacBpX2l*OcMp`ha$zWT>snOHa)O-G0_Tgoui3t;$R`$ zvlDKH+k<}nFXsOOCKW0lNC33Y|IMA1&$G$;ADnCUZ5%d0J16jHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k602F|_ z=73J@B1;lfC@?66=Luqv>aXDdhz~KJ95&LrD4_ErWZ!>;364R=>1QIl@k`j>t0DOwog-u4K8G#&RmNMjZ!I1`Mq!0{%UTXqwKIs4x zc#e`~VDSn%n4@ZbjtbgQF)DF^VvuJs6-))n6CA;E0@hnNR^=B3j1eeF0SUUeW<|fv z3UH{1Dc8V)ag)mo#>}@UDi9oDJPDE=?kQ3Ms z=^;uGK}`@fcn<84v4VmD_#({;I#zH=ze)P(SSoZ7^o7>^n#UHVIs5>s6fPi6=vZU5 zwBO5sDXZdw17LqyRkg0Q>gKQ@a>9W6mzo}Ld5=;c1zKP#`@syCBrC2#g6Ej9Ugsaa z=kH(B*AuWg7~na)s3$D@MTbaMVp@)m7xBX?MIc@J2)wY~=T(w`JWFsytJ7b{?8js< zV5Q_-7ej77hiSZ0t|}2Dx|WSbw*C%8p$Yi;7Y7JfT$C-9>1S4R&^BN5EFR=pyl>6P zfoDpJ;;-vz$4lxn zoHBMQ!8V0Si5Q!U3q&TA(e)S;qIZtdw`x*@XKY^2;Ro~Gc&wlt9KU-5$ZQ4~O47L>EB zN@8%10GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?PG@5M5lfd%4aq=N3fc5(3et># zk`0wu5Cw3_mYFpGIUrnu3zQ-%Ut&;|IK42|L_p9yPar``rwalxO5T-RKvAT5mRGbC zV^CBe0Oh71uc>>-<{Ih&A36 z#&X&rXiCK-6$(_UJ!5=Lug|miniBw{2$iMev!)h;DNay0;KZsG=Xn3*0ZJFF z1<$BrAZX&v7aXNSU|M8z)tTiQKp)^dr#yQGeqx*g1*brcFRCWYvo)^y@WK>7hY7B5 zl7Mr>3k_jB$0?=bG*1*WPhY+{e!YMC^8Jtduiw3#fWXmAUXzX}AMK3p6)G475vz=% z!|W=(f<+AWk6+QsCkQDsi&{fPiU=x0oQ>ivDn|sCm*ohjzoLi?V@Ti-=1i{8&KYUF zI+VRSL?803M8iCbhtymu=DaLz<&Ts!))BI;M?W0Ce1Ek6<|UUM08BAT;tz0a8_V)4Wa~=e8q|JbczZ(qzRP~Y;d1nbNLd@P+U=&FY6u9YDWwOcm~SrlA!sJ zwq+OujA43#imWP!H6cFe=mYIg zOu#HF*_uL!J;CY4K)#Sm_fIpF3Q#g5SLX{4@yhE=u-i5c92xm z!v7W*C81O1dtUc!paD@bpCLNrLW{|tK(8JEJT-9Rl2>HnE%0D+)uOUI94JB=_w?#g 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 B`?~-D literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.2.0/charts/postgresql-10.5.0.tgz b/incubator/fireflyiii/4.2.0/charts/postgresql-10.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72309c29cf1d0e33056d63289d1a13899aa50d30 GIT binary patch literal 49174 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 literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.2.0/ix_values.yaml b/incubator/fireflyiii/4.2.0/ix_values.yaml new file mode 100644 index 00000000000..a8ea761002b --- /dev/null +++ b/incubator/fireflyiii/4.2.0/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: fireflyiii + DB_DATABASE: fireflyiii + DB_CONNECTION: pgsql + DB_PORT: 5432 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: fireflyiii + postgresqlDatabase: fireflyiii + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/incubator/fireflyiii/4.2.0/questions.yaml b/incubator/fireflyiii/4.2.0/questions.yaml new file mode 100644 index 00000000000..92b348d265b --- /dev/null +++ b/incubator/fireflyiii/4.2.0/questions.yaml @@ -0,0 +1,827 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + # Docker specific env + - 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: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + required: true + - 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: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36048 + required: true + + - 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 + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/incubator/fireflyiii/4.2.0/templates/common.yaml b/incubator/fireflyiii/4.2.0/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/4.2.0/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/fireflyiii/4.2.0/templates/secrets.yaml b/incubator/fireflyiii/4.2.0/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/4.2.0/templates/secrets.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} + postgresql_host: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque diff --git a/incubator/fireflyiii/4.2.0/test_values.yaml b/incubator/fireflyiii/4.2.0/test_values.yaml new file mode 100644 index 00000000000..d05a4af4796 --- /dev/null +++ b/incubator/fireflyiii/4.2.0/test_values.yaml @@ -0,0 +1,82 @@ +# Default values for fireflyIII. + +image: + repository: fireflyiii/core + pullPolicy: IfNotPresent + tag: version-5.5.12 + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +service: + main: + ports: + main: + port: 8080 + tcp: + enabled: true + type: ClusterIP + ports: + tcp: + enabled: true + port: 51080 + protocol: TCP + +probes: + liveness: + path: "/login" + + readiness: + path: "/login" + + startup: + path: "/login" + +env: + DB_USERNAME: firefly + DB_DATABASE: firefly + DB_CONNECTION: pgsql + DB_PORT: 5432 + APP_KEY: AGcfkCUS233ZWmBXztYbdyCs2u7kkz55 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html/storage/upload" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: firefly + postgresqlDatabase: firefly + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/incubator/fireflyiii/4.2.0/values.yaml b/incubator/fireflyiii/4.2.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/freshrss/6.1.4/Chart.lock b/incubator/freshrss/6.1.4/Chart.lock index 0700efc3c84..af94eb02d0d 100644 --- a/incubator/freshrss/6.1.4/Chart.lock +++ b/incubator/freshrss/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:48.327342408Z" +generated: "2021-06-15T10:07:24.088260552Z" diff --git a/incubator/gaps/6.1.4/Chart.lock b/incubator/gaps/6.1.4/Chart.lock index e8a22da1fda..41242113d9d 100644 --- a/incubator/gaps/6.1.4/Chart.lock +++ b/incubator/gaps/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:49.417113863Z" +generated: "2021-06-15T10:07:25.163834231Z" diff --git a/incubator/grocy/6.1.4/Chart.lock b/incubator/grocy/6.1.4/Chart.lock index 7aa1e6017e0..b0f00508109 100644 --- a/incubator/grocy/6.1.4/Chart.lock +++ b/incubator/grocy/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:50.442310621Z" +generated: "2021-06-15T10:07:26.193840747Z" diff --git a/incubator/haste-server/1.1.4/Chart.lock b/incubator/haste-server/1.1.4/Chart.lock index ecf306695c1..358104d5bbb 100644 --- a/incubator/haste-server/1.1.4/Chart.lock +++ b/incubator/haste-server/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:51.504800253Z" +generated: "2021-06-15T10:07:27.307272325Z" diff --git a/incubator/heimdall/6.1.4/Chart.lock b/incubator/heimdall/6.1.4/Chart.lock index d73d4d35ff2..6492894a5e5 100644 --- a/incubator/heimdall/6.1.4/Chart.lock +++ b/incubator/heimdall/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:52.552746347Z" +generated: "2021-06-15T10:07:28.401889863Z" diff --git a/incubator/lazylibrarian/6.1.4/Chart.lock b/incubator/lazylibrarian/6.1.4/Chart.lock index d1aa94a27cc..175f3b0d79f 100644 --- a/incubator/lazylibrarian/6.1.4/Chart.lock +++ b/incubator/lazylibrarian/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:53.481227974Z" +generated: "2021-06-15T10:07:29.488032394Z" diff --git a/incubator/lychee/6.1.4/Chart.lock b/incubator/lychee/6.1.4/Chart.lock index 166f2028c6e..befd9aede37 100644 --- a/incubator/lychee/6.1.4/Chart.lock +++ b/incubator/lychee/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:54.528664324Z" +generated: "2021-06-15T10:07:30.510628479Z" diff --git a/incubator/mealie/1.1.4/Chart.lock b/incubator/mealie/1.1.4/Chart.lock index 73373839b74..d50cf1ff137 100644 --- a/incubator/mealie/1.1.4/Chart.lock +++ b/incubator/mealie/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:55.512508062Z" +generated: "2021-06-15T10:07:31.628732788Z" diff --git a/incubator/mosquitto/1.1.5/Chart.lock b/incubator/mosquitto/1.1.5/Chart.lock index 1d341ed1301..86e2ad2e83d 100644 --- a/incubator/mosquitto/1.1.5/Chart.lock +++ b/incubator/mosquitto/1.1.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:56.461239908Z" +generated: "2021-06-15T10:07:32.610729285Z" diff --git a/incubator/navidrome/6.1.4/Chart.lock b/incubator/navidrome/6.1.4/Chart.lock index 7b5cfc41c14..b8b3b98879e 100644 --- a/incubator/navidrome/6.1.4/Chart.lock +++ b/incubator/navidrome/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:57.427362335Z" +generated: "2021-06-15T10:07:33.627384229Z" diff --git a/incubator/node-red/6.1.4/Chart.lock b/incubator/node-red/6.1.4/Chart.lock index ed0f4d107fa..1aebcf43c51 100644 --- a/incubator/node-red/6.1.4/Chart.lock +++ b/incubator/node-red/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:58.447473856Z" +generated: "2021-06-15T10:07:34.670387191Z" diff --git a/incubator/nzbget/6.1.4/Chart.lock b/incubator/nzbget/6.1.4/Chart.lock index e4bfe41d0a9..fa826095b1c 100644 --- a/incubator/nzbget/6.1.4/Chart.lock +++ b/incubator/nzbget/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:59.527205651Z" +generated: "2021-06-15T10:07:35.834723829Z" diff --git a/incubator/organizr/6.1.4/Chart.lock b/incubator/organizr/6.1.4/Chart.lock index 729d5cc86f9..e2dfd649489 100644 --- a/incubator/organizr/6.1.4/Chart.lock +++ b/incubator/organizr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:00.471235297Z" +generated: "2021-06-15T10:07:36.999723784Z" diff --git a/incubator/podgrab/4.1.4/Chart.lock b/incubator/podgrab/4.1.4/Chart.lock index 3ce886ad8f7..44aa4a62099 100644 --- a/incubator/podgrab/4.1.4/Chart.lock +++ b/incubator/podgrab/4.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:01.428953508Z" +generated: "2021-06-15T10:07:38.005235457Z" diff --git a/incubator/prowlarr/1.1.4/Chart.lock b/incubator/prowlarr/1.1.4/Chart.lock index ca2f8321766..e5075963163 100644 --- a/incubator/prowlarr/1.1.4/Chart.lock +++ b/incubator/prowlarr/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:02.743625499Z" +generated: "2021-06-15T10:07:39.079831141Z" diff --git a/incubator/qbittorrent/6.1.4/Chart.lock b/incubator/qbittorrent/6.1.4/Chart.lock index 38f85a4fa79..efcb223137e 100644 --- a/incubator/qbittorrent/6.1.4/Chart.lock +++ b/incubator/qbittorrent/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:03.763459183Z" +generated: "2021-06-15T10:07:40.083700671Z" diff --git a/incubator/readarr/6.1.4/Chart.lock b/incubator/readarr/6.1.4/Chart.lock index e998399c49f..9a9800934ea 100644 --- a/incubator/readarr/6.1.4/Chart.lock +++ b/incubator/readarr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:04.770243732Z" +generated: "2021-06-15T10:07:41.100223132Z" diff --git a/incubator/reg/1.1.4/Chart.lock b/incubator/reg/1.1.4/Chart.lock index dda6bb48e2f..2f0936b2874 100644 --- a/incubator/reg/1.1.4/Chart.lock +++ b/incubator/reg/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:05.697984057Z" +generated: "2021-06-15T10:07:42.134124449Z" diff --git a/incubator/sabnzbd/6.1.4/Chart.lock b/incubator/sabnzbd/6.1.4/Chart.lock index ed72456980c..5eaf67bfa4d 100644 --- a/incubator/sabnzbd/6.1.4/Chart.lock +++ b/incubator/sabnzbd/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:06.714338021Z" +generated: "2021-06-15T10:07:43.151917434Z" diff --git a/incubator/thelounge/1.1.4/Chart.lock b/incubator/thelounge/1.1.4/Chart.lock index 85e09c34293..5a5f043b667 100644 --- a/incubator/thelounge/1.1.4/Chart.lock +++ b/incubator/thelounge/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:07.764929698Z" +generated: "2021-06-15T10:07:44.161849312Z" diff --git a/incubator/tvheadend/7.1.4/Chart.lock b/incubator/tvheadend/7.1.4/Chart.lock index cc9a101da06..e07a45e3bef 100644 --- a/incubator/tvheadend/7.1.4/Chart.lock +++ b/incubator/tvheadend/7.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:08.77092448Z" +generated: "2021-06-15T10:07:45.179696496Z" diff --git a/incubator/unifi/6.1.4/Chart.lock b/incubator/unifi/6.1.4/Chart.lock index ad3db4a4ce8..f5c83498cbd 100644 --- a/incubator/unifi/6.1.4/Chart.lock +++ b/incubator/unifi/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:09.798091264Z" +generated: "2021-06-15T10:07:46.200627762Z" diff --git a/incubator/unpackerr/1.1.4/Chart.lock b/incubator/unpackerr/1.1.4/Chart.lock index a2f0c712c29..8d8350e43b5 100644 --- a/incubator/unpackerr/1.1.4/Chart.lock +++ b/incubator/unpackerr/1.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:08:10.752450853Z" +generated: "2021-06-15T10:07:47.210480737Z" diff --git a/stable/collabora-online/6.1.4/Chart.lock b/stable/collabora-online/6.1.4/Chart.lock index 0da7eb0ef1c..d3d19ed8f92 100644 --- a/stable/collabora-online/6.1.4/Chart.lock +++ b/stable/collabora-online/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:09.739507683Z" +generated: "2021-06-15T10:06:44.066443872Z" diff --git a/stable/deepstack-cpu/4.1.4/Chart.lock b/stable/deepstack-cpu/4.1.4/Chart.lock index 07e7d666d15..9af4f679b88 100644 --- a/stable/deepstack-cpu/4.1.4/Chart.lock +++ b/stable/deepstack-cpu/4.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:10.795977378Z" +generated: "2021-06-15T10:06:45.112952698Z" diff --git a/stable/emby/6.1.4/Chart.lock b/stable/emby/6.1.4/Chart.lock index 924bec10234..e38653799d4 100644 --- a/stable/emby/6.1.4/Chart.lock +++ b/stable/emby/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:11.750575739Z" +generated: "2021-06-15T10:06:46.163353131Z" diff --git a/stable/esphome/6.1.4/Chart.lock b/stable/esphome/6.1.4/Chart.lock index 48a5fe0d58b..50639c1db43 100644 --- a/stable/esphome/6.1.4/Chart.lock +++ b/stable/esphome/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:12.77827057Z" +generated: "2021-06-15T10:06:47.259760464Z" diff --git a/stable/handbrake/6.1.4/Chart.lock b/stable/handbrake/6.1.4/Chart.lock index 55f8db1ee66..f5aa0196ebc 100644 --- a/stable/handbrake/6.1.4/Chart.lock +++ b/stable/handbrake/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:13.924139222Z" +generated: "2021-06-15T10:06:48.350271991Z" diff --git a/stable/home-assistant/6.1.4/Chart.lock b/stable/home-assistant/6.1.4/Chart.lock index ebe8ee2dd58..c14d55c201d 100644 --- a/stable/home-assistant/6.1.4/Chart.lock +++ b/stable/home-assistant/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:14.927088409Z" +generated: "2021-06-15T10:06:49.427141589Z" diff --git a/stable/jackett/6.1.4/Chart.lock b/stable/jackett/6.1.4/Chart.lock index 07933f5180a..66f92d4aab6 100644 --- a/stable/jackett/6.1.4/Chart.lock +++ b/stable/jackett/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:15.961472571Z" +generated: "2021-06-15T10:06:50.479052087Z" diff --git a/stable/jellyfin/6.1.4/Chart.lock b/stable/jellyfin/6.1.4/Chart.lock index 55654d5d5f3..13cabbee523 100644 --- a/stable/jellyfin/6.1.4/Chart.lock +++ b/stable/jellyfin/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:16.951474415Z" +generated: "2021-06-15T10:06:51.623206503Z" diff --git a/stable/kms/6.1.5/Chart.lock b/stable/kms/6.1.5/Chart.lock index 0d17b603b88..2e2a90c1250 100644 --- a/stable/kms/6.1.5/Chart.lock +++ b/stable/kms/6.1.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:18.024642489Z" +generated: "2021-06-15T10:06:52.709584047Z" diff --git a/stable/lidarr/6.1.4/Chart.lock b/stable/lidarr/6.1.4/Chart.lock index daa91399d33..d5639555000 100644 --- a/stable/lidarr/6.1.4/Chart.lock +++ b/stable/lidarr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:18.955338686Z" +generated: "2021-06-15T10:06:53.903705887Z" diff --git a/stable/ombi/6.1.4/Chart.lock b/stable/ombi/6.1.4/Chart.lock index a0b54eb1a4e..e28e9b5f2db 100644 --- a/stable/ombi/6.1.4/Chart.lock +++ b/stable/ombi/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:19.943220931Z" +generated: "2021-06-15T10:06:54.919496934Z" diff --git a/stable/plex/5.1.5/Chart.lock b/stable/plex/5.1.5/Chart.lock index 1caab75eb76..61ec496b66f 100644 --- a/stable/plex/5.1.5/Chart.lock +++ b/stable/plex/5.1.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:20.937434813Z" +generated: "2021-06-15T10:06:56.006690155Z" diff --git a/stable/radarr/6.1.4/Chart.lock b/stable/radarr/6.1.4/Chart.lock index f1754a8c68c..1c2db08a932 100644 --- a/stable/radarr/6.1.4/Chart.lock +++ b/stable/radarr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:21.952985403Z" +generated: "2021-06-15T10:06:57.165198246Z" diff --git a/stable/sonarr/6.1.4/Chart.lock b/stable/sonarr/6.1.4/Chart.lock index 2d2c70f475e..329707d5370 100644 --- a/stable/sonarr/6.1.4/Chart.lock +++ b/stable/sonarr/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:22.895874134Z" +generated: "2021-06-15T10:06:58.262534348Z" diff --git a/stable/syncthing/6.1.4/Chart.lock b/stable/syncthing/6.1.4/Chart.lock index 35c748a458b..fb16d2ce975 100644 --- a/stable/syncthing/6.1.4/Chart.lock +++ b/stable/syncthing/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:23.863666566Z" +generated: "2021-06-15T10:06:59.29037433Z" diff --git a/stable/tautulli/6.1.4/Chart.lock b/stable/tautulli/6.1.4/Chart.lock index a5727237fe1..ac08ae081bc 100644 --- a/stable/tautulli/6.1.4/Chart.lock +++ b/stable/tautulli/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:24.876497801Z" +generated: "2021-06-15T10:07:00.427017917Z" diff --git a/stable/traefik/6.1.4/Chart.lock b/stable/traefik/6.1.4/Chart.lock index 070b0d47723..5a347b6d31d 100644 --- a/stable/traefik/6.1.4/Chart.lock +++ b/stable/traefik/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:25.836178221Z" +generated: "2021-06-15T10:07:01.578550715Z" diff --git a/stable/transmission/6.1.4/Chart.lock b/stable/transmission/6.1.4/Chart.lock index 6c83f1a0bcb..16b547ff7ec 100644 --- a/stable/transmission/6.1.4/Chart.lock +++ b/stable/transmission/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:26.837588885Z" +generated: "2021-06-15T10:07:02.619787604Z" diff --git a/stable/truecommand/6.1.4/Chart.lock b/stable/truecommand/6.1.4/Chart.lock index 907be1ee96b..8081a147d50 100644 --- a/stable/truecommand/6.1.4/Chart.lock +++ b/stable/truecommand/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:27.952086956Z" +generated: "2021-06-15T10:07:03.650419963Z" diff --git a/stable/vaultwarden/3.2.0/CONFIG.md b/stable/vaultwarden/3.2.0/CONFIG.md new file mode 100644 index 00000000000..6d760c18421 --- /dev/null +++ b/stable/vaultwarden/3.2.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 Together" guide: +https://truecharts.org/manual/linking/ + +##### 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/3.2.0/Chart.lock b/stable/vaultwarden/3.2.0/Chart.lock new file mode 100644 index 00000000000..35ffdcf51be --- /dev/null +++ b/stable/vaultwarden/3.2.0/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.5 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.0 +digest: sha256:7756aabdc391a022335a004a181e638811c196e34c363270ebe02cc95ed0eb4f +generated: "2021-06-15T10:07:07.381219353Z" diff --git a/stable/vaultwarden/3.2.0/Chart.yaml b/stable/vaultwarden/3.2.0/Chart.yaml new file mode 100644 index 00000000000..e9ee54ffc70 --- /dev/null +++ b/stable/vaultwarden/3.2.0/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.3.5 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.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: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: vaultwarden +sources: +- https://github.com/dani-garcia/vaultwarden +type: application +version: 3.2.0 diff --git a/stable/vaultwarden/3.2.0/README.md b/stable/vaultwarden/3.2.0/README.md new file mode 100644 index 00000000000..bb4095ca30b --- /dev/null +++ b/stable/vaultwarden/3.2.0/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.2](https://img.shields.io/badge/Version-3.1.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +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://charts.bitnami.com/bitnami | postgresql | 10.4.9 | +| https://truecharts.org/ | common | 6.3.4 | + +## Installing the Chart + +To install the chart with the release name `vaultwarden` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `vaultwarden` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/vaultwarden/3.2.0/app-readme.md b/stable/vaultwarden/3.2.0/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.2.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 +Unofficial Bitwarden compatible server written in Rust diff --git a/stable/vaultwarden/3.2.0/charts/common-6.3.5.tgz b/stable/vaultwarden/3.2.0/charts/common-6.3.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5a6f492dca7c5d1242118bbf7a7cf42884b0963b GIT binary patch literal 22918 zcmV)yK$5>7iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHcic9TI1JCfzy1^$+Sy3?soAZ&r{C4QtC5_u z$*~|3twzKqIV9M!BK!I5&%u=d2#{>u>?GpJanvMGRVV<3szRX4?s)fsY(Ki zzl`sU%WmB73}BwCpJ|q&L5#|%z&T-WzOB-T{sj_zUcllSOtS)< z78PQ{ryR_(IhueOA$d6&jV>^mRp()p%}1oDP{hiNV4jyFQXn*%!;+w4B;NCZIKUA_ zBtgIhB(Nw$4yr0q5oIYsDPd5n(eBRHc)Yv4J-9^IS6LC4lfe+w$Oc16>5#n`41qv% zS)C)*(69f#w;rzVgyZ4(>%ko2lt7%Kf&oKwh?5Dx=`{PV8gQ5u7XtuNNZYG10D!7U zCcrAFpj`fnlK8*MXqHt3rNacBpX2l*OcMp`ha$zWT>snOHa)O-G0_Tgoui3t;$R`$ zvlDKH+k<}nFXsOOCKW0lNC33Y|IMA1&$G$;ADnCUZ5%d0J16jHLa3_4n#3*e-Nb&D6||(2`&&T17bAADW=k602F|_ z=73J@B1;lfC@?66=Luqv>aXDdhz~KJ95&LrD4_ErWZ!>;364R=>1QIl@k`j>t0DOwog-u4K8G#&RmNMjZ!I1`Mq!0{%UTXqwKIs4x zc#e`~VDSn%n4@ZbjtbgQF)DF^VvuJs6-))n6CA;E0@hnNR^=B3j1eeF0SUUeW<|fv z3UH{1Dc8V)ag)mo#>}@UDi9oDJPDE=?kQ3Ms z=^;uGK}`@fcn<84v4VmD_#({;I#zH=ze)P(SSoZ7^o7>^n#UHVIs5>s6fPi6=vZU5 zwBO5sDXZdw17LqyRkg0Q>gKQ@a>9W6mzo}Ld5=;c1zKP#`@syCBrC2#g6Ej9Ugsaa z=kH(B*AuWg7~na)s3$D@MTbaMVp@)m7xBX?MIc@J2)wY~=T(w`JWFsytJ7b{?8js< zV5Q_-7ej77hiSZ0t|}2Dx|WSbw*C%8p$Yi;7Y7JfT$C-9>1S4R&^BN5EFR=pyl>6P zfoDpJ;;-vz$4lxn zoHBMQ!8V0Si5Q!U3q&TA(e)S;qIZtdw`x*@XKY^2;Ro~Gc&wlt9KU-5$ZQ4~O47L>EB zN@8%10GAo@0EoY2vn4dGR{+TXjAQyg+7A{?hg6j?PG@5M5lfd%4aq=N3fc5(3et># zk`0wu5Cw3_mYFpGIUrnu3zQ-%Ut&;|IK42|L_p9yPar``rwalxO5T-RKvAT5mRGbC zV^CBe0Oh71uc>>-<{Ih&A36 z#&X&rXiCK-6$(_UJ!5=Lug|miniBw{2$iMev!)h;DNay0;KZsG=Xn3*0ZJFF z1<$BrAZX&v7aXNSU|M8z)tTiQKp)^dr#yQGeqx*g1*brcFRCWYvo)^y@WK>7hY7B5 zl7Mr>3k_jB$0?=bG*1*WPhY+{e!YMC^8Jtduiw3#fWXmAUXzX}AMK3p6)G475vz=% z!|W=(f<+AWk6+QsCkQDsi&{fPiU=x0oQ>ivDn|sCm*ohjzoLi?V@Ti-=1i{8&KYUF zI+VRSL?803M8iCbhtymu=DaLz<&Ts!))BI;M?W0Ce1Ek6<|UUM08BAT;tz0a8_V)4Wa~=e8q|JbczZ(qzRP~Y;d1nbNLd@P+U=&FY6u9YDWwOcm~SrlA!sJ zwq+OujA43#imWP!H6cFe=mYIg zOu#HF*_uL!J;CY4K)#Sm_fIpF3Q#g5SLX{4@yhE=u-i5c92xm z!v7W*C81O1dtUc!paD@bpCLNrLW{|tK(8JEJT-9Rl2>HnE%0D+)uOUI94JB=_w?#g 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 B`?~-D literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.2.0/charts/postgresql-10.5.0.tgz b/stable/vaultwarden/3.2.0/charts/postgresql-10.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..72309c29cf1d0e33056d63289d1a13899aa50d30 GIT binary patch literal 49174 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 literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.2.0/ix_values.yaml b/stable/vaultwarden/3.2.0/ix_values.yaml new file mode 100644 index 00000000000..2ee0d5ef921 --- /dev/null +++ b/stable/vaultwarden/3.2.0/ix_values.yaml @@ -0,0 +1,54 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +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: false + ## 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: 30 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: homeassistant + postgresqlDatabase: homeassistant + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/vaultwarden/3.2.0/questions.yaml b/stable/vaultwarden/3.2.0/questions.yaml new file mode 100644 index 00000000000..74a7047a4b1 --- /dev/null +++ b/stable/vaultwarden/3.2.0/questions.yaml @@ -0,0 +1,1158 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + - variable: 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: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Configure Enviroment Variables + - variable: envList + label: "Image environment" + group: "Container Configuration" + schema: + type: list + default: [] + items: + - variable: envItem + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: hostNetwork + group: "Networking and Services" + label: "Enable Host Networking" + schema: + type: boolean + default: false + + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service Type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8080 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36000 + required: true + - 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: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - value: "LoadBalancer" + description: "LoadBalancer" + - variable: loadBalancerIP + label: "LoadBalancer IP" + description: "LoadBalancerIP" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: "External IP" + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + type: dict + attrs: + - variable: ws + label: "WebSocket Service Port Configuration" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + hidden: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "Container Port" + schema: + type: int + default: 3012 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3012 + editable: true + required: true + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort" + schema: + type: int + min: 9000 + max: 65535 + default: 36001 + required: true + + - 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 + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: forceName + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "SCALE-ZFS" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PV" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + - variable: persistenceList + label: "Additional app storage" + group: "Storage and Persistence" + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "hostPath" + enum: + - value: "pvc" + description: "pvc" + - value: "emptyDir" + description: "emptyDir" + - value: "hostPath" + description: "hostPath" + - variable: storageClass + label: "(Advanced) storageClass" + description: " Warning: Anything other than SCALE-ZFS will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "SCALE-ZFS" + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: "readOnly" + schema: + type: boolean + default: false + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: hostPathType + label: "hostPath Type" + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "DirectoryOrCreate" + description: "DirectoryOrCreate" + - value: "Directory" + description: "Directory" + - value: "FileOrCreate" + description: "FileOrCreate" + - value: "File" + description: "File" + - value: "Socket" + description: "Socket" + - value: "CharDevice" + description: "CharDevice" + - value: "BlockDevice" + description: "BlockDevice" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "100Gi" + + - variable: ingress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: 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: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: resources + group: "Resources and Devices" + label: "" + schema: + type: dict + attrs: + - variable: limits + label: "Advanced Limit Resource Consumption" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "2000m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "2Gi" + - variable: requests + label: "Advanced Request minimum resources required" + schema: + type: dict + attrs: + - variable: cpu + label: "CPU" + schema: + type: string + default: "10m" + - variable: memory + label: "Memory RAM" + schema: + type: string + default: "50Mi" diff --git a/stable/vaultwarden/3.2.0/templates/_configmap.tpl b/stable/vaultwarden/3.2.0/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/3.2.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/3.2.0/templates/_secrets.tpl b/stable/vaultwarden/3.2.0/templates/_secrets.tpl new file mode 100644 index 00000000000..6a7bf408bb8 --- /dev/null +++ b/stable/vaultwarden/3.2.0/templates/_secrets.tpl @@ -0,0 +1,59 @@ +{{/* 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 }} + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} +type: Opaque +{{- end -}} diff --git a/stable/vaultwarden/3.2.0/templates/_validate.tpl b/stable/vaultwarden/3.2.0/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/3.2.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/3.2.0/templates/common.yaml b/stable/vaultwarden/3.2.0/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/3.2.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for vaultwarden */}} +{{- include "vaultwarden.configmap" . }} + +{{/* Render secrets for vaultwarden */}} +{{- include "vaultwarden.secrets" . }} diff --git a/stable/vaultwarden/3.2.0/test_values.yaml b/stable/vaultwarden/3.2.0/test_values.yaml new file mode 100644 index 00000000000..04437141023 --- /dev/null +++ b/stable/vaultwarden/3.2.0/test_values.yaml @@ -0,0 +1,172 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.21.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 8080 + ws: + ports: + ws: + enabled: true + port: 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" + type: emptyDir + + db: + forceName: "db" + enabled: true + type: emptyDir + + dbbackup: + enabled: true + type: emptyDir + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: vaultwarden + postgresqlDatabase: vaultwarden + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/stable/vaultwarden/3.2.0/values.yaml b/stable/vaultwarden/3.2.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.1.4/Chart.lock b/stable/zwavejs2mqtt/6.1.4/Chart.lock index 174b5098dd1..a263cfef285 100644 --- a/stable/zwavejs2mqtt/6.1.4/Chart.lock +++ b/stable/zwavejs2mqtt/6.1.4/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.3.5 digest: sha256:eb3a129f62a024ad0e23386e86242ee5db9bcfa15ac69688723f295b778b9398 -generated: "2021-06-15T01:07:35.75162888Z" +generated: "2021-06-15T10:07:11.221443573Z"