From 59ef51b1554d3747a4dcbc197e53c5b30306f980 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 20 Jul 2021 08:39:50 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- deprecated/nzbhydra/6.4.1/Chart.lock | 2 +- develop/prototype-gui/1.5.1/Chart.lock | 2 +- incubator/airsonic/1.4.0/Chart.lock | 2 +- incubator/appdaemon/3.4.1/Chart.lock | 2 +- incubator/bazarr/6.4.0/Chart.lock | 2 +- incubator/booksonic-air/1.2.0/Chart.lock | 2 +- incubator/calibre-web/6.4.0/Chart.lock | 2 +- incubator/calibre/1.2.1/Chart.lock | 2 +- incubator/deconz/1.2.0/Chart.lock | 2 +- incubator/deluge/6.4.0/Chart.lock | 2 +- incubator/dizquetv/1.2.0/Chart.lock | 2 +- incubator/duplicati/1.2.0/Chart.lock | 2 +- incubator/fireflyiii/4.5.2/CONFIG.md | 9 + incubator/fireflyiii/4.5.2/Chart.lock | 9 + incubator/fireflyiii/4.5.2/Chart.yaml | 30 + incubator/fireflyiii/4.5.2/README.md | 55 + incubator/fireflyiii/4.5.2/app-readme.md | 3 + .../fireflyiii/4.5.2/charts/common-6.6.1.tgz | Bin 0 -> 23559 bytes .../4.5.2/charts/postgresql-10.5.3.tgz | Bin 0 -> 50647 bytes incubator/fireflyiii/4.5.2/ix_values.yaml | 51 + incubator/fireflyiii/4.5.2/questions.yaml | 866 ++++++++++++ .../fireflyiii/4.5.2/templates/common.yaml | 5 + .../fireflyiii/4.5.2/templates/secrets.yaml | 19 + incubator/fireflyiii/4.5.2/test_values.yaml | 82 ++ incubator/fireflyiii/4.5.2/values.yaml | 0 incubator/flaresolverr/1.2.0/Chart.lock | 2 +- incubator/flood/1.2.0/Chart.lock | 2 +- incubator/focalboard/1.2.1/Chart.lock | 2 +- incubator/freshrss/6.4.0/Chart.lock | 2 +- incubator/gaps/6.4.0/Chart.lock | 2 +- incubator/gonic/1.2.0/Chart.lock | 2 +- incubator/grocy/6.4.0/Chart.lock | 2 +- incubator/haste-server/1.4.0/Chart.lock | 2 +- incubator/healthchecks/1.2.0/Chart.lock | 2 +- incubator/heimdall/6.4.0/Chart.lock | 2 +- incubator/hyperion-ng/1.2.0/Chart.lock | 2 +- incubator/komga/1.2.1/Chart.lock | 2 +- incubator/lazylibrarian/6.4.0/Chart.lock | 2 +- incubator/librespeed/1.2.1/Chart.lock | 2 +- incubator/lychee/6.4.1/Chart.lock | 2 +- incubator/mealie/1.4.0/Chart.lock | 2 +- incubator/mosquitto/1.4.0/Chart.lock | 2 +- incubator/mylar/1.2.0/Chart.lock | 2 +- incubator/navidrome/6.4.0/Chart.lock | 2 +- incubator/node-red/6.4.0/Chart.lock | 2 +- incubator/nullserv/1.2.0/Chart.lock | 2 +- incubator/nzbget/6.4.0/Chart.lock | 2 +- incubator/octoprint/1.2.0/Chart.lock | 2 +- incubator/omada-controller/1.2.0/Chart.lock | 2 +- incubator/organizr/6.4.0/Chart.lock | 2 +- incubator/overseerr/1.2.0/Chart.lock | 2 +- incubator/owncast/1.2.0/Chart.lock | 2 +- incubator/owncloud-ocis/1.2.1/Chart.lock | 2 +- incubator/photoprism/1.2.1/Chart.lock | 2 +- incubator/piaware/1.2.0/Chart.lock | 2 +- incubator/podgrab/4.4.0/Chart.lock | 2 +- .../pretend-youre-xyzzy/1.2.0/Chart.lock | 2 +- incubator/protonmail-bridge/1.2.0/Chart.lock | 2 +- incubator/prowlarr/1.4.1/Chart.lock | 2 +- incubator/pyload/1.2.0/Chart.lock | 2 +- incubator/qbittorrent/6.4.0/Chart.lock | 2 +- incubator/readarr/6.4.1/Chart.lock | 2 +- incubator/reg/1.4.0/Chart.lock | 2 +- incubator/sabnzbd/6.4.0/Chart.lock | 2 +- incubator/ser2sock/1.2.0/Chart.lock | 2 +- incubator/stash/1.2.0/Chart.lock | 2 +- incubator/thelounge/1.4.0/Chart.lock | 2 +- incubator/tvheadend/7.4.0/Chart.lock | 2 +- incubator/unifi/6.4.0/Chart.lock | 2 +- incubator/unpackerr/1.4.0/Chart.lock | 2 +- incubator/xteve/1.2.0/Chart.lock | 2 +- non-free/resilio-sync/1.2.0/Chart.lock | 2 +- stable/collabora-online/6.4.1/Chart.lock | 2 +- stable/deepstack-cpu/4.4.0/Chart.lock | 2 +- stable/emby/6.4.0/Chart.lock | 2 +- stable/esphome/6.4.0/Chart.lock | 2 +- stable/freeradius/1.0.0/Chart.lock | 2 +- stable/handbrake/6.4.0/Chart.lock | 2 +- stable/home-assistant/6.4.1/Chart.lock | 2 +- stable/jackett/6.4.1/Chart.lock | 2 +- stable/jellyfin/6.4.0/Chart.lock | 2 +- stable/kms/6.4.0/Chart.lock | 2 +- stable/lidarr/6.4.0/Chart.lock | 2 +- stable/nextcloud/1.3.1/CONFIG.md | 9 + stable/nextcloud/1.3.1/Chart.lock | 12 + stable/nextcloud/1.3.1/Chart.yaml | 39 + stable/nextcloud/1.3.1/README.md | 57 + stable/nextcloud/1.3.1/app-readme.md | 1 + .../nextcloud/1.3.1/charts/common-6.6.1.tgz | Bin 0 -> 23559 bytes .../1.3.1/charts/postgresql-10.5.3.tgz | Bin 0 -> 50647 bytes .../nextcloud/1.3.1/charts/redis-14.7.2.tgz | Bin 0 -> 78370 bytes stable/nextcloud/1.3.1/ix_values.yaml | 186 +++ stable/nextcloud/1.3.1/questions.yaml | 1055 +++++++++++++++ .../nextcloud/1.3.1/templates/_configmap.tpl | 33 + stable/nextcloud/1.3.1/templates/_cronjob.tpl | 51 + stable/nextcloud/1.3.1/templates/_secrets.tpl | 50 + stable/nextcloud/1.3.1/templates/common.yaml | 14 + stable/nextcloud/1.3.1/test_values.yaml | 224 ++++ stable/nextcloud/1.3.1/values.yaml | 0 stable/ombi/6.4.1/Chart.lock | 2 +- stable/openldap/1.0.2/Chart.lock | 2 +- stable/pgadmin/1.1.0/Chart.lock | 2 +- stable/phpldapadmin/1.1.0/Chart.lock | 2 +- stable/plex/5.4.1/Chart.lock | 2 +- stable/radarr/6.4.0/Chart.lock | 2 +- stable/sonarr/6.4.0/Chart.lock | 2 +- stable/syncthing/6.4.0/Chart.lock | 2 +- stable/tautulli/6.4.0/Chart.lock | 2 +- stable/traefik/6.6.0/Chart.lock | 2 +- stable/transmission/6.4.0/Chart.lock | 2 +- stable/truecommand/6.4.0/Chart.lock | 2 +- stable/vaultwarden/3.5.1/CONFIG.md | 9 + stable/vaultwarden/3.5.1/Chart.lock | 9 + stable/vaultwarden/3.5.1/Chart.yaml | 34 + stable/vaultwarden/3.5.1/README.md | 55 + stable/vaultwarden/3.5.1/app-readme.md | 3 + .../vaultwarden/3.5.1/charts/common-6.6.1.tgz | Bin 0 -> 23559 bytes .../3.5.1/charts/postgresql-10.5.3.tgz | Bin 0 -> 50647 bytes stable/vaultwarden/3.5.1/ix_values.yaml | 54 + stable/vaultwarden/3.5.1/questions.yaml | 1193 +++++++++++++++++ .../3.5.1/templates/_configmap.tpl | 116 ++ .../vaultwarden/3.5.1/templates/_secrets.tpl | 59 + .../vaultwarden/3.5.1/templates/_validate.tpl | 17 + .../vaultwarden/3.5.1/templates/common.yaml | 11 + stable/vaultwarden/3.5.1/test_values.yaml | 172 +++ stable/vaultwarden/3.5.1/values.yaml | 0 stable/zwavejs2mqtt/6.4.0/Chart.lock | 2 +- 127 files changed, 4675 insertions(+), 83 deletions(-) create mode 100644 incubator/fireflyiii/4.5.2/CONFIG.md create mode 100644 incubator/fireflyiii/4.5.2/Chart.lock create mode 100644 incubator/fireflyiii/4.5.2/Chart.yaml create mode 100644 incubator/fireflyiii/4.5.2/README.md create mode 100644 incubator/fireflyiii/4.5.2/app-readme.md create mode 100644 incubator/fireflyiii/4.5.2/charts/common-6.6.1.tgz create mode 100644 incubator/fireflyiii/4.5.2/charts/postgresql-10.5.3.tgz create mode 100644 incubator/fireflyiii/4.5.2/ix_values.yaml create mode 100644 incubator/fireflyiii/4.5.2/questions.yaml create mode 100644 incubator/fireflyiii/4.5.2/templates/common.yaml create mode 100644 incubator/fireflyiii/4.5.2/templates/secrets.yaml create mode 100644 incubator/fireflyiii/4.5.2/test_values.yaml create mode 100644 incubator/fireflyiii/4.5.2/values.yaml create mode 100644 stable/nextcloud/1.3.1/CONFIG.md create mode 100644 stable/nextcloud/1.3.1/Chart.lock create mode 100644 stable/nextcloud/1.3.1/Chart.yaml create mode 100644 stable/nextcloud/1.3.1/README.md create mode 100644 stable/nextcloud/1.3.1/app-readme.md create mode 100644 stable/nextcloud/1.3.1/charts/common-6.6.1.tgz create mode 100644 stable/nextcloud/1.3.1/charts/postgresql-10.5.3.tgz create mode 100644 stable/nextcloud/1.3.1/charts/redis-14.7.2.tgz create mode 100644 stable/nextcloud/1.3.1/ix_values.yaml create mode 100644 stable/nextcloud/1.3.1/questions.yaml create mode 100644 stable/nextcloud/1.3.1/templates/_configmap.tpl create mode 100644 stable/nextcloud/1.3.1/templates/_cronjob.tpl create mode 100644 stable/nextcloud/1.3.1/templates/_secrets.tpl create mode 100644 stable/nextcloud/1.3.1/templates/common.yaml create mode 100644 stable/nextcloud/1.3.1/test_values.yaml create mode 100644 stable/nextcloud/1.3.1/values.yaml create mode 100644 stable/vaultwarden/3.5.1/CONFIG.md create mode 100644 stable/vaultwarden/3.5.1/Chart.lock create mode 100644 stable/vaultwarden/3.5.1/Chart.yaml create mode 100644 stable/vaultwarden/3.5.1/README.md create mode 100644 stable/vaultwarden/3.5.1/app-readme.md create mode 100644 stable/vaultwarden/3.5.1/charts/common-6.6.1.tgz create mode 100644 stable/vaultwarden/3.5.1/charts/postgresql-10.5.3.tgz create mode 100644 stable/vaultwarden/3.5.1/ix_values.yaml create mode 100644 stable/vaultwarden/3.5.1/questions.yaml create mode 100644 stable/vaultwarden/3.5.1/templates/_configmap.tpl create mode 100644 stable/vaultwarden/3.5.1/templates/_secrets.tpl create mode 100644 stable/vaultwarden/3.5.1/templates/_validate.tpl create mode 100644 stable/vaultwarden/3.5.1/templates/common.yaml create mode 100644 stable/vaultwarden/3.5.1/test_values.yaml create mode 100644 stable/vaultwarden/3.5.1/values.yaml diff --git a/deprecated/nzbhydra/6.4.1/Chart.lock b/deprecated/nzbhydra/6.4.1/Chart.lock index 42a42a70d5f..83de4129dcc 100644 --- a/deprecated/nzbhydra/6.4.1/Chart.lock +++ b/deprecated/nzbhydra/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:59.465480128Z" +generated: "2021-07-20T08:38:54.518441318Z" diff --git a/develop/prototype-gui/1.5.1/Chart.lock b/develop/prototype-gui/1.5.1/Chart.lock index 3d3675f3a75..916849c01ad 100644 --- a/develop/prototype-gui/1.5.1/Chart.lock +++ b/develop/prototype-gui/1.5.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:55.622400813Z" +generated: "2021-07-20T08:38:50.661112446Z" diff --git a/incubator/airsonic/1.4.0/Chart.lock b/incubator/airsonic/1.4.0/Chart.lock index 6f485fd8726..add2332e77d 100644 --- a/incubator/airsonic/1.4.0/Chart.lock +++ b/incubator/airsonic/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:02.06279179Z" +generated: "2021-07-20T08:36:55.892788662Z" diff --git a/incubator/appdaemon/3.4.1/Chart.lock b/incubator/appdaemon/3.4.1/Chart.lock index fa646d005d9..1114dc83bb8 100644 --- a/incubator/appdaemon/3.4.1/Chart.lock +++ b/incubator/appdaemon/3.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:03.940983851Z" +generated: "2021-07-20T08:36:57.787439635Z" diff --git a/incubator/bazarr/6.4.0/Chart.lock b/incubator/bazarr/6.4.0/Chart.lock index 8be8fac39fb..921bc6cb2b7 100644 --- a/incubator/bazarr/6.4.0/Chart.lock +++ b/incubator/bazarr/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:05.838124217Z" +generated: "2021-07-20T08:36:59.704252089Z" diff --git a/incubator/booksonic-air/1.2.0/Chart.lock b/incubator/booksonic-air/1.2.0/Chart.lock index 52b82281dd1..cf23ffa424a 100644 --- a/incubator/booksonic-air/1.2.0/Chart.lock +++ b/incubator/booksonic-air/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:07.755405234Z" +generated: "2021-07-20T08:37:01.633042994Z" diff --git a/incubator/calibre-web/6.4.0/Chart.lock b/incubator/calibre-web/6.4.0/Chart.lock index badb488625a..e5518e76ff3 100644 --- a/incubator/calibre-web/6.4.0/Chart.lock +++ b/incubator/calibre-web/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:11.568241302Z" +generated: "2021-07-20T08:37:05.503401759Z" diff --git a/incubator/calibre/1.2.1/Chart.lock b/incubator/calibre/1.2.1/Chart.lock index 42b64c882c9..b036f2bceba 100644 --- a/incubator/calibre/1.2.1/Chart.lock +++ b/incubator/calibre/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:09.605432907Z" +generated: "2021-07-20T08:37:03.580475385Z" diff --git a/incubator/deconz/1.2.0/Chart.lock b/incubator/deconz/1.2.0/Chart.lock index 02f8920a780..7ae3de5300f 100644 --- a/incubator/deconz/1.2.0/Chart.lock +++ b/incubator/deconz/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:13.472869539Z" +generated: "2021-07-20T08:37:07.4160685Z" diff --git a/incubator/deluge/6.4.0/Chart.lock b/incubator/deluge/6.4.0/Chart.lock index 835aade6f01..35510d093e4 100644 --- a/incubator/deluge/6.4.0/Chart.lock +++ b/incubator/deluge/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:15.429643411Z" +generated: "2021-07-20T08:37:09.360109548Z" diff --git a/incubator/dizquetv/1.2.0/Chart.lock b/incubator/dizquetv/1.2.0/Chart.lock index 10b87b243c6..4ad7a35008f 100644 --- a/incubator/dizquetv/1.2.0/Chart.lock +++ b/incubator/dizquetv/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:17.350004299Z" +generated: "2021-07-20T08:37:11.260141272Z" diff --git a/incubator/duplicati/1.2.0/Chart.lock b/incubator/duplicati/1.2.0/Chart.lock index a95541b86f5..9656277934d 100644 --- a/incubator/duplicati/1.2.0/Chart.lock +++ b/incubator/duplicati/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:19.275716165Z" +generated: "2021-07-20T08:37:13.230112108Z" diff --git a/incubator/fireflyiii/4.5.2/CONFIG.md b/incubator/fireflyiii/4.5.2/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/CONFIG.md @@ -0,0 +1,9 @@ +# 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.5.2/Chart.lock b/incubator/fireflyiii/4.5.2/Chart.lock new file mode 100644 index 00000000000..c13a844dc57 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +digest: sha256:5a6154e9a2e09af61727922b7488551bd57d75c96fa2f76027c80bdcc97fd931 +generated: "2021-07-20T08:37:17.776780382Z" diff --git a/incubator/fireflyiii/4.5.2/Chart.yaml b/incubator/fireflyiii/4.5.2/Chart.yaml new file mode 100644 index 00000000000..e928e651e2a --- /dev/null +++ b/incubator/fireflyiii/4.5.2/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +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.5.2 diff --git a/incubator/fireflyiii/4.5.2/README.md b/incubator/fireflyiii/4.5.2/README.md new file mode 100644 index 00000000000..32f451ed277 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.4.2](https://img.shields.io/badge/Version-4.4.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.5.1 | +| https://truecharts.org/ | common | 6.5.2 | + +## 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.5.2/app-readme.md b/incubator/fireflyiii/4.5.2/app-readme.md new file mode 100644 index 00000000000..15307675f18 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/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.5.2/charts/common-6.6.1.tgz b/incubator/fireflyiii/4.5.2/charts/common-6.6.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..866be10b7bb48d2ed59317ea15927d00b502a9bf GIT binary patch literal 23559 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,Q3-O;vR%sA9Tx6&@j*1i!RE9W{ zo=su@mt{0XY&jB43CT+pIs)!VT6(zkC@w#fxYYWiRcNYhJXlxgn?zq1Dhour=xxwI z^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9O=cuK$qSs4$x5Kn_Eibe zjDSg2rE##PF~PIr(yHs`Jb6U}y*lS^Q1K$2!vx2I*=84jugWfJmb#zw_&h$3&*Rhg S`Tqg{0RR6uDc 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 literal 0 HcmV?d00001 diff --git a/incubator/fireflyiii/4.5.2/ix_values.yaml b/incubator/fireflyiii/4.5.2/ix_values.yaml new file mode 100644 index 00000000000..a8ea761002b --- /dev/null +++ b/incubator/fireflyiii/4.5.2/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.5.2/questions.yaml b/incubator/fireflyiii/4.5.2/questions.yaml new file mode 100644 index 00000000000..854b3efa0b7 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/questions.yaml @@ -0,0 +1,866 @@ +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: "" + min_length: 32 + max_length: 32 + valid_chars: '[a-zA-Z0-9!@#$%^&*?]{32}' + 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: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + 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: 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 + required: true + default: "" + - 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: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + 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.5.2/templates/common.yaml b/incubator/fireflyiii/4.5.2/templates/common.yaml new file mode 100644 index 00000000000..64e027ac0fa --- /dev/null +++ b/incubator/fireflyiii/4.5.2/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.5.2/templates/secrets.yaml b/incubator/fireflyiii/4.5.2/templates/secrets.yaml new file mode 100644 index 00000000000..5d262741617 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/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.5.2/test_values.yaml b/incubator/fireflyiii/4.5.2/test_values.yaml new file mode 100644 index 00000000000..d05a4af4796 --- /dev/null +++ b/incubator/fireflyiii/4.5.2/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.5.2/values.yaml b/incubator/fireflyiii/4.5.2/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/flaresolverr/1.2.0/Chart.lock b/incubator/flaresolverr/1.2.0/Chart.lock index 65d39f90c73..320aa711699 100644 --- a/incubator/flaresolverr/1.2.0/Chart.lock +++ b/incubator/flaresolverr/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:28.675623041Z" +generated: "2021-07-20T08:37:22.657037488Z" diff --git a/incubator/flood/1.2.0/Chart.lock b/incubator/flood/1.2.0/Chart.lock index d162bc35efb..87720cb5f15 100644 --- a/incubator/flood/1.2.0/Chart.lock +++ b/incubator/flood/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:30.523298855Z" +generated: "2021-07-20T08:37:24.560959054Z" diff --git a/incubator/focalboard/1.2.1/Chart.lock b/incubator/focalboard/1.2.1/Chart.lock index 80134931847..577c500a3f4 100644 --- a/incubator/focalboard/1.2.1/Chart.lock +++ b/incubator/focalboard/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:32.41292865Z" +generated: "2021-07-20T08:37:26.458981314Z" diff --git a/incubator/freshrss/6.4.0/Chart.lock b/incubator/freshrss/6.4.0/Chart.lock index e5b89f689af..91354e2dca1 100644 --- a/incubator/freshrss/6.4.0/Chart.lock +++ b/incubator/freshrss/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:34.27234163Z" +generated: "2021-07-20T08:37:28.362249962Z" diff --git a/incubator/gaps/6.4.0/Chart.lock b/incubator/gaps/6.4.0/Chart.lock index d9e275c9bdc..9c37eb35a6e 100644 --- a/incubator/gaps/6.4.0/Chart.lock +++ b/incubator/gaps/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:36.099587192Z" +generated: "2021-07-20T08:37:30.274281797Z" diff --git a/incubator/gonic/1.2.0/Chart.lock b/incubator/gonic/1.2.0/Chart.lock index bef8a547b80..e6e1eea8b35 100644 --- a/incubator/gonic/1.2.0/Chart.lock +++ b/incubator/gonic/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:38.081859146Z" +generated: "2021-07-20T08:37:32.180602231Z" diff --git a/incubator/grocy/6.4.0/Chart.lock b/incubator/grocy/6.4.0/Chart.lock index d1424dbad1f..4c1069db92e 100644 --- a/incubator/grocy/6.4.0/Chart.lock +++ b/incubator/grocy/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:40.111391665Z" +generated: "2021-07-20T08:37:34.054786051Z" diff --git a/incubator/haste-server/1.4.0/Chart.lock b/incubator/haste-server/1.4.0/Chart.lock index c934e89c8c9..64139318c86 100644 --- a/incubator/haste-server/1.4.0/Chart.lock +++ b/incubator/haste-server/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:41.937198647Z" +generated: "2021-07-20T08:37:35.986275203Z" diff --git a/incubator/healthchecks/1.2.0/Chart.lock b/incubator/healthchecks/1.2.0/Chart.lock index 7e5176045ba..4ebf3a65bc6 100644 --- a/incubator/healthchecks/1.2.0/Chart.lock +++ b/incubator/healthchecks/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:43.825389449Z" +generated: "2021-07-20T08:37:37.883987695Z" diff --git a/incubator/heimdall/6.4.0/Chart.lock b/incubator/heimdall/6.4.0/Chart.lock index 15e7b7ab153..2dc6b39a481 100644 --- a/incubator/heimdall/6.4.0/Chart.lock +++ b/incubator/heimdall/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:45.655513329Z" +generated: "2021-07-20T08:37:39.778372465Z" diff --git a/incubator/hyperion-ng/1.2.0/Chart.lock b/incubator/hyperion-ng/1.2.0/Chart.lock index 9f7719db1a7..f06e8261dac 100644 --- a/incubator/hyperion-ng/1.2.0/Chart.lock +++ b/incubator/hyperion-ng/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:47.506694914Z" +generated: "2021-07-20T08:37:41.737534812Z" diff --git a/incubator/komga/1.2.1/Chart.lock b/incubator/komga/1.2.1/Chart.lock index 7ce602a99da..b070c4f944a 100644 --- a/incubator/komga/1.2.1/Chart.lock +++ b/incubator/komga/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:49.363781341Z" +generated: "2021-07-20T08:37:43.641003568Z" diff --git a/incubator/lazylibrarian/6.4.0/Chart.lock b/incubator/lazylibrarian/6.4.0/Chart.lock index 3f8c75e4f2b..0200e301c5f 100644 --- a/incubator/lazylibrarian/6.4.0/Chart.lock +++ b/incubator/lazylibrarian/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:51.900734512Z" +generated: "2021-07-20T08:37:45.543597772Z" diff --git a/incubator/librespeed/1.2.1/Chart.lock b/incubator/librespeed/1.2.1/Chart.lock index 78b2d53e863..26a754fa48c 100644 --- a/incubator/librespeed/1.2.1/Chart.lock +++ b/incubator/librespeed/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:42:53.754051291Z" +generated: "2021-07-20T08:37:47.454541636Z" diff --git a/incubator/lychee/6.4.1/Chart.lock b/incubator/lychee/6.4.1/Chart.lock index 39d4f769fcc..39287562021 100644 --- a/incubator/lychee/6.4.1/Chart.lock +++ b/incubator/lychee/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:55.603520126Z" +generated: "2021-07-20T08:37:49.402463305Z" diff --git a/incubator/mealie/1.4.0/Chart.lock b/incubator/mealie/1.4.0/Chart.lock index bd00f348986..d75784f5630 100644 --- a/incubator/mealie/1.4.0/Chart.lock +++ b/incubator/mealie/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:57.491904378Z" +generated: "2021-07-20T08:37:51.307829389Z" diff --git a/incubator/mosquitto/1.4.0/Chart.lock b/incubator/mosquitto/1.4.0/Chart.lock index 08269348474..212f0793512 100644 --- a/incubator/mosquitto/1.4.0/Chart.lock +++ b/incubator/mosquitto/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:59.358628926Z" +generated: "2021-07-20T08:37:53.20287919Z" diff --git a/incubator/mylar/1.2.0/Chart.lock b/incubator/mylar/1.2.0/Chart.lock index f1f13d09ed2..c34cc37bacd 100644 --- a/incubator/mylar/1.2.0/Chart.lock +++ b/incubator/mylar/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:01.301761041Z" +generated: "2021-07-20T08:37:55.109833278Z" diff --git a/incubator/navidrome/6.4.0/Chart.lock b/incubator/navidrome/6.4.0/Chart.lock index b4a1a6d193c..318d6dbb6ea 100644 --- a/incubator/navidrome/6.4.0/Chart.lock +++ b/incubator/navidrome/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:03.175071435Z" +generated: "2021-07-20T08:37:57.005492889Z" diff --git a/incubator/node-red/6.4.0/Chart.lock b/incubator/node-red/6.4.0/Chart.lock index aa3736db0a5..50d1c4805b8 100644 --- a/incubator/node-red/6.4.0/Chart.lock +++ b/incubator/node-red/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:05.013586923Z" +generated: "2021-07-20T08:37:58.919557636Z" diff --git a/incubator/nullserv/1.2.0/Chart.lock b/incubator/nullserv/1.2.0/Chart.lock index 7e2dee4dcc6..715523b2448 100644 --- a/incubator/nullserv/1.2.0/Chart.lock +++ b/incubator/nullserv/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:06.865172789Z" +generated: "2021-07-20T08:38:00.868292209Z" diff --git a/incubator/nzbget/6.4.0/Chart.lock b/incubator/nzbget/6.4.0/Chart.lock index 1e71c38b199..91b62e2fc9e 100644 --- a/incubator/nzbget/6.4.0/Chart.lock +++ b/incubator/nzbget/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:08.702539322Z" +generated: "2021-07-20T08:38:02.783830153Z" diff --git a/incubator/octoprint/1.2.0/Chart.lock b/incubator/octoprint/1.2.0/Chart.lock index 01588badc42..6c9f308baf9 100644 --- a/incubator/octoprint/1.2.0/Chart.lock +++ b/incubator/octoprint/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:10.683413239Z" +generated: "2021-07-20T08:38:04.728880957Z" diff --git a/incubator/omada-controller/1.2.0/Chart.lock b/incubator/omada-controller/1.2.0/Chart.lock index b8436c674fb..d5814466a09 100644 --- a/incubator/omada-controller/1.2.0/Chart.lock +++ b/incubator/omada-controller/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:12.549168838Z" +generated: "2021-07-20T08:38:06.642115757Z" diff --git a/incubator/organizr/6.4.0/Chart.lock b/incubator/organizr/6.4.0/Chart.lock index d0e63587f6a..d3d3cc3a742 100644 --- a/incubator/organizr/6.4.0/Chart.lock +++ b/incubator/organizr/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:14.373168729Z" +generated: "2021-07-20T08:38:08.57202797Z" diff --git a/incubator/overseerr/1.2.0/Chart.lock b/incubator/overseerr/1.2.0/Chart.lock index 1166a178e4c..25d1a1df8da 100644 --- a/incubator/overseerr/1.2.0/Chart.lock +++ b/incubator/overseerr/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:16.219169219Z" +generated: "2021-07-20T08:38:10.490410339Z" diff --git a/incubator/owncast/1.2.0/Chart.lock b/incubator/owncast/1.2.0/Chart.lock index 6e9a8f8dd15..d553a88074e 100644 --- a/incubator/owncast/1.2.0/Chart.lock +++ b/incubator/owncast/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:18.060431331Z" +generated: "2021-07-20T08:38:12.373247514Z" diff --git a/incubator/owncloud-ocis/1.2.1/Chart.lock b/incubator/owncloud-ocis/1.2.1/Chart.lock index da461636bf6..2a3fbc33caa 100644 --- a/incubator/owncloud-ocis/1.2.1/Chart.lock +++ b/incubator/owncloud-ocis/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:19.889900402Z" +generated: "2021-07-20T08:38:14.256961904Z" diff --git a/incubator/photoprism/1.2.1/Chart.lock b/incubator/photoprism/1.2.1/Chart.lock index d5f93db4a84..e85047c117c 100644 --- a/incubator/photoprism/1.2.1/Chart.lock +++ b/incubator/photoprism/1.2.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:21.794233768Z" +generated: "2021-07-20T08:38:16.199593059Z" diff --git a/incubator/piaware/1.2.0/Chart.lock b/incubator/piaware/1.2.0/Chart.lock index 2532ad51f3c..2356852acf3 100644 --- a/incubator/piaware/1.2.0/Chart.lock +++ b/incubator/piaware/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:23.671258981Z" +generated: "2021-07-20T08:38:18.13356986Z" diff --git a/incubator/podgrab/4.4.0/Chart.lock b/incubator/podgrab/4.4.0/Chart.lock index 9ed629163c9..8b85ad2b76f 100644 --- a/incubator/podgrab/4.4.0/Chart.lock +++ b/incubator/podgrab/4.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:25.52953778Z" +generated: "2021-07-20T08:38:20.01718702Z" diff --git a/incubator/pretend-youre-xyzzy/1.2.0/Chart.lock b/incubator/pretend-youre-xyzzy/1.2.0/Chart.lock index d27f8c899b5..f9c6e06661d 100644 --- a/incubator/pretend-youre-xyzzy/1.2.0/Chart.lock +++ b/incubator/pretend-youre-xyzzy/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:27.368425242Z" +generated: "2021-07-20T08:38:21.925244588Z" diff --git a/incubator/protonmail-bridge/1.2.0/Chart.lock b/incubator/protonmail-bridge/1.2.0/Chart.lock index 2f5e8e3e0b5..0e0f805c1af 100644 --- a/incubator/protonmail-bridge/1.2.0/Chart.lock +++ b/incubator/protonmail-bridge/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:29.25851142Z" +generated: "2021-07-20T08:38:23.866033156Z" diff --git a/incubator/prowlarr/1.4.1/Chart.lock b/incubator/prowlarr/1.4.1/Chart.lock index a6ab7ccab4e..9b726ccba43 100644 --- a/incubator/prowlarr/1.4.1/Chart.lock +++ b/incubator/prowlarr/1.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:31.131643937Z" +generated: "2021-07-20T08:38:25.758798304Z" diff --git a/incubator/pyload/1.2.0/Chart.lock b/incubator/pyload/1.2.0/Chart.lock index 030b82a0fce..d51c361d7d9 100644 --- a/incubator/pyload/1.2.0/Chart.lock +++ b/incubator/pyload/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:33.002481669Z" +generated: "2021-07-20T08:38:27.657442159Z" diff --git a/incubator/qbittorrent/6.4.0/Chart.lock b/incubator/qbittorrent/6.4.0/Chart.lock index 12b50dab062..2ca31f2abfe 100644 --- a/incubator/qbittorrent/6.4.0/Chart.lock +++ b/incubator/qbittorrent/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:34.871321225Z" +generated: "2021-07-20T08:38:29.579577334Z" diff --git a/incubator/readarr/6.4.1/Chart.lock b/incubator/readarr/6.4.1/Chart.lock index 44525e502b1..a82c5fdca31 100644 --- a/incubator/readarr/6.4.1/Chart.lock +++ b/incubator/readarr/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:36.757720239Z" +generated: "2021-07-20T08:38:31.507785216Z" diff --git a/incubator/reg/1.4.0/Chart.lock b/incubator/reg/1.4.0/Chart.lock index 1b5e71391f3..1cb515bc374 100644 --- a/incubator/reg/1.4.0/Chart.lock +++ b/incubator/reg/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:38.607994671Z" +generated: "2021-07-20T08:38:33.435292359Z" diff --git a/incubator/sabnzbd/6.4.0/Chart.lock b/incubator/sabnzbd/6.4.0/Chart.lock index b73f065b82d..5896546bf9a 100644 --- a/incubator/sabnzbd/6.4.0/Chart.lock +++ b/incubator/sabnzbd/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:40.509688236Z" +generated: "2021-07-20T08:38:35.383856549Z" diff --git a/incubator/ser2sock/1.2.0/Chart.lock b/incubator/ser2sock/1.2.0/Chart.lock index 8389f32cb99..1e5cc080772 100644 --- a/incubator/ser2sock/1.2.0/Chart.lock +++ b/incubator/ser2sock/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:42.404786353Z" +generated: "2021-07-20T08:38:37.25249682Z" diff --git a/incubator/stash/1.2.0/Chart.lock b/incubator/stash/1.2.0/Chart.lock index 9ffc64eeb3d..f7f6d446abd 100644 --- a/incubator/stash/1.2.0/Chart.lock +++ b/incubator/stash/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:44.270646674Z" +generated: "2021-07-20T08:38:39.181084891Z" diff --git a/incubator/thelounge/1.4.0/Chart.lock b/incubator/thelounge/1.4.0/Chart.lock index 288a09e0401..7bfe1fd6fc5 100644 --- a/incubator/thelounge/1.4.0/Chart.lock +++ b/incubator/thelounge/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:46.191026929Z" +generated: "2021-07-20T08:38:41.091281564Z" diff --git a/incubator/tvheadend/7.4.0/Chart.lock b/incubator/tvheadend/7.4.0/Chart.lock index 56a6500b129..f4be5245172 100644 --- a/incubator/tvheadend/7.4.0/Chart.lock +++ b/incubator/tvheadend/7.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:48.115277223Z" +generated: "2021-07-20T08:38:42.999123597Z" diff --git a/incubator/unifi/6.4.0/Chart.lock b/incubator/unifi/6.4.0/Chart.lock index a9e6bf3e0c0..eda2c637afb 100644 --- a/incubator/unifi/6.4.0/Chart.lock +++ b/incubator/unifi/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:49.957031423Z" +generated: "2021-07-20T08:38:44.92345691Z" diff --git a/incubator/unpackerr/1.4.0/Chart.lock b/incubator/unpackerr/1.4.0/Chart.lock index 6c306f17dbe..bd4eec1cf2a 100644 --- a/incubator/unpackerr/1.4.0/Chart.lock +++ b/incubator/unpackerr/1.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:43:51.820798549Z" +generated: "2021-07-20T08:38:46.857055581Z" diff --git a/incubator/xteve/1.2.0/Chart.lock b/incubator/xteve/1.2.0/Chart.lock index 521bed40691..e2d7833d9fb 100644 --- a/incubator/xteve/1.2.0/Chart.lock +++ b/incubator/xteve/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:53.736637345Z" +generated: "2021-07-20T08:38:48.777152899Z" diff --git a/non-free/resilio-sync/1.2.0/Chart.lock b/non-free/resilio-sync/1.2.0/Chart.lock index 51926d6fc5e..9ea36090ef5 100644 --- a/non-free/resilio-sync/1.2.0/Chart.lock +++ b/non-free/resilio-sync/1.2.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.6.1 digest: sha256:45c46d7075a542f66397c968e7ac0d2d1bd94ae169af862c4a29e95818b7cfbb -generated: "2021-07-13T21:43:57.543195193Z" +generated: "2021-07-20T08:38:52.587649145Z" diff --git a/stable/collabora-online/6.4.1/Chart.lock b/stable/collabora-online/6.4.1/Chart.lock index abad1113028..75a22d93ec9 100644 --- a/stable/collabora-online/6.4.1/Chart.lock +++ b/stable/collabora-online/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:40:57.301340907Z" +generated: "2021-07-20T08:35:49.207324606Z" diff --git a/stable/deepstack-cpu/4.4.0/Chart.lock b/stable/deepstack-cpu/4.4.0/Chart.lock index 97905e12c2c..18a9797d363 100644 --- a/stable/deepstack-cpu/4.4.0/Chart.lock +++ b/stable/deepstack-cpu/4.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:40:59.463639987Z" +generated: "2021-07-20T08:35:51.266470435Z" diff --git a/stable/emby/6.4.0/Chart.lock b/stable/emby/6.4.0/Chart.lock index fad5d9a6e04..d635c58f017 100644 --- a/stable/emby/6.4.0/Chart.lock +++ b/stable/emby/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:01.332713133Z" +generated: "2021-07-20T08:35:53.19840709Z" diff --git a/stable/esphome/6.4.0/Chart.lock b/stable/esphome/6.4.0/Chart.lock index bad0a6f455d..15d61846ffa 100644 --- a/stable/esphome/6.4.0/Chart.lock +++ b/stable/esphome/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:03.190224163Z" +generated: "2021-07-20T08:35:55.11661347Z" diff --git a/stable/freeradius/1.0.0/Chart.lock b/stable/freeradius/1.0.0/Chart.lock index 0976deff2a1..3b675503a99 100644 --- a/stable/freeradius/1.0.0/Chart.lock +++ b/stable/freeradius/1.0.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:05.066084555Z" +generated: "2021-07-20T08:35:57.058054646Z" diff --git a/stable/handbrake/6.4.0/Chart.lock b/stable/handbrake/6.4.0/Chart.lock index 23d7103fe94..58a78e5e909 100644 --- a/stable/handbrake/6.4.0/Chart.lock +++ b/stable/handbrake/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:06.933136821Z" +generated: "2021-07-20T08:35:58.994759866Z" diff --git a/stable/home-assistant/6.4.1/Chart.lock b/stable/home-assistant/6.4.1/Chart.lock index 73d77298cfd..e034ec8fc6b 100644 --- a/stable/home-assistant/6.4.1/Chart.lock +++ b/stable/home-assistant/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:08.825646335Z" +generated: "2021-07-20T08:36:00.933974851Z" diff --git a/stable/jackett/6.4.1/Chart.lock b/stable/jackett/6.4.1/Chart.lock index cdab03c9ac1..4031ebc59e3 100644 --- a/stable/jackett/6.4.1/Chart.lock +++ b/stable/jackett/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:10.67763454Z" +generated: "2021-07-20T08:36:02.84204774Z" diff --git a/stable/jellyfin/6.4.0/Chart.lock b/stable/jellyfin/6.4.0/Chart.lock index 7a90b3ff393..1002edf6678 100644 --- a/stable/jellyfin/6.4.0/Chart.lock +++ b/stable/jellyfin/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:12.524724364Z" +generated: "2021-07-20T08:36:04.86796883Z" diff --git a/stable/kms/6.4.0/Chart.lock b/stable/kms/6.4.0/Chart.lock index b97562e2b98..b2d68b50531 100644 --- a/stable/kms/6.4.0/Chart.lock +++ b/stable/kms/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:14.362222778Z" +generated: "2021-07-20T08:36:06.79660578Z" diff --git a/stable/lidarr/6.4.0/Chart.lock b/stable/lidarr/6.4.0/Chart.lock index 62bb1a36a03..01cd22ec460 100644 --- a/stable/lidarr/6.4.0/Chart.lock +++ b/stable/lidarr/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:16.213506031Z" +generated: "2021-07-20T08:36:08.714163556Z" diff --git a/stable/nextcloud/1.3.1/CONFIG.md b/stable/nextcloud/1.3.1/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/nextcloud/1.3.1/CONFIG.md @@ -0,0 +1,9 @@ +# 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/nextcloud/1.3.1/Chart.lock b/stable/nextcloud/1.3.1/Chart.lock new file mode 100644 index 00000000000..0c1cec0f939 --- /dev/null +++ b/stable/nextcloud/1.3.1/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.7.2 +digest: sha256:6e061aca19c8adb96f97ea153a698a3a0080556f3377ea382f6b07c021f0e9ae +generated: "2021-07-20T08:36:15.233238023Z" diff --git a/stable/nextcloud/1.3.1/Chart.yaml b/stable/nextcloud/1.3.1/Chart.yaml new file mode 100644 index 00000000000..0126e238eea --- /dev/null +++ b/stable/nextcloud/1.3.1/Chart.yaml @@ -0,0 +1,39 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 14.7.2 +deprecated: false +description: A private cloud server that puts the control and security of your own + data back into your hands. +home: https://nextcloud.com/ +icon: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nextcloud_Logo.svg/1280px-Nextcloud_Logo.svg.png +keywords: +- nextcloud +- storage +- http +- web +- php +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +- email: kjeld@schouten-lebbing.nl + name: Ornias1993 + url: truecharts.org +name: nextcloud +sources: +- https://github.com/nextcloud/docker +- https://github.com/nextcloud/helm +type: application +version: 1.3.1 diff --git a/stable/nextcloud/1.3.1/README.md b/stable/nextcloud/1.3.1/README.md new file mode 100644 index 00000000000..7bd3a684823 --- /dev/null +++ b/stable/nextcloud/1.3.1/README.md @@ -0,0 +1,57 @@ +# Introduction + +![Version: 1.1.8](https://img.shields.io/badge/Version-1.1.8-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 private cloud server that puts the control and security of your own data back into your hands. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 | +| https://charts.bitnami.com/bitnami | redis | 14.6.3 | +| https://truecharts.org/ | common | 6.5.2 | + +## Installing the Chart + +To install the chart with the release name `nextcloud` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nextcloud` 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/nextcloud/1.3.1/app-readme.md b/stable/nextcloud/1.3.1/app-readme.md new file mode 100644 index 00000000000..ea79671d3a3 --- /dev/null +++ b/stable/nextcloud/1.3.1/app-readme.md @@ -0,0 +1 @@ +A private cloud server that puts the control and security of your own diff --git a/stable/nextcloud/1.3.1/charts/common-6.6.1.tgz b/stable/nextcloud/1.3.1/charts/common-6.6.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..866be10b7bb48d2ed59317ea15927d00b502a9bf GIT binary patch literal 23559 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,Q3-O;vR%sA9Tx6&@j*1i!RE9W{ zo=su@mt{0XY&jB43CT+pIs)!VT6(zkC@w#fxYYWiRcNYhJXlxgn?zq1Dhour=xxwI z^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9O=cuK$qSs4$x5Kn_Eibe zjDSg2rE##PF~PIr(yHs`Jb6U}y*lS^Q1K$2!vx2I*=84jugWfJmb#zw_&h$3&*Rhg S`Tqg{0RR6uDc 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 literal 0 HcmV?d00001 diff --git a/stable/nextcloud/1.3.1/charts/redis-14.7.2.tgz b/stable/nextcloud/1.3.1/charts/redis-14.7.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..3bfde3d2611b7e30885ca317e05e33a803cdfcfe GIT binary patch literal 78370 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

ww8gX8nVEo#Ja_P%005GGdkZRh8 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 literal 0 HcmV?d00001 diff --git a/stable/nextcloud/1.3.1/ix_values.yaml b/stable/nextcloud/1.3.1/ix_values.yaml new file mode 100644 index 00000000000..1b0042c6fd3 --- /dev/null +++ b/stable/nextcloud/1.3.1/ix_values.yaml @@ -0,0 +1,186 @@ +## +# 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: nextcloud + pullPolicy: IfNotPresent + tag: 22.0.0 + +strategy: + type: Recreate + +env: {} + + +envTpl: + POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" + POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" + +envFrom: + - configMapRef: + name: nextcloudconfig + +envValueFrom: + POSTGRES_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + POSTGRES_HOST: + secretKeyRef: + name: dbcreds + key: host + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: masterhost + REDIS_HOST_PASSWORD: + secretKeyRef: + name: rediscreds + key: redis-password + +initContainers: + - name: init-postgresdb + image: postgres:13.1 + command: + - "sh" + - "-c" + - "until pg_isready -U nextcloud -h ${pghost} ; do sleep 2 ; done" + imagePullPolicy: IfNotPresent + env: + - name: pghost + valueFrom: + secretKeyRef: + name: dbcreds + key: plainhost + +additionalContainers: +- name: hpb + image: nextcloud:21.0.2 + imagePullPolicy: IfNotPresent + command: + - "/bin/bash" + - "-c" + - "--" + args: + - 'while [ ! -f "/var/www/html/custom_apps/notify_push/bin/x86_64/notify_push" ]; do sleep 30; echo "notify_push not found, waiting"; done && /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php' + env: + - name: PORT + value: "7867" + envFrom: + - configMapRef: + name: hpbconfig + ports: + - name: hpb + containerPort: 7867 + volumeMounts: + - mountPath: /var/www/html + name: data + securityContext: + runAsUser: 33 + runAsGroup: 33 + +# -- Probe configuration +# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) +# @default -- See below +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + + # -- Redainess probe configuration + # @default -- See below + readiness: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + + # -- Startup probe configuration + # @default -- See below + startup: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + +## Cronjob to execute Nextcloud background tasks +## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#webcron +## +cronjob: + # Every 5 minutes + # Note: Setting this to any any other value than 5 minutes might + # cause issues with how nextcloud background jobs are executed + schedule: "*/5 * * * *" + annotations: {} + failedJobsHistoryLimit: 5 + successfulJobsHistoryLimit: 2 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db + +# Enabled redis +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis +redis: + architecture: standalone + enabled: true + auth: + existingSecret: rediscreds + existingSecretPasswordKey: redis-password + master: + persistence: + enabled: true + existingClaim: redismaster + replica: + replicaCount: 0 + persistence: + enabled: false + +## +# 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/nextcloud/1.3.1/questions.yaml b/stable/nextcloud/1.3.1/questions.yaml new file mode 100644 index 00000000000..23c8aedf6e5 --- /dev/null +++ b/stable/nextcloud/1.3.1/questions.yaml @@ -0,0 +1,1055 @@ +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: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + - variable: NEXTCLOUD_ADMIN_USER + label: "NEXTCLOUD_ADMIN_USER" + description: "Sets nextcloud admin username" + schema: + type: string + required: true + default: "" + - variable: NEXTCLOUD_ADMIN_PASSWORD + label: "NEXTCLOUD_ADMIN_PASSWORD" + description: "Sets nextcloud admin password" + schema: + type: string + required: true + default: "" + - variable: TRUSTED_PROXIES + label: "TRUSTED_PROXIES" + description: "Sets nextcloud Trusted Proxies" + schema: + type: string + default: "172.16.0.0/16" + - variable: NODE_IP + label: "NODE_IP" + description: "Sets nextcloud nodeip for nodeport connections" + schema: + type: string + $ref: + - "definitions/nodeIP" + + + # 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: 80 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + 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: 36091 + required: true + - variable: hpb + label: "High Performance Backend Service" + description: "The service which runs the High Performance Backend" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: false + - 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: hpb + 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: 7867 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7867 + 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: 36092 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + 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: "/var/www/html" + 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: noMount + label: "Do not mount this storage inside the main pod" + 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: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + 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: 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: redismaster + label: "Redis Storage" + description: "Stores the Application redis-master-database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: noMount + label: "Do not mount this storage inside the main pod" + 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: "redismaster" + hidden: true + - variable: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + 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: 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 + required: true + default: "" + - 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: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: hpb + label: "High Performance Backend 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: "/push" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Service" + schema: + type: dict + hidden: true + attrs: + - variable: name + label: "service name" + schema: + type: string + hidden: true + default: "{{ .Release.Name }}-nextcloud-hpb" + - variable: port + label: "serviceport" + schema: + type: int + hidden: true + default: 7867 + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 33 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: 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/nextcloud/1.3.1/templates/_configmap.tpl b/stable/nextcloud/1.3.1/templates/_configmap.tpl new file mode 100644 index 00000000000..aa6473aaf29 --- /dev/null +++ b/stable/nextcloud/1.3.1/templates/_configmap.tpl @@ -0,0 +1,33 @@ +{{/* Define the configmap */}} +{{- define "nextcloud.configmap" -}} + +{{- $hosts := "" }} +{{- if .Values.ingress.main.enabled }} +{{ range $index, $host := .Values.ingress.main.hosts }} + {{- if $index }} + {{ $hosts = ( printf "%v %v" $hosts $host.host ) }} + {{- else }} + {{ $hosts = ( printf "%s" $host.host ) }} + {{- end }} +{{ end }} +{{- end }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nextcloudconfig +data: + NEXTCLOUD_TRUSTED_DOMAINS: {{ ( printf "%v %v %v %v %v" "test.fakedomain.dns" ( .Values.env.NODE_IP | default "localhost" ) ( printf "%v-%v" .Release.Name "nextcloud" ) ( printf "%v-%v" .Release.Name "nextcloud-hpb" ) $hosts ) | quote }} + {{- if .Values.ingress.main.enabled }} + APACHE_DISABLE_REWRITE_IP: "1" + {{- end }} + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: hpbconfig +data: + NEXTCLOUD_URL: {{ ( printf "%v-%v" .Release.Name "nextcloud" ) | quote }} + +{{- end -}} diff --git a/stable/nextcloud/1.3.1/templates/_cronjob.tpl b/stable/nextcloud/1.3.1/templates/_cronjob.tpl new file mode 100644 index 00000000000..c2ed1ca20f8 --- /dev/null +++ b/stable/nextcloud/1.3.1/templates/_cronjob.tpl @@ -0,0 +1,51 @@ +{{/* Define the cronjob */}} +{{- define "nextcloud.cronjob" -}} +{{- $jobName := include "common.names.fullname" . -}} + +--- +apiVersion: batch/v1beta1 +kind: CronJob +metadata: + name: {{ printf "%s-cronjob" $jobName }} + labels: + {{- include "common.labels" . | nindent 4 }} +spec: + schedule: "{{ .Values.cronjob.schedule }}" + concurrencyPolicy: Forbid + {{- with .Values.cronjob.failedJobsHistoryLimit }} + failedJobsHistoryLimit: {{ . }} + {{- end }} + {{- with .Values.cronjob.successfulJobsHistoryLimit }} + successfulJobsHistoryLimit: {{ . }} + {{- end }} + jobTemplate: + metadata: + spec: + template: + metadata: + spec: + restartPolicy: Never + {{- with (include "common.controller.volumes" . | trim) }} + volumes: + {{- nindent 12 . }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ default .Values.image.tag }}" + imagePullPolicy: {{ default .Values.image.pullPolicy }} + command: [ "php" ] + args: + - "-f" + - "/var/www/html/cron.php" + # Will mount configuration files as www-data (id: 33) by default for nextcloud + {{- with (include "common.controller.volumeMounts" . | trim) }} + volumeMounts: + {{ nindent 16 . }} + {{- end }} + securityContext: + runAsUser: 33 + runAsGroup: 33 + resources: +{{ toYaml .Values.resources | indent 16 }} + +{{- end -}} diff --git a/stable/nextcloud/1.3.1/templates/_secrets.tpl b/stable/nextcloud/1.3.1/templates/_secrets.tpl new file mode 100644 index 00000000000..d9ae0df858c --- /dev/null +++ b/stable/nextcloud/1.3.1/templates/_secrets.tpl @@ -0,0 +1,50 @@ +{{/* Define the secrets */}} +{{- define "nextcloud.secrets" -}} + +--- + +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 }} + host: {{ ( printf "%v-%v:5432" .Release.Name "postgresql" ) | b64enc | quote }} + plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: rediscreds +{{- $redisprevious := lookup "v1" "Secret" .Release.Namespace "rediscreds" }} +{{- $redisPass := "" }} +data: +{{- if $redisprevious }} + {{- $redisPass = ( index $redisprevious.data "redis-password" ) | b64dec }} + redis-password: {{ ( index $redisprevious.data "redis-password" ) }} +{{- else }} + {{- $redisPass = randAlphaNum 50 }} + redis-password: {{ $redisPass | b64enc | quote }} +{{- end }} + masterhost: {{ ( printf "%v-%v" .Release.Name "redis-master" ) | b64enc | quote }} + slavehost: {{ ( printf "%v-%v" .Release.Name "redis-master" ) | b64enc | quote }} +type: Opaque +{{- end -}} diff --git a/stable/nextcloud/1.3.1/templates/common.yaml b/stable/nextcloud/1.3.1/templates/common.yaml new file mode 100644 index 00000000000..8e72c538b1d --- /dev/null +++ b/stable/nextcloud/1.3.1/templates/common.yaml @@ -0,0 +1,14 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} + +{{/* Render configmap for nextcloud */}} +{{- include "nextcloud.configmap" . }} + +{{/* Render secrets for nextcloud */}} +{{- include "nextcloud.secrets" . }} + +{{/* Render cronjob for nextcloud */}} +{{- include "nextcloud.cronjob" . }} diff --git a/stable/nextcloud/1.3.1/test_values.yaml b/stable/nextcloud/1.3.1/test_values.yaml new file mode 100644 index 00000000000..6eb76d77ae4 --- /dev/null +++ b/stable/nextcloud/1.3.1/test_values.yaml @@ -0,0 +1,224 @@ +# Default values for Bitwarden. + +image: + repository: nextcloud + pullPolicy: IfNotPresent + tag: 22.0.0 + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 80 + hpb: + enabled: true + ports: + hpb: + enabled: true + port: 7867 + +env: + NEXTCLOUD_ADMIN_USER: "admin" + NEXTCLOUD_ADMIN_PASSWORD: "adminpass" + TRUSTED_PROXIES: "172.16.0.0/16" + +envTpl: + POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" + POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" + +envFrom: + - configMapRef: + name: nextcloudconfig + +envValueFrom: + POSTGRES_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + POSTGRES_HOST: + secretKeyRef: + name: dbcreds + key: host + REDIS_HOST: + secretKeyRef: + name: rediscreds + key: masterhost + REDIS_HOST_PASSWORD: + secretKeyRef: + name: rediscreds + key: redis-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + + db: + noMount: true + forceName: "db" + enabled: true + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + + redismaster: + noMount: true + forceName: "redismaster" + enabled: true + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + +initContainers: + - name: init-postgresdb + image: postgres:13.1 + command: + - "sh" + - "-c" + - "until pg_isready -U nextcloud -h ${pghost} ; do sleep 2 ; done" + imagePullPolicy: IfNotPresent + env: + - name: pghost + valueFrom: + secretKeyRef: + name: dbcreds + key: plainhost + +additionalContainers: +- name: hpb + image: nextcloud:21.0.2 + imagePullPolicy: IfNotPresent + command: + - "/bin/bash" + - "-c" + - "--" + args: + - 'while [ ! -f "/var/www/html/custom_apps/notify_push/bin/x86_64/notify_push" ]; do sleep 30; echo "notify_push not found, waiting"; done && /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php' + env: + - name: PORT + value: "7867" + envFrom: + - configMapRef: + name: hpbconfig + ports: + - name: hpb + containerPort: 7867 + volumeMounts: + - mountPath: /var/www/html + name: data + securityContext: + runAsUser: 33 + runAsGroup: 33 + + +podSecurityContext: + fsGroup: 33 + +# -- Probe configuration +# -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) +# @default -- See below +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + + # -- Redainess probe configuration + # @default -- See below + readiness: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + + # -- Startup probe configuration + # @default -- See below + startup: + custom: true + # -- If a HTTP probe is used (default for HTTP/HTTPS services) this path is used + # @default -- "/" + spec: + httpGet: + path: /status.php + port: 80 + httpHeaders: + - name: Host + value: "test.fakedomain.dns" + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 2 + failureThreshold: 5 + + +## Cronjob to execute Nextcloud background tasks +## ref: https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/background_jobs_configuration.html#webcron +## +cronjob: + # Every 5 minutes + # Note: Setting this to any any other value than 5 minutes might + # cause issues with how nextcloud background jobs are executed + schedule: "*/5 * * * *" + annotations: {} + failedJobsHistoryLimit: 5 + successfulJobsHistoryLimit: 2 + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + volumePermissions: + enabled: true + enabled: true + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db + +# Enabled redis +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis +redis: + volumePermissions: + enabled: true + architecture: standalone + enabled: true + auth: + existingSecret: rediscreds + existingSecretPasswordKey: redis-password + master: + persistence: + enabled: false + existingClaim: redismaster + replica: + replicaCount: 0 + persistence: + enabled: false diff --git a/stable/nextcloud/1.3.1/values.yaml b/stable/nextcloud/1.3.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/ombi/6.4.1/Chart.lock b/stable/ombi/6.4.1/Chart.lock index 726187617d9..1a7197875dc 100644 --- a/stable/ombi/6.4.1/Chart.lock +++ b/stable/ombi/6.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:30.353627748Z" +generated: "2021-07-20T08:36:23.249722872Z" diff --git a/stable/openldap/1.0.2/Chart.lock b/stable/openldap/1.0.2/Chart.lock index f8a4aaa0436..8f46d3784e3 100644 --- a/stable/openldap/1.0.2/Chart.lock +++ b/stable/openldap/1.0.2/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:32.209560264Z" +generated: "2021-07-20T08:36:25.184359448Z" diff --git a/stable/pgadmin/1.1.0/Chart.lock b/stable/pgadmin/1.1.0/Chart.lock index e8e08387cbf..c8678ac6924 100644 --- a/stable/pgadmin/1.1.0/Chart.lock +++ b/stable/pgadmin/1.1.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:34.108394086Z" +generated: "2021-07-20T08:36:27.094212209Z" diff --git a/stable/phpldapadmin/1.1.0/Chart.lock b/stable/phpldapadmin/1.1.0/Chart.lock index 1a82ce2d4af..b691200d0e1 100644 --- a/stable/phpldapadmin/1.1.0/Chart.lock +++ b/stable/phpldapadmin/1.1.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:35.939717382Z" +generated: "2021-07-20T08:36:29.041832251Z" diff --git a/stable/plex/5.4.1/Chart.lock b/stable/plex/5.4.1/Chart.lock index 13a5437f1b1..adc6986a1a8 100644 --- a/stable/plex/5.4.1/Chart.lock +++ b/stable/plex/5.4.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:37.815860939Z" +generated: "2021-07-20T08:36:31.001055343Z" diff --git a/stable/radarr/6.4.0/Chart.lock b/stable/radarr/6.4.0/Chart.lock index 84089f00d98..f709d34ba85 100644 --- a/stable/radarr/6.4.0/Chart.lock +++ b/stable/radarr/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:39.655438119Z" +generated: "2021-07-20T08:36:32.917725116Z" diff --git a/stable/sonarr/6.4.0/Chart.lock b/stable/sonarr/6.4.0/Chart.lock index 5fe99ad24e2..b8030688e82 100644 --- a/stable/sonarr/6.4.0/Chart.lock +++ b/stable/sonarr/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:41.518220573Z" +generated: "2021-07-20T08:36:34.821141518Z" diff --git a/stable/syncthing/6.4.0/Chart.lock b/stable/syncthing/6.4.0/Chart.lock index 69030393cd6..d44436eaca6 100644 --- a/stable/syncthing/6.4.0/Chart.lock +++ b/stable/syncthing/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:43.384994578Z" +generated: "2021-07-20T08:36:36.737656788Z" diff --git a/stable/tautulli/6.4.0/Chart.lock b/stable/tautulli/6.4.0/Chart.lock index 616d88c56cf..b3074589c50 100644 --- a/stable/tautulli/6.4.0/Chart.lock +++ b/stable/tautulli/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:45.205945152Z" +generated: "2021-07-20T08:36:38.693355559Z" diff --git a/stable/traefik/6.6.0/Chart.lock b/stable/traefik/6.6.0/Chart.lock index bae2e6613d5..e3ecaed339a 100644 --- a/stable/traefik/6.6.0/Chart.lock +++ b/stable/traefik/6.6.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:47.126456067Z" +generated: "2021-07-20T08:36:40.648422916Z" diff --git a/stable/transmission/6.4.0/Chart.lock b/stable/transmission/6.4.0/Chart.lock index 67ad3bad8ea..87b10e6da02 100644 --- a/stable/transmission/6.4.0/Chart.lock +++ b/stable/transmission/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:49.007817116Z" +generated: "2021-07-20T08:36:42.560112927Z" diff --git a/stable/truecommand/6.4.0/Chart.lock b/stable/truecommand/6.4.0/Chart.lock index a22058c9066..ccfe313a06d 100644 --- a/stable/truecommand/6.4.0/Chart.lock +++ b/stable/truecommand/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:41:50.900660095Z" +generated: "2021-07-20T08:36:44.503486946Z" diff --git a/stable/vaultwarden/3.5.1/CONFIG.md b/stable/vaultwarden/3.5.1/CONFIG.md new file mode 100644 index 00000000000..dddbce20079 --- /dev/null +++ b/stable/vaultwarden/3.5.1/CONFIG.md @@ -0,0 +1,9 @@ +# 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.5.1/Chart.lock b/stable/vaultwarden/3.5.1/Chart.lock new file mode 100644 index 00000000000..c64a3553a4d --- /dev/null +++ b/stable/vaultwarden/3.5.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +digest: sha256:5a6154e9a2e09af61727922b7488551bd57d75c96fa2f76027c80bdcc97fd931 +generated: "2021-07-20T08:36:49.059214311Z" diff --git a/stable/vaultwarden/3.5.1/Chart.yaml b/stable/vaultwarden/3.5.1/Chart.yaml new file mode 100644 index 00000000000..25f1115fe3a --- /dev/null +++ b/stable/vaultwarden/3.5.1/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.6.1 +- condition: postgresql.enabled + name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.5.3 +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.5.1 diff --git a/stable/vaultwarden/3.5.1/README.md b/stable/vaultwarden/3.5.1/README.md new file mode 100644 index 00000000000..d52085bf478 --- /dev/null +++ b/stable/vaultwarden/3.5.1/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.4.2](https://img.shields.io/badge/Version-3.4.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.5.1 | +| https://truecharts.org/ | common | 6.5.2 | + +## 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.5.1/app-readme.md b/stable/vaultwarden/3.5.1/app-readme.md new file mode 100644 index 00000000000..11f37b5efea --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.5.1/charts/common-6.6.1.tgz b/stable/vaultwarden/3.5.1/charts/common-6.6.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..866be10b7bb48d2ed59317ea15927d00b502a9bf GIT binary patch literal 23559 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,Q3-O;vR%sA9Tx6&@j*1i!RE9W{ zo=su@mt{0XY&jB43CT+pIs)!VT6(zkC@w#fxYYWiRcNYhJXlxgn?zq1Dhour=xxwI z^bB*MW2vTfjf+8N(1}i-C-B53VqrdsK$-fbd-J2SFAua9O=cuK$qSs4$x5Kn_Eibe zjDSg2rE##PF~PIr(yHs`Jb6U}y*lS^Q1K$2!vx2I*=84jugWfJmb#zw_&h$3&*Rhg S`Tqg{0RR6uDc zVQyr3R8em|NM&qo0POvJd)u~>I1Hb^^(pXE+Kt^cCE0P}R?lXiRctr)Rol^8PP*sU z?QKIOB;kZ2SOB!6Cb>WRec_D+NsyxCmn7$i*Ex+$0yBfbU@!m%GcjR&N)h`r>>kb_ z<(&nbhkv`@r`PNCUhMD7e|x=N@!#G3XM2C!-R~Vdd-1HdcX05x-tM#g-t)hK-aXUd zd=kbX{af$OxQdPYMjjYNghP%=#QH4&e8|z1&_y2{K@P`|p%#qsJ46{KQ6JpwwO|~l zf9~#fcK15HR)As@1t{_{V*Qo}A~;8V;FI~BL@fX)iV4G9f}L?5vwpYh3t?lOG3F7R zSg{5eIC+IGVQr*m`qu^y+N14Q?@?iTY?B&mhALkO-g;97PO|aftZ>z$g$e z8HZ5-X}~<6%;ONl$VZ*ljEJ_HW=%1lC1blex}{xC5$et%tsr9EP3wV2by$^fO_B(MjZM{c}TS5cbB^IjekCvD6sO16mjiNZj zzGPv`1AdqYid%DtBMxzdsDy^*5Qn0N&CCC?C~g5Q0Izh1X5~>pvHxEIVglS8QjVj} zgr*g8A6n|2MK~h~^_7Ix@LT`u1;l@ksF!QFsdjsN+sQt32%UCYnb7q*&pXdrUwULd z&QsF=A@SeeGma(tzxV9fv!ecgcCfe6|BvxJpz1ylGXtI?#`}QH;NJ5W{hxZzeSf_B z{HN!8ljq|J+I_Yc1P9O1kI((x;HMw=;er3m_j?n+_v24~@WS6a*bC79Uhk)8&-M=X ze%xm7K#7ni+WfB$)Z|Df~Z!L!{Lz5U+q|84(^4B$IH*7(1H zVS?BL7=X3oe|PuA!Tv#U{J(hdY%~5J<9YG~{1-#MnC`*rkc?pnVo2c}aYR|`$rJPP zNY17J&*2mmN(@5;8QK96;Rx^<%36AGv3FocY?1e*Vn5H##g4uq3CRDZ0fYvapTHx&VspQSEl01C1Iq!cRZYhd|iS+-gB)2v7=!#^|ew~VAQa9yr)z1 z@7!2Sm8DqF2h2E*rivRta0-wKFt1I&Ymv{daX<_iljeMmiaf{_+BwwVY!on<<0wT` z(OOe+DK3WS4ffHHP@Zdt_}d1p%XP$u>m@L))k)fbi|n23DR%>`nw>b`gch(?8A2ZI zzl{hL-y77~+(upgybO|iZwoU|27={v;!i@qzkzTM0;3W`!@bPoLlXGJ|*U@?*ZI@6}jkdN$8Hy&E zi7wW}YW*wCbJvbTm%}ORT8)$tJLw!$!sVFOOck?6a8)wjO4T@=mdlHmTX;TCxSY=g zjQ~;sM=(%W2*Gv{?12vr@GHjgx6sVFJ_( zWj+HoBS{#5F#-&6(etuWU#_L}{0el}U{Y9NIrfEs;6b|6<^^bsVdU-hJi5QHbfqB# zX0xqghWdPjCNK%ruy{HMZ{dPH6+~zJ#tb|agMjg;I{<}DQZ9?1OwI`(Qp8ZipDJ*v znDx8e_sJO12yw(Zm~;c;v#!v;-Za4h>PiHx`y{5w6a2){)Kl+LrJIu42R15&=}oM* z@xldQrit1P5@Wt-T4-Cv^yfTbTy(-5Mu~*sQzXZ|R%}xJ#L!2bLc5r|VH~petee`U zUQ7Zn-Tvx|mZ-*gF~v8KBhU19S6fpb;5-hIwszumjH$R}N6GfeuHrO7qE{Cr0k={B zL;N0zFAO2AA8|Axbgt$}5`mCRRZoBu4tPQ%23`$DzX%(+ODH%WoSi7io(es#*(Td) z2$Em>U;;xX?eUWcb8An~w!FpX8)X@M-&T1QW z2=fyJm?B@Qzb#?1`H&$7ZfA%hJs-#c2;ToFtPn%{wOnglPxK#Jc?3kPqQEVo?^Dx6 z6KeQe->QNV&-aKf@8uej*X_-qr~1A*{B#;$xSP}d(Y*kB{R#t&n@>kyJ$A$XBb7F!L-Kg zvi|(?@H0$tj&aR04d$5~<4SW)L1ahBPblUKa7ZGKKJX<&fa&78bSG7XK>p|CNG^Eg zB$LCVz@8J1`tqwkBe#*6D5L_OkT5`0$XY-mJ?T~8Qow}j6?#@c7^9Hfu0pN?@!JeV zAZr3ctIPqfj8OHD{DoNpciRM!-ar4NkYm0 zH!+GvGd$toc82{Km_Y`Z@2jO$un_vgmsH?@fi1zvo&YAe3B!=wqF`HFRDUN4n8O9Q zg%Qto@i1G3*DnpZk!a@_N6LB;#Ari`1f|Z_6Xr`fU#cy=*<5XWb^O_!1o;w1sTRO! z^_tompl2-vm_I{75+W+MaNbHZ0EQgVNGzn&&pQBhrXA2`oY42}PHCN1sRrau3}zfr zPanZrnqi)V9LFK@Qao}Y*UC{PO|Bsc%ER=|y2x-!zCs_ky^5^p3}a@Q&%n=!si>)q zJD~n+sfU;ZvbE*@N=+qU4z~c%AjA~c+m$=U)ynHZxssL|)w3tl5H*ad1Xit4Gi55b zBHZ;|9JJ)$@KDK=+`<9_-xsF&-IY91-j zug@x?a3Q92p>o7B$F#$$MIm3h z4g=@Oe5_X8;3d&Ihd0Gb-+Lw26~a(2iGLJ z-T~JX%?U?WFpk58_4h5s9Era};=@p{lgVUqT|rEg%tsk!XVdg6xu};zeFkq(j$Rv} zwlxps{;p66Q`y;aQy|J8B-qTn?o<#c8mNEEk$$KqbYQ)gW3eODwz0!ta04SB1vVt1 zW5n2(8_L%EzDwmKQfZ4)SBbJ(jbP}vshj{{H=_@B9XnzUhbgH8e(JpF(j?+|jy$Eq zy;~S|W_%t#dHwd#`)zRQogTkCK25ExqUiL&Q!<(8-No}am&bi@!hxSM|37oorMk=6 z>B2|@puq1wm@lrZceYB(PH6P6CZ}QvLjkxI_P^^4(98$vw`*bjYirtv3}qigQK_;e z0&~c?UDCa)IJtGlAsHJ#!;9m=(b;il9z0RHKbm^bGe@SLTuqb6n_$YgN0SI_F@)qX z{{Pu-Rr99rp?l^ zX)%piz`_8=PAFq(PDmZ2mj5#p30ssSKq7E@G#GXymzC)!*75EmO*tE(&Qy-p!tu23 zB6aAQKe*0>B4NmI;%6Kpa3+mNtK)S)ORN(t_s|&^W`yVn$mH$>if%9^k#xPjffS2L zN}w$OFB?+L+&&&lRaTFv%srrr_9IM-q=Nucy~pzaEhrOsglQkR&VU6m#l!XE=mreT zR;UocAkYU$uFjNW@Ml5+GMkT5+!P%72LQ&a^yfEk)C-`bw-4H5NZaYzyQq;rcsH-# zLCOx#vW1dZwNLOAoWa;A7%6SFWVZ6q+&y*@VIGVJbjosP$?~m+59u@!z}bWMT}DhD zvA@Ak$XK>p?fYl&QVZ@;FI|#}2ky@fCb+_eE?*PD}FNAM@Xj#V+ z+V0F3unrxSW(u&+)4ftSN8zD#Rz#ht)Q}(BYz8R`UL|50VeLL>KkxOI8W) zG>fZTbF|4jUtEdTR|-dm&HCVzv38xf87@-xsYB>llw@03(86hl~(dqV;n7}?DKjA3#V8}^vD}zL9YPi4ml zE(u(D*aEIvvB>=}Rn%Nc&kpc17;@^VLvjc?6i{Wa=-E>ni7tMoyeOeQYqia%#K zIzx=XDPlnXko1S>28GfgMy#(gSNz1d(6j(3LFfZSDWUEzI>iwhQZ&IIz@@peAgmFI z4MzyX>f@GKs^CfKWHtw;f@>j}UgA0Wi$n;dKg=3hAQQ_b#^F4+1=^G>SOM7(8p(C$ zkRq`%ImKfNDMk#a*MfHO9)#(KE$P|gF(d$SBt9{|onN20VfH~gp31hkDLI25?2&Z_ zKj3*X2b^$W(q~`txbn5!D@}7$kQF?|bIel|_7Kb5IaD2U+UYoXD1fWjYm?e_70eNd zyzK0yux;jo=0<$!$G;*J!w}yfb`o(!Z(s;64~O7=`Wj&UK99v&wF#CWL?sM?+FGrt z(g5B!m7%=~8&nCG_R}+k`hQL(RlDDWGc-r$5|0#Pc5NVv=8cLqc*xS?yJ^wO(-A`Wp)W(r2BqdA#p+v&`A$!;QBkj4q1fKRoiq7Jrc_-Vi|KMS|#Lb;D zDlfLuHiQ1)^akwkMU23&sd7vm{=|D@w29w+xoFN#5 zLX+rv`eKz-tMXS`tuHHO2C#YU#2!1YPG>ikMTb4#f41kW8j(QVytdbr=}UEZY{u0o zfx#;n!pKKd?jfCgmb<$9K4Q$X zJhU7x?|w*+bElIGC%YPpn5AQl1@FM1k~M+hW_osuTYROHvrXp;$?1*(DKRvpJZfIic#b=G7uS zX;Ygp5>)Ca9jH4OF<}gk!-Y9MNZrQuaiNUwp)i5#Zh&sOY&Ms(#r2E*vuow(C9fv% znY4O;*T^tq3HoEpu|=e}gw*Jm!ld zZ0_etWn=iMjzS6@Zq9l{j}K+XXUgHaghq7S?xik^X{X z@hg*~PRZ|Fd+)m%n7aX!ni44q*YZ0!I5+^A+>i)Bx!aiCpV-3Fh*0epUwOM$x;S1- z(<6(uAu;H%84U<#_%Ec^@=C#CW*rwoAU%9Varmh zFqOflOpi$gxj37rB=y1WYn-~arf*xZiMUg=Ppl6`QL{ejt-0a5!{t4jgQ%Uk4nv6N zV5kp?VU&6DU1za?6nkaS>mA9H)_+N069ag)}!M(kqc;G$9lj8P?uy zU`&!IP>`DVvF!jxcH~gg9!5Lq{Yts*uL4JjzVBSVb%)5|H-vm9 z35%iLu`JLpO9?8aTZweomb0Mhv(z0?VJXI=VCh&*kvToHDrscNIHiy!d6U2&9dkg49tv>is>r-b-YE}U9$Sl*Bb!LB#R20hb14iaYwpC!M z%~Aw4AtCAgt7_$?Cx3$_jrAchoWd~*v-ltK;zA$H7s3>l>t$Ujf9#vY0pw`JDdcFn zPz&AsyCR$Amg*!4#q=r0I_6B8D$M>;c4ln0wJ4@cNSb$U8<2)6DlBs+rj#_bZq#{wKgVvexfnRsvGekw?N({JiOXbdK|2sxaR7BP4C1BUpxGKhh5iEL zge}J8L-t;W0qTR_p9bXV4tSc@efmeX4N}HhHC|*{wbnUPn`DX+c0|6FC7=Yf3Hm(d zyWp%w$8dmrnD%zQqfN{iSuuCjO>YLOx}^?Wkc8@xU6BdnX!l|Ez3^%1idv=%#DsEt z&6uGRU-EdATHE)3{U-_yx*Vzr0zV!{e|HZFfWL2zzmr-9>2p5R| zx|YJr+EQK*JDc6I_NFs`3Nb{eS6o%GbZrjPHqPA)-jvRJ+&pYOO_ z&XL@3&HONuvG%Gt*M!xU&UtIx2DEGeogYihR?&IBHCaa&#d@8^w6j&!E9&w{y34Y< z3VGeyI#0n}7uaqJmaejMMBLj_yG+bCwcai><*tivXYVXuc~=p#;_`bL_9ciLFT^*i zakCm1{HtN;dh790%)MIRE3V8}1HSSa-4!oz)rESs@^m=R;UU~!SoRBGs zYjdemd&;ElOlb+@u8>7aDUl-0Mnz6*rJ(;lna7EYe6Nvpb0IhN%T9{tca;+A59uwX z-`a_p-0_jKrpR_FSgJ>qQ(zzLJ%4eAmCVG6__H@}X{T(hDstVG`&5egti$pOGvM4V zXtfBu5hl(_G?mwtI2GoyFV;EgHiZsW8y;n%X%D)P-Le(6yr?vn+2fnhiHDa&Y7XqC4( zd6LLnI*@`OlYkNuC<)n-{-0EusPZb?EA62AD&Z=S2A(6f18$KHXC%w$=o3nouncZQ zbSpIL6d@TycT{_1mOI@Vblb;G@ z7afZCr6}~)x2h^)*@IztghIG5cY;sUI}nJMfa$k_3r!%#xqHUymhQ?x^d)Tr#oXdv z70d+UFrnyjMiHBlFaSTR7l5a4nu2199J(2(QKILCI#4b9Z|B8GM+e9o&(binZ$a-q zZvl|!OCN}L#YXnQZcqA6=LznE-EURMO>L)?=RQ_eT20QI!CWfo&A>E}^=5z?N_#V4 z4duNEtd)D=%I(oy;Cqb){>6Ioo(kim2z&!UPYXLGJ^!`3+G?`i6zWoGZwjb^yf+2a zP~w|{Ybf(2aIO5C#!~2Thg@U$PoVBJroO~Ll zO_jm?t)S^J*YXQ=W5R}?VwR3F3qT&ufv9-31(p*DTJZOT!M5_ZM*_CPZx{lC=I;Nu9 zp|hBo8Z!AhLec~?n&4Gc(@=2=kT$|r!L6(0P-mj8u@w$kjE(`I*wb1=fQ-wkDoz9T ziNA8RYXLq~f#WhlFA}xkI7a3KCEG_|^CrBi*61pHWsV1*P()Za8>5~X8Bdf+XSAgx z8fOOpEqh>##ua_>Oh@NSImfQdVV_BDz6Prqx~Y?vqc4|IvgWWZQrBQyr({;j*HU7$ zVV?a`ndXc1q=#;L8##;5U{jI_w6c*JkU%B)-zAnTrb}MCOM@kQ)m0h5i*9S7Fgv2@ zm4w*c*25xCB{+lc5nys9DWmE!P9fHt`HB>M9Apv)SiT5mnoKiri}E?&KS@I${E|$O zl}GUuPP0OCznbs~G!xX@XAc1xN*pmeK0% ztOR0kHEl)l&<#$f!j2p-1O&m0@03dV{JAYk&qzYI*mkGTf@Cf)Z|9H7GlEtJtn)R8 z4i^(6$|?)L$(wGYJ~k$oN?mV?)Iu={_G{soLN$;$oYsI4U$^jlo^X|k15TMdW1~oP zkqorIT?0JJfM0_{6aukH?OzAVq`x;&<*fQ@4Vg|0%B@CqisoithqUToqTd_t^g%HM zif63_fM|6e^g2IvdR~CW7)IW1&!fA&A4^&OPbTMtOV3m3JE4n6RG+nHD%tXl5#p{iYTS^kdA{3^bePufPi2xZ*y$IbJUFqFm=s}ZQG>x_naulU! zlJWE^NHemf>gLY`2^njTj!%ydFG0`=pbAny7|G7t0f&RpG5GD5<8uK)2T1SCAWNZL zrFkp2(&{_l>EWC6^W($Ir`zDNP}!p7is8SkYTMxWbaV`Q;Q0JVP$0fujTd5R`SZn_ zvkD*}&@;WEU6{f+0$Wdw((XOo0qGyR;t#{$r`zp}8S?_mEU&e^vl;*ildf^?)4{9b z({}M|ZZc_~TLE+p&Fwsntf7^dUJu^BK3;-pWQFlcxq~AhA-B^Vi=2E^t?})YaN6h4 znLf^Pdvs|i8RG@5EbSI5FUwR{;n|o=hG*Uxcf;Z9tKJlG1+0~AB;qmwN`t2 zysXT80HgTM85pYQHI{~PGt6aLyKVI0!G_3n(T z*tl=x`Pc%W{hjLbb|190AHL{)PfG%!)2{mYq`f1G^F@qAS#_kP-o=!}h;ocryAM7} zIc%46x2NAMC`=};kWkcn%tQHMkf!FzK28Xox2>V{d8dfVWQ|w}Ra$8|qU@4}3xmZH zRlLj=`CcrAa&M}sEKpjCL@Aa-`N9_Mx%U)B0iqH`hy#nQiX{2&3`gxg*mZq@AKKEA zb$ojpVJ_gl#_jau=a&7i;a_^}+Jt*)t1r}rgaBNm)zd=O;!qT=xp(61-KAZX)~@KT z0?~D_b}_sFr6inkw%%avQ1S-SQTf zn$L1qoMqBozzMiWcTgtmH6=;BY<4l{YmdyZOr2D^MKuule2ZG*|DUT3_j`IQ``>IG zv+ntu%i~dpf8h6nqu&1C?d?14|K5v@{r?!x4?lpRaupfNln3%Q-|Y;CYOMM*NTnOi z7|HAgC=SU21>lDtS}i+uxpIzBm+DXeZZK5$GjnIkmRqCvs85rLN#qxX?o!`E5gl)9@8 z^ss_a0Je+mhvzPx)Q%LJgH3$2{VMn;sR))tV2hpMb8U^gaiFm(up_aGgk0;G*_ zG-(ONJN?J!_I8Pc;hT%g0uk$=XEE}n@JW0oa?Iy;nkT7o-)|d30Z-g>v{BEZ zxSW_R1=V(IC@l*1xc^Rf0PsA?jPFuzd_^N&Ntyhf6E*v4Lan%owMrkHa4?4pz~OrY zAef+AFvn5Ctq?D{tehu969(c2;!upbPPz{JO-7?IQSA~ny8Ga1ZqB~(8_LjaW2tzW z8$6@qi+3l7j`7nNb#t}vW#vA86cZ7ZYxON01?U4X!_B^-(J_HVdfT#xJK{gON86vx zAZ#q*>k4?rBqQSu)*D~H?5Edlmgrd{7NT+9gwR_^gJ!b9Zv1Xz`B=`=egn4u+oOoY z?%qMC*Xeb3zoKq#Zp;)`at6MD>zPyDr!qJpm>1%!T@C`J2G8siuk6`m^Ro7vCtb;t##o4()%+H{W$mku4X8V5oH}7hxdS^ ze*bUp#q-ks--}-FV6*@C7|+L#-5VqG;Y7};VXdQou zb%tlPKc~0wAjrd!VLR0ar#)Ter8}tZ&7fT83!@ zTt!66;&Op_Le+kjIu9x(?3LYK+k<*PNg*grRXXdhE~F%s;jTDS#dqsa!Iu=IxTBwY!|g#n_5zN>2>%15~ggg#}zx1nr@+V6-#&R z>$R@_X)QV&8cxyCan$=W)cBe49LtV>y!Gnmbe?lX;;d4{*%X6am%=C*gz*fXCv&jd zYpyr#PH4pTwYj}6msj9!L#{pwH|?9SjW}yh#w&8!s=6ART@|bN?4r-f>B@o+#%ptc zSIgh*ly61JwYD2plH9ajW!r1EHts5NjaXv$)Qaq}s>+*JtBRYfw3IPL0@u@Pgz_a* z3FQr&tvB&x9Q;O2wks@cuGu1tbEQ{ks=3u{PL67uonG-=bwF6#W-ASdwBB-6o-0~C zT*?qDnf1Ep5}@|9>X&x*p?o7InQ&~{ptFd#*FIZ34x0nf+gL7!6-s(d@GXH}38TT* zU-Q)(O=LT6)8Hmzxo(BC8#U;hgrVbH@mwDf+ML4;*eNMqxqZ;MhA7uXM+MLm}&7q&8T zHSbHP4YSY(E`xd8folfDVFT{jWmjOHyIKR@nTij?#L~!7SmrRcMve3>MuGCyu;;y8 zMAF(#5&@x(yM%(R&d)eRtn)e~W6++6-`#>_x3}G;rdP8uG$qRORSt3XefrB7x<6G& z`uYP}UtGk0DLl%-o2?|H0z@z#shSnCnJ?2^I4kNkkWNw4)6Kc>fnC8gJx#30v7$b2 z#tX-6?IhLg8LrZyx{lqI7GsS={#rcE6IZzAZ5)-BtWoUyxQD8SBGdz)jNCbA!_2_# zXlFh20r?=FUSTG{F7yfW5+7Ue3H+H5ZjPJV!B~8FSy9nKs?MErP#_or!r>I0djni%ACl4!jBIl9+dkQL_FFyL=vZJE@LA0r&%a`lPEkisy?i zQDKK<9^+7E3j)TS0N{udVVmM;8VZ%c7@Q)N3f6}*e;5wyRYuW?Aw9R!z@*oK++TKn zfw2s8nZ0w4-#n5|7{E9;OPFnK)ZP}zq;n<{ zV}(fv9&j=NqL(@eO=HFi#V_xEfIucDi;#M!b2Kr;xs*v6)FgoM3Sw6+5tcDrywm>X(x>I}5yB2=C|c5imah{N4FUjsp;^PI_FRcOSc|9rXI+4p)o;6HXd2P^T)#i88ZVFAq`lh6W>P?9O+^)8|z*g`9*dG=*)A=2S)bygR*&QcxTgh#gQ_ zO)3CKGv)Lso2iq}mLLGgz%2?xm7rDzQ?_$>NUtv@Gb~CRa zQJE1{US;)Co*L+m-GFiy7sn=Zm31uev#v^k!5xD=JxDYGM%u14AcEUziQBXbBGU!! z9I?5?C!ZRU_&r-N2N8$J3U=_h0 zJfvv*aEW9$XGf8(R(hQEIdyT`kV_Y*l`OKe*Ay2hD>lmkX@y;7nXZYV07YU6&Fr{6;pgw zXdG6paSAE5YIysl{kxYvPXGV(^rW+Z^Sj>wSQ7tl@7Z3-|NmKUZ{z>}7>{*>`l~p+ zD%{j|A7M%LmaT>Q;AXe=9!EhxJGp4h5r+Zfu-^hYMt1Y7*|`HjI|au_$7Lk-wZk}! z0;sO9eF71V#4G{!m4+)FU5lCnEB%)&W#{d1qT+FQV|<%rh%>MS(yLAhYS$pJE;fN} zH-UPaI+qou>IPv;vDO@*G!h%B8Jm^u4D|UO_yjbedtj;GPhQ4kQwos#`p`#RaQ*H* zTI`slBGy$2$$ngYzuPHO7f zRkNDeQG@$uRd3~nZ%t3xWdMlY?*!c+swekj%PXibfjb?BwjXr*cDovF z=J6%-xO9tJ+WlJF)~fzgCo7P(;-V-e`krBfNxJi`&b(je1XZQ~DfB|j_`NIum+1fA z?u+Ne_22$}Z=?Sol-iZrjEfX>LsIUs8OZ&jovDmF>Pupw+`h zNmnh|O@>o*#X=5I#agXuYP-#?N58Z*Zl1?}YV|+6@$X{;VCnwv!ESN=|Dw0a|Mn

p_!Y2L0ZY=;g$8S0rm_pX*WSM?k-WmImJZPO&go^c*qA|@VD zst{R}C$|V4lgs2a6)Vr^6s&(rBynp(g zXMkn?Kl=xJMf-p6#b*EaQJ#XTbY@Qw;;PhsE*U~@W~eghtM4yJ3xECjW3xD@)%Y<9 zMwSi(z*1HH%E@n;T6>`g(b3-(oF`xqhU6CDXiSnQuyPYIt&uJDoV}n36f-Gn6pEdcV<|I3&29(4b&eE!qh-JJhE&Qlmd*1gxl(k~w_q3-f#C$krZGMBw9sBMPL zg#S+%FM5WXz^68#ZGaQe5n4O z#Bqq`DB>`bSz=kP=vl(JEUw6w$5E-a_rM%SeX!fg=Clue@Z$ONXU|&z=&ZB%1x`$4 zZ=!H1X#=sFjRJN zR@*u>uA3&lrAbXqS4~+X)Q={AYH4E=SO4U*O#kog74`q~XTAN6{(p?8pgXL%HJKHEK|)ly7SPJWw*!DkD4V^$ zhc^9{Rx39xzlam+62@3t#^84=#!LGTWy2yy66z!QwYav!$P~LlbS#S`3>9ihvN9uh zg?{~4)3;ySQ>p*QI0}UE_6XEW&j0r}_Wz?iP4)jPB@UZu;47R4NQf@bL@>pg zuh(F%nI-xve4U98r!r`$Xk9Iq$Y3Y33p|i>1{wH1Nh01d=M@rnntpC+G!L*{Ol6?~ zcI^BqO}&^m6G^kjssGikAiJ+6z%u=RP`v-U`=YnI@&A34=VMI>?0gD|PWAN+Rb->t z?_0Agx2-oZ{4+tR+pl#RzJ>m*OyxndoXX}ydmDg4R1DAj^h|1-;z>^_6;Ccvx9eU; z$vG=SwiHJr&`Xk#7O`4omQ&zPq}HgRW++t#4bHt3_Vty)uwA5C6v-1?U3oceH36wA z^uL^cp`L#qc>lk5uvgUo2hW~w^#7wgw!3GA`IUw(&0XPh*l2YVM9xCACyKl4{gtPh zf4+%geT%nl{Oco}haUfXV$2uM|MoWP|3`V&IRDeqai*nXz4O0O4v5=yT)t#<4d)6n z>yQ6ds(a7pgiTxEJ|}E)k)RSn1ufs?$ztjWgQ7rQ>rD>}W0!}2bH3wB>vzvd`AZb{>43c1-?_iXJ^ypa z(Ig2O;vPjX(2JsVH-zfv|L48^XXW^B`l3Cq8kIFNa_2Qo*U;h#b5}oB9w0y37e1B`633;GdclcF za9TffTpnMw@EmuD3&X7u9%;8}v2z%J%%7nk2@yTF4!(q?XT4Uctg1%4Y}Dnt$4)Og zhf_36!ccAEYiTMAQ)!~Ghv;O2Bg_{TPxPC{>j9@)aU;nEmUD{J$3i4Wi=I@BL~qs- zsjFZax-wuXjeHSTk!ZmjQp6CKz?2lXL0e8KRpjsX?BO6~jpGNQ(1LqMDkBo0#w3cu zjcBx?DgyOwbD349X_fbAq2-A+ucXRXHF(*=tpvS%m(PBCk7FZ;tl{`*+7M1cM2kAl zdU=n{uu6wOeLSp^s^Sr+&lj^W%l>;`*!kJN++Ri!I3dbPa@0@RhAb-S^gZZGOL=5 zdYC#+n(I$K%4hmaX`ap1#i-KeX!gaQ%}J0Rnrv^|+eS8lg~|V`pf;E2#!gpfG`{h? zm$4LOT~C;i*1cV6PgJ|+mzyRl0tfRm97 zm<_gS*jm(7>0Ldry$#wh;iO&0;?Kx!1g>!ayyUts|9uTU0YBj~RX1n@Z?bo7_oq$# zTquK~iUsK)KWx2YbS**Gt{vO9ZQFLTW81cEYsa>2+qUiO*iKHK=RM~e?~iYc`J<}4 zx>l|3>a}XrocA^DmXH5vBKR;*h$Yj$ezx0T&xJU?pX5&P^`PYsf1}TS`uLa2;q<_m zszp;PoaPWqpCTEL^?7W-t%ix9#+TUqV=auL)e|_h6UgG<;IgFF24NuCI~|JflK@bOp@Ff zp1<1gut~?`o2Ieh1~%hEE#6K%m@QM>)AjZD1D=7Ml}wsGph`MUjl+pBp51#?J>Y!< z{Cgns?T^S0u&$Q#-fp_pCu#*tUyghZQEZaS9G_X=u%K9g-z}b0qm)kYca0owcXYr~ zEv|7zTF445agV}Ljh`JFQh@SnEU+-G`WHw^o8$cauht;E&RAPZ#gAUK3Ss#`v%Uzo zQd33ML$xwXsvZ-R6>5I3zChH+Q~ZW)0oWfz9thbpUsB}lPggr0Vm+BTD(9~W>EeGoRa=UL9rqBzs$ zS!=6`qtd2srn;=Xz?KG=Q&py8X1>$gusl$$7k(w&5oH@C^{nDWFIzhYenze)Hde3O zM+f8CaqrBw1hEJj7Zk3^#5~nC{{@IeuH>3F5@z>y`t1H``0lJ%zILaZ)5puz+r`;& ze`M2^fw?J_@IP+5E-pW>=YMTrlZoy=S6nvR<}*@|UOp^sILZy2A?b<^Ae=k{O_7zT z$WjULYUrbbi+>0EkH<3~DjV6wM^UTv3A+TJXr==^xhoDVgRCG{Okz7uG^*qMT~ z@*molhaXGe{$J;T&X>2N=JIDnyX-FZ1zo%MA2j6Dubpry^Z@?T0lp0J`Dbd)v&zKb zQoaI+Mx;z`8T-2~@u=?xD{`yxqy6*E`Qy9cWqpn=F8nMNXQ_}`!05%@xAIz`^>u-R z_v7ia2C?yKHfYsCjS6R~8zRbNC4QW1N6`up>+SmFueRL)m5#RNlQOFL7gYFi#mr1P ztdv?()$0|n>uGM+1NJ#LH-&&7A5Rx=K6e*SZx;_POw9Ns)-I0kx7PzpXYae~*Monz#;=oi!y7{*D6+vG(sl^ELw7PXtr^(SfmwrxQIlBv z+6}8q0%2A>y?8%9J}lR?wBl;vDi8Yt(NkspG^Xkd>VF#qL7_A3q+eOIlh>jaS!U8aVWk^mib~AJGTeteu?MMBJR2 zG@%a>O}`zBKpiBkat|P2DKqxqVaIuRIr&p8kB|H^7R?PbY-p85pGk8HdnJ~VT2sl* zMt@$W-=LWO619PQ9-a$)dP$YQj^Xy;b@6hwqZqRntpNG8hM3}gEbs3**1@5M#ShkH zV1TduPJ_dT$;!sRzw_X5-u(8xt^BhR;N|}cRy0lKVtg^RaquBE_UJkT9|i7(-Ch78SOJ=Z;ahgp<=)r#{8Sa?lgqA2wlRM<#gYT~ ze$^zI5ZWDiGMP>;o{p}H-E&s4UpZKAEWVQnI^7m_;-lz>1s&3hTWvSx2C2TE)Iy9f zcd&-!#nb`Gu$??Ox?i5&JUCf7UEFv&*;#scdR^FAHFGrVC*T&Ub>7=Y<_mvfrWZjD zd09nwurmt7Q*FgmTa2AK+j#hp|0&CO+U?X3*^oNJ&l87{L}aiO&5?%L?c~%hpn=bP zD7r4LW9a5_whQtf#-Gl#P-!uHe@#~QFAv|XXS$6J6!lbTg|QB_OIbmUi&$f|<9lJ| z07;&wkJvXKalm~?_=Y1G2}_NjmNvE%d05VeT^dS>Wes{DDswRaT@9&wYMc_H3H$<2 z2$3x+U=$R7RcWZEzY<-*u2z+gple#Eb0eha;jmOxR9d1WGtF_zu^o&uoqV7Xp}Phs z729H3s9y0XQj^7FM=}qaz3IOH=SOL_GjJNO2WcPhy1-lWC8vwz^AeD2vC-@HIxyDg zALnLZ;1MF!ZnH%@60a(BM%35#kR*hsa@G5z0I#Mr>qzkyD9S){=QFf+98JVVY@h&K zrrrc$3FMHbumqx9Zyr(_?*m1POpv>w@Gt2gyQaC#UPY%|^H4wsMx;w*_;ivdC-%iZ zY%6ltW5xp6qfCN=1k9`cpE;HNsoY>WfYtV$GJsPUpo+h9DWZyh^L2d3SU`F5fER`` zsI?oWiVL0hMHU<__qF*EfvH^B3PVS7;}4aJ=K&;nqezQ$WH4|IGX*<)pm-s{)VV5LQt<*aD3HOqzQ8>CUW@W#BhY*$hu@l$GV-BNyxfi&){$WUp)^nRgi07^5@3p?soSWZSs!{0(FfDCi#*! zkprF8t=L@K^kwWTkl8sGqmnw_dpCm*?lmH$6C4_B($3V~?e?%w%vXlvzR@WwHet*^l1-v&>GtPSzI=2Y%-L?+IZ)wDIK@jmChB7Ln%L6C!_8 z6WoK&%Lzx+*J40HHSyONa4=caQQ%<^+Ww!4fq;#IKgdQ(=w6@td7Sgraljo|F)wIP zOA2c=Q0B50W&m>;_ij;N7Qnt^b-8jpZgI&LeSFq+^5`kDS+joK9J!N_&4b#O`RhZk zTmR3R;2_x<`BDkj{(E35M>cx)f7^#E!Z+HNZZB-yf!{JguFK?(ceaas^gjk35%XE+ z8;9+(99V!P^H*}nvp18K#$uyMSq%BgSyk9Wj~_%fd{R|&2b5A{$YjK5@PS*sh1bfz z4}T{M)zpHbRx7uLS`fAteH=mW*fH=7Hj>VE!Ag_2stC1++mZLxg%-dr8gkH&V&UlJ zLQ@M_@J19XDjBPU@*SM?5+*vzT;QlG>sU|%YZ*SPyaI9R5X1i5TF$co=oIEw`*VnyHC?q!s2Rocd#a(#5;)KHmkx|bVUgN z$E3EDsl#im#_C0nW+@^h2H?iE(_C$s(wkaS9qb=p9tQR3cCvasxI4JKom^cVHIS`4 ziRv6M-GrrOC~9y(JNQ$z$k^T~(&Lz*7OH04VEDh|^K&v?9>`ShsUCfX2fz7@NK-ND z?|JTTokqzB9)Q7&Yq*~(qc)WfCg&@q>NVg#SBxk2g_{2^I_h4pD`5Pb+B16%Ob8yHuQg45Ct6JR15pnx2SL;tuCHce80(B1z(Uo6=I@s0 zJ(y91xN)-C!F(KjmvC5O1DVVVp_7MM;@%3hFD58fuZpP{#n;&xY{J=AW^iLzNB0hH zQ!D$AO^luZ%lSJ4v)ES%vBDw&+mTWtqCeMAW;dgb5j993gHr-~*iJUcfCv7!Az`s& zBCug1Sk~Dx5m^5(LwTC~pLV>)0%dFNKH!wxJk;$L$*rtiG=|wuO2nHB;e%8(u^^Co zMkQb)gvXNF$itg-_2Y|m|Fv7v2bQCei|m7mQ-W%26+ZAIIL2cq`)iaxeBc(_?)Svd z5;1IDi}TsQi@YahYsP!)=Fc&vKPfC9WWaHrY?$sD7O%2kIsao}vwcd4>ih)XULw3G z4jti;v2CT-;bZzA`0LhTUzm|UZY6#`EeF??Ld3ZTX^k`uJr7RHd{GAhL#K=?O$=*} z=z5iqI!1aF;(3vitw8BHjxXwQn&R8Vt1RE5PN!981MkI+Vm=QMRz07jPkt>IKf6L) zX=DxW?(4aZspo1_naVnD-AR&QJKZMIRDjkQ6y*YIzd^WP8{P~Z;mZr8YS*w+%feH~ zmUPfGYV(Q3jCg{DnYXBWs_hWFmsnjCPuc5+fM2Oh=O85%09St@5U>cKH~^ul&td8a zAj1)$hRD%~@#WC~0#T+?KKQCWO?6h3Er_|=O}y(rUA>;FDc8wH1~?&&|0<3OZMU$Q zgQrD+wQmz{1AA3>Bb5qqVQItFh}rGv;^3|7{fnfGeFbSU3%*NT=aZ13@O$$CKngvZ zyuqB4UFJV-iGF{>qt*4DB>|@v$~yP?dvyi&(xsTf6=llJhg#>j$uq-O*(qW4aCtR6 zu9#B1_0JFAx!3IHCt7@ZEg>eNY26BUi;d;&@&p#Va2~z8Ntt9sbX4uYyJsSsw3K3b zTgwT_!mez^&4;U9gM5C5%BrS2`}W55?o3yn)--FhHtKByAUwHP#hW^AMijM{=a7C^ zkEyF|R7Z<_%*8EpYwo)4{0Pjww40oL3`|P_zKivp6y%(borYR}M>=5Ibr$+ooY%ODmO@13QDt(R%s1 z@z0ND({G!+oZgPdRlRXWrAFeCW=~f6g@4`cM@JULN~JE`D}sY$_)m$xPM5UwlZBU6 z3nU?qu>f8_Rc$w$YYpm_Dpjm#ENQG_{Xr%#-|AD0sRmMieNwGIX`tI=crP=abVfmB z8zoMAeEOmf&8Zqixv{hPSEMfP-853pecRJx?8jo!=x3dBe)hOWErRai)Dy3|1d$zq zXTZ9n{g%^LuE74$&dVZQ|5_*6e#_?T)#={%0%pQbGoIB$-^7p4VQIO`4I!Yr&-cyF z&Q8>};`dFr?Dvhh$K~fPdnZ{`tJHccO_1B*)Rabzerk?I;>d?l;p2L7Q>Pw9DjR@& zpH?V9u7N2cs6B{2g8o}3a-SK5KrT50hyxQGV`et8Z-9Q?FM&%m+T!5{GEE-^Og~!4 z5qe}SECM9fdhHj-HcW#W#5gdoJY~ap&j|%UO!BLgio)V_PYYlqy-6U6PT&M$mqNfG zK)$ug@NBQOn&ybp=-tdVC%o}fQ~e2Wd#%5VS>N*FHL z2LcZwUH$n~5NCQT)_|on?^2;8W0wyg1Ccx@A`7-l+|O~Bd5c+~pH`t70<@h65j`KQ z0O@p>MAUxVz6J;r#i`qsbc>=1Gy);P4?{@H;7!lVoX5X-TYp@~DAsc(2wAfTl#G;Y zTdld7)10b%xP0B_C{Y?-DLaqE!+qfqLscf@(9_EZfBjXS^%Fv|J-GGLdi?Oy7!=ff z@VV>dTbKUp2BXa0P67UB_3+94cWgBS?Sno*UOzl7&T+Jt49}HZPEuEkXLbr!zfR~iP9aI?O&Ct+1mT+p7`hd#2W{@k6HK1m` z2g-tTLc5Qu1wxyo+Va@D(QV~MT>^MV_ zF2!oPJ8jZY{%>#@{VLe8PYcz@O^yuz8%^VnF3%0>W$$U{M<@2j4P%Z9P3I%lm@uY` zD9DTDENTFM0i{~lJ7ZNF(YF`-UL-_M*;NbUCY$Nzi1kM)>*jZJ6EOaNsh9Jnj)Y?#gM zcCe=GVH5r0vv?86jF`NU*WCkbeOFs&`+24&Nj@6^| z&fwj~$H#@97){YfS19z*g<<&(e?n6nYs`3l=N_{IKSP5jUMnqYN_N)Wj4PNiUVn=D zeZ%2*l4@{TE6I&tZ%<%^&ovr$X0ZLO|Ah=}0$VA#CS2*Ba?~8vE_m&I_-Cv}kgaC3VJP<*= zZ1EpXOpREU!jdNtTyY1$4V*YZUs5xd(p2YtZ{(+{*(dtd#7_o#qlMb%=;yd?fi0Lh z%-4$~%u!6-3OueWcB}7M^!~?hkuOe*|FgH6d=IxMjRYnO2e(m`yyWPY5Lyifhj3Zp znDlu_jeF1>$NEhl3odRpn(bk~%V9bCv(p%~Z#?>9Mu5yUL>tmh0RU=x70CLObkJ63!7}mIK$^9+}6n?r!JsbYa_2 z1;!Htm_EcbP6I>&^tg!LXM|(a8=D440yGk0oF#wY7-G2pQ@Z?~u5df44?eU|2LeNQ z+v(g=NI{0Vol=<5PIWO$a9lM>DWsFEwCfPHlG%Ty`b)#K_jv!|?l5nzsjc-vVnixf zaTAzIK!W!d1aLlHVwdZ`Ia_73R6-Sx9%KM{2q}d%QYaC~OG3#K$x0+hSXbAiE%zpc zVjv4j!iLSC~oCQWABZK4< z-h0tg;FzUAxVoxaZ%G$ul9-dLe3E*Qy@P&b05SqWGBpK`z#Czl%L+Re_7-U` z)v5y~GYBNYljstbItiauAOcPQyVeHy{rzusU$h65ku-qePb+tWUl__bfhdgAkS6V{ zV<$*w_I9_Qoks=XELUf??j-P_8$rntSQIN+Lia}<9}_=L%-3t8i;&uX2zU<*Ac9jcY88*w8_!qFkj`WC}N zi56BKq>K=pW2>v^F464=!Y`7kpz&wT6RFhC8n|QuYrL8BuYN+*j#38=#S&&lw9D4PNtf{AfwsZ=FvL!`tOkLDZ0Wi`-Id&d`!||4t z(`KSG`Jqd5m00??a*2~cpL5f+CR3bbFwsm=?(OaNz7iOL(a>moCSp2d*uMq^)n?-& z;!H!cO6I3a|g6sam1GWt5Bm?g1uz04$?k_a$FIgsqw= zhDu^oR1>Nel}JcQ1#cj$folnc>w^#!*Acqp_C4MBX$Rp@zO$_vKxjln<4_V;=4E|` zp2JG#)u`LnUvWDWv(e=eY^u&_T=F{xQ49kb?rr?B;gpP#^r$3uK$T=f?4Xj6tlUmV zaq>};oNg{B4&zM+cvzQ!BoAa+R>N#2n*p3m&;sb*&Y~t85=x-{4J5kfR9Y-D1MyLJ z;2v{7pve!c#}&<;Am(P}({QbO9!D;0GF&<+61kr`)&PUf{~T;@%Vjp!tM#aeFH9Y5 zmr|oF#K7pE7RlP#@aahzHq)*U{UAAx@!N8CYlp zOWsiQU&SMY=`9eY4P|s;0|b!gp6)&?7@-h+(DmlCWzn1WL$e57*odqZtx*LgeSGJ> zt#ii0>H{k$X&Qd-o{`cVHc}_5M5b!C`}?j&kfWTc?hjAC0IO!nh5n+gXl*T{0S0nu z%?szZ zYBb-ge6B2mG(?s7jNJ~Zws=@;h<~~!Bgw%RK;m@AT`7^{6SQt#l zR-qOZ&}2*^u2GqtGd8!kE$JyE)GJ)^G_wHMr_eQ-H+ZUWf*FAlZijeb1bwRP9W;IE zDmU+Tcvo)WetFI!0OzFyreD^o(beUd#1 z6)mY&tLPb#SW}$KHZD^_l}%6er9@UUjA2OkG;f|BTG@>X4=sG($|NUQTh5K0FI$?F ztIf-t(5!YBhw`GoUzngP1o}m!p{cr9!+f}f@1OOO{tRVna~l1SVrZ`aD|!~rI4yBL z8#L4#^zZ#~sr6h*vN8FF0hJ6tYu_l;0=l6UcKl#TTIb>bviQRF=URj_XO=tra6R4G zY`A2MdX21YsJ^bEM{P_>*OR5q%ihFmLY>Z$-^*Ams_4wJ$*x;XB5_dBIu_RoH$vjE z#?IhVgnx0p*vN=&{u2Zz_rZ#tuO|!7ezrQ%qDeI#sJ0}l7oxe)M0=&?6gU1NiA0N8 z^X#7744}N+x5Bwk(VYjz!s0R~@r$P%d?Lx3A{_16T2+R73{V$Au}~n#Op`Q9CES@h zGuMabzEd7#E=5;Fue@AX5fqCB#AOiD&TTL(xpc{6rY5Re7Yc=A80eXLqrA*prIxs?jj(3>vYbUd~dDX(^LwbuZxec!v5 z<}azf7E9W&9Bp-|jqdYc!Y8I;si&|uPB-E2StCAKC2i^5R&5FY#3V(OTq8`MbvO@x z`I{!@uOfrjZ2)&dB7n;PA?z3h)Q!9JUr;3?#Yu1>HOA=v!23svVeHT@;hjO5Thf?u z!$Q4dO*Lz>v`tLn8--O^Vc5f0g_ojjm1L#h$Xg?)0WkQ)7Dv*l%Roz-R5Bg=NdeZI zWrv|Y3=d$u3HOHoZHD*$(0D_8U`T;gh0j1%v&YfO(9`?H53ZbK=fCC`h&8O?(l(%gCHg`Gdy`rt zxqZ#lqM3R3Sn6~_qw})FR>#N~7;Z}6KlLv+n>Jfxg%mtLaJfL46V}qPYeb~G1-v$K&zIRD5RZHPdg$P?L_8z#%uvEINwC)>XwD571BJA5sB z?t}tNV4s!Y%$De<`svN0>VJiZJ!P_Ws+E$J!p}!@-}1QejAeIB-(?*Tu zVV|I73qTFJye$8lG_wEl5F%A7eLop22=Gkv=i8pFxI}P7`aGe*!HdNYP&Yb=^GxIq zN)e-&eXE?TP@sf8aUI<;X=Ggn`VUIQ6r*mSc=Gp=WS##28lMqpV%Vu%PGwc4hl8?- zdu*MMaVb60ilX9l3C{t;!JZJOG&zkN?c9r4J=PfKvWAeAg;GiYVpSzRf`)BfO){pS zl@*QuGMlrW0J}eH>YhV8Y(F6Qih!LgV?)*7aV`&NfT~+{rPqvFQgyWv187n*$b`nU zxuobeg*66SR%%itvRG*%65|4 z;WfM}WTpL`>Y_V~K4LEQ7g3zT#ZRI)7kU`lsss!-7NcB-^mdH%;iUuYvi0jn4bT@v<2vL>4Y&f;tPbk zqC#~cQjA?u?d|=FgX|*=)tZG(GWZMZcZ+pQFUg%bd2g=FMCBqDq8&n)k3Jd?)dk`W zuO}G&G2NZnW;27Q{3)4;`hX8Yxyo&w0FXL>1(UiFqHE)qZ#N))TWjh*Pc9i>Lz;X< zezSiJzXI>lKZq-fU&M|lQi!&Z+mI|#xmJBxs@vSD2Cz37SJgf>a2Gvk$=(vw`l435 z;CEFZ)JHzq4IIm6Woar2*U|@2{rOa;@E~)^=eO=md7}vMm*9BCGAXm!(&1)`Jfia~ zL{Vr_jKgCRk>v^Cd~#qc7?JMIQ47C!LW!)D2dw^BTr%u3T#{}8nGMB39r0@1+y0u0 z(TFh8u>@CaqysY=!!h-@abY~!WK5Bc*NE!-Q~ypv6y7UC4%j_)AJ^YzWJPm$|IfEq zR?IraIHTx8@Jb#e$H-|Ph2AS$8`)qf{>y*kuQpZ!sL+S-?6A59*3xeV{;0JunQI^T zc6x!R*U8esqW(F*n=Bw5Jfv}p@j?lH;)!D7f9`_zne0t zBpL$;a}{a+w81W5N=h;Fs`O5`XiLXDJt~#MBOE-~)iBhWP&^n4*n<@oqy3v?b$HMT z8}nBGf;o>clLsUI0s`3juD&G37#usS!K?(eW}pGGxYjEMXg%lTs_0icJX188(F@;4 zy(0A4PDm3V`4(ApOrcxQ%aY>vxy1Ad`~=5R#;ItowRk-C1eLzMLDj|j!|JxxlqP4(OIe?Fxz*oth`0T`zxI_Sgf%8513vAU zrivH*^!x&O;2=M1*Qu`^j19zBY6+~X7yV(Ki&2JFF2ghHnZdbNQI z-*g;;Rqb=---t~P)kTSSY2=dF9jPiryk>0kyM2!Ig5SHbS?5f}aM<#RrnckBD;o%1 zI!#BxCi1F$AS7G>ol)U^-S^0{tT#5I_vgQX_x4E&t z+SP6N?H}9rzU(Qzb!t!dU!h7}jfsg@;E2!B>L%MsNWPu}V>7$?#`RsVG6U*>ki*~>&X_tLA*Y7$&G;W+{OHAa1!j})}FsDlSAeZTWOB~)8;)&Aa*2N=SIaV&*d1pmCY9B5}$$tQFBrx=#`v(=U3VZD96uR|zz zOW`}`N>a|kE8VX~PvEn#>mT$%E-Aq*CgkNsl-RSWWrlQ;J?@A;{R8?eQ7mr7oCY~m zd!flc$0<#ysYQM?1ib6B3?sgns)I$~5fCq8#M6T_gdOh9#aeRo25TQ8!ND07Bmo_O zoR4jKn<2CyGW1DQpkRuINzW1SMf~~F-SAR%bi7VH>W4}6p{;l;9LL!opsx$6+Hh7h zLMh-)K)KWg%dAn*(2gJ5K%D~}s(qd#k@Mdd1|cLjN72*F1EYfsrN|5h&0x-a^jQ|vMnBj9)$Qt&Jmqn8CkVE9XT}odb=H>G!6qVFxOCZ zB}5H56wt?6RcnJm&6IG5nzT=)Uc!XSRT>(|C?jh!6od5UTwT}4y(~Ig4T7Ig7oI*k z?zTEN-x`1`BEhw(bXNy1paeI*g4=7V0WNmu3tZ|^lH+&)eU*Jw?fwWGh$#tiNl(w#uKVCsL)f?pk2DK!yQ z3q8{cus#R{JXO@u-`?Nregh1y*02UE+{Z$jpd6g82&+6EeK06tRRfwMV#Y`(^w``u zpHQ~irPY5*u4{5m9DD=CT0o%nUBEzJ0Lk02s-Uk7(E2hoMz)aaVD+C4vFKH}j*ryZ zghGp8;DrvC_PlBPJ0#AVAXYwBI9TV{kM(s*oGSvJ1kJNlbyiKJN=55-T1U>o^rtDa zQwBZ#uu8#Bt>9LEPk8z$**@$si>z?W~2SfyvAQiws%io zD6j9Kqz8WW*~%cO``1CI#6`Qrj=J(xldEFz`$?LAcAd#D(qn8))X}N3YYOZ-sQuMK zT_P4NOneq`Yc4CghM0;MQJ-YpL^D+j1}Br`)E3yc=QnhLSHL=&!+?r$H!bUaJN4Or zFX5?@PLiuU%lr(rLzm)iS$;(NZ7%zJDJ*$ASe1)Z>B#Q@0bGAOMk2ne;J6i~tIryl zW+&?X9rAj}seZCdK&KRMT$|tH!wNRbU~5Q(2)0Z!Xy{vHxDy#E{N$!8=n*=esIf?) zxj>lN9(KS&_il5<0D1#roJN}vUgNR%-*e(RVcooKK`jdi@BCb)UBY;zhqTe0IM0z4T! z)!Tf}CrG47waW)-M}h-!O2%<{9TYVM*7Jm2BmHi$kLJ3X+{c-N@{ZmcS4A8;kAMGZ%iVg2?X zxs=-VN|)q-?SVxSy+-)T6g`d@ICYUzmHi63al#aWd^(||2<_tem!AG!lCSLd;6xMk zzoLTe3cevo@K6%$ExtGBP<0vZ4$Xarm#U1?_yl#SMSAd-pjE^Zh3Uqn$m2^QBE>OY zlD>UNB+a6DFir8&z9B9u%=Xx{_B|&C zIzr*-^ZOrQy@0qggB`&LY74)Wg&3Q2-|7EW7x%*et%13+!dxH;YYGS90XKgC|5}i$ zq#+z|aeaR^W3#n#!aKkDYPhm$UA%tR*DOoYwuh`2p=x7e4fKvhwY4y3;og6*}G zh5i3lS#fmsogY5&E!?1vv^-AL*U>TK zGhE@S^rdYVo4s7R{jlt1(p15Io%funPl~FeXGjb4D8WUv6=vyFqg~2KuY2xR({7@! zxEOS8NGJZtyoO7lIUWOa_og*d&yg{Yu@jw?$Fmku;U6+XTSAo(O&K;@0NWfje#KZA z4cpAup_(fJs{XTIW{;fRuWJqhUx^l2Qg)MDcuj%*Fg-U zt(qw*)EB;`V~pUiE1&7NRIaS_w|rRNhAX1(&tMc9Z7jR4A(qc%vA9QI-wo_AT4;i@q3ZMG z-B1SkpbKAwYWfWc#I>1_SQri-zc=JMRAQ}fF>kwUol#|pKeyCR_B=v;;k@|EBD-|G zqN>WbXGo1AeB8YeX+ELc!HRMh9%puD-6l#*i!^)~H}|>%MwZx7-fpgcV`p%z#AO;_ zY*eGDaSHH@ne;L75G<3jUcQKZtC%G{4>NQhG42~i@?9IqfGCD^U~P&rXjZuaYN)7x ziZUqXPGP-K>(5xoh<&<8-4^zOMfgN>=(JH5ajZ zsWZ)ngWy$4UUHnhK{tY5xa@9gJv*C$?Kue6@1*MrkpEp@Y3zH0s&%N{y?ux}#8ky$ zM$NXPoJIS}k*;ztz0^=6hG_-O;cr4Y&e((1)Dp?9mo{ZcPF)VjTFkN5%Uj4XI`Gd* z-CNGf84rtCm@Y{DSVXad|KA_*4 zX#!iZ6#69HOmERteIB9URbHT6B*GX`o}2RNUHn5sYG(b7)OE&h-SL~J5Hk4?Q^K{J z;0rRUBzTmn_|Fpj7`zbDbA;UAaGMs*FJC_jLsFuZ_t00;ap#=`8bf8qd#fmfOZuoL z!^W&$k!=6z=$`asjyy_Sg<)N})9ks=&=Lqra<)Zai)K0U=(zxn)qzQ8DI?hcMV5(s z7J478YWXt+M=+#KUVtq8Km4~%r}J62OJx$M`9m?(B}!8b(INlY5fueV+GM!=kVlmOaz1UUwy%7NLE>6O_ZwJhuPuS2OJnBW@k9wG zbo6muh~F%O>5{@Qw9^elo^x=oA?%-*;AOI6Oa-x}-BDcKrp?(;{LXSoCEuD-VUfsN z#Qf7F@eCsf&FXH5tw)yt^Bzfxx0jvFRsH2)H*BaD05hsd#sDxgN7AjEXqnyqEV)9>sV{Jk&(|dKIQ*MLzbH(YiJ63M^N+pehs}L{uvRz&n{ zW$WpKc**1ij!Oyay28yfcT#rEYT-V+WGTeB!uHy(=8{5C)LJosZoGXMAT(FdjqE9+mHv-vUxuT7>GIx>XoxLa%+KJhGBENh0Hn>ZGHt%1|%k^N$#89r>aR z$L~H-~9ApTEwX|@`Y&FRv4g_STUe9Tv;2^#?&wl(t;VpbQ_=Ml}v~J9UhY< z;a;_)!2Ct_&9nI{u(gCwv)Z7|MmHnKXQ2qafD9K0_ZL6PtQrgZ9Gu0S%Ft;;MBTSF zeg((0^=nou36>Bwm2Xdy-r5HWcK&s@4XeIl3rDS43W@m9OH+y8T|btH>K$pQ`@UKPws2OCAumxlL`3h9pd#QG>H zy~Yj4mK$szVyA%vyp9YA)`q8e zoULl^tU>tW`d0AXIE@5$$2JvAb@eJ}q~7l`6Vg#OM}rwtp*Klu6}v0Om~mqEW%BBbe6Cglw}ih>2^%L=d7)EA8hZcsQB=AT-wA_wqO{gnY2Ssu(AL$mf~ zyqrdpJnAM14F>qpY)gj1_`r>sCvfF6ody4u>#q0icNL|C?Nm8{qkLGKdPd`4O#TG? zTE4LE{o^*s=?T0MIBVwlNJKzW{fSIm0dxso$+U<(ouELo>v+lewF!9{N&(?wZ3ZGc zVZ(A}z5erGsu%Vk$jCx-6eLFjOc^`R<->#m9x;OmRBMT4gnzMmd0{4v$S;XZ=b|1R z7)&qMzZdO-?5*Z|tg_{T4NFccxana$cy<<){PH<58-rciQvXc4V@wM@GafbAg#sY~ zWbwGC?5+XPt{qY5F*XvitBIJNAo^1uI0DAOVqxSTYYy z!nHHXKXI1Ab9i;7`*FKJyEIsAF_aqTjAsy@9zgVBN#*SA_g{pe#Sf-IU}ort=dRhO zV3jge!B6dH$(T_Mn~0O8j84db=cp4So{PPQpO{Y3$Q|<_@~j+?$`1-6JSQ|7IZX~( zXxOqfbNX*5E*V8^#(Qu$tyO(+^}~Zw)mnU3&#ADFhew&JOV=^7FJzKbgGA(2VWt#g ziqxw+tX=TnL2|MdM;i{R$sDO*KLj>qg$;E)ndoDXCP4CmXDS5L2Ao)Z1Y|t2Kk@sC z_~donGGqLd+Oe%dZWUi>FxOPIZIsr^YgR9=lFu|Q?VMWX5^cdEVQE}5HAwn2UJWl^u$7Hetwi0-o5x2^!!DfAvQUUpWm z7~KP>Qf)VZ4N?FC^VFduMo&SbgwNYTC#B|WNc?!PVb>X8t*6LP8=*0ehqbq#6(#&j zyUG5|2FTU1o!Xy5hYDkIYz3>l&$?`KrOv`oii~F0L8~01vuq^3y^Hu)sYV}Nqsb$E z0u$}dp7N(5nw)->NgBxUH^mDJ8PRogNX{+1b~$DxPt0r@=?{PBjVICO{k3t1uDfY!Jp*&R14f8 zVyurV^-5AgNsnkgtxgTsTm< zUW0I6^q#7uk}p8>xKn4W<`n^Sg?OPDsbZ7wZ5u>G@nS!>y&ePf_ZtBCm3exA=6(4e zrRV3d^wR6Z?z6xdRBzyQUv%G%&?o9uL$+sP!bP2h%^eR#UTf^aj^hhIyuG~uICB}6 z(Cjgky>l8Qw`E|NoVyy@cEZ?T5_~4?kKGE{JNDZ?*XBcnHiZT_@f){p^jY@Ht2kQ? zi)Z9yG@ebibfATn!t~_)aH3C`hPY9P+-?Qcar0MXP~kv5?+Ick911A$3`A^Wnh9{H zu{T@1kzsQ3L*)gE+2g(s&hR09E2$@Y7JfMPsIx%*_j_qKrU}%k()mz>wXG&>4dRDo zN{o#GZFdxb!ee}9vi1{FISjeE9^G^C2~mVq?0R@=C>SU?e_il+$bzMr==qui9F$~c z2g2d#@-$Jo`KNhRJ>m5>J-r>%^p?WG-zh-pwDD~xux8_8850#YT_(2Xg)uOnM8uz)2UA#1+z{< zJI$uRgU=~q>UKr01T7i(Ufv;JBTu%#6j-SpyvZ1wEx$X7G5_F6-p;g)2%RSKegZ*X zzG9=%CVTjxz#ZlE3K(Qwh#${JK;w1+<#AHgl7;=zRi2BpL=0!{;mBf%iiTUUMDa^+ zGPVo7O5LE-B4omF#-9Y|F(oFy!CLmEy}_R@%)J$Rwgi~W$1~%f%0-&VVLe|1ic)6s z2`I-Q>11$z8k1J?Agt$@I5A(AsD;3@p%C*iN_(Bv`S$x;1+p<%q*>Sqm$q?dje5cP z5j~Yo4z+@?&fJ@+g|q7LWfjlf2v_9ga{DHLJxXFB4g3V{Ijag433WPr2upDa=h*9S z7)I1eZ5!I<-{2Bt=&(bHAk_;B<|0ADq)YK6`Gmos53257OzC*7pqem6isN)%_YPiJ zNP)OAQF>k<{_EZi60hDY>w)l6o|BATD9se)cl)E;tJbGxm^ZfY0THxN)qFn4(t|I) zejEfswK^H!9BlH%c?oF1&

72aGAdt*^)Mdk6*>Jop%6oG{?2-AMFr&$}=~uH*8J zCT|35=y1xC3vZ0bI!#^Oj)}3<9`~Lv=ONGi2m8`VuuIWb+$&zA-KQLW*iL!zS&P^0 z=f>;X&g|-&Kr^io_}fleN)awaEkt~G^;$Bk+T3SdXI*}uck4kaKHLPct4IY7%uEtN zEhPIYu&ML`oKM7j00vM%z?iywGI!%4qZ%@?jG0r-0BL*Tl1yj(m2!sMz=Z^Y`+$u^ zfrG+z3=+VMe~cn92vrnQCl8(G0c=`8ael2iW0WdpmXla6jO&a8CsOXIbo%F z*z6rMz-Y6)yZ1CQu$Cikywx00;zDrg{15mRC_Y2ZPGWP8vR7y{<5fa)k9*0^Y8qE* z#r^)pEMv2-zIb}yZ&sT{dT-6$l|KqV)&0IUH{To2d+*I(Z%)|b5A^Q{6SHCIN3x|4 zEx}lcY=o{qHK!;F&*y)$Z5km6;z$x<+Z+DYYcxl;H*wSd$+kAf+F=@+#{uQf5**El zwoxAOrpn=Zrs^96hxX`)O$?u5hE$(gFir_<$-vm$o2O~`0A=3}sL#Po6M35~@}OSB3}yo7mB2z;}=zd5)Vbi;p*`{SGA*gtVfQ^}Ilm=k@i^a)O(*!Sdi-TwT9SXXK~R!dxS zy_Rzt)T?PMJ3|ta%x0-)Z${R1B4`X4awWu*-h%s608thr52&e6pa%Q!qeF1YD%Moi zU@s)+pqgf$m+F}WNrx4O*f~04KEVsGk~Y&#DE3Uo&bs98F;sh4!BJO`u}h4PG)rVY zeS&NYD3(35TGBif*s&Mo{Q4VH9pDU~B@st|h{I*J>5C2?Qe;b5nMX>7+bYAoESix! zcZ+gY>c-;>mmst1E(+(q<4IcHq-x`;AB(pt=IG<_5@aP3C8b;p*CUDGIF$J?`>DnD zgyO3F9J`==c#U1KLDjn$XSh@ z%O14vGWH72=)@RjBuwf#0P~EP%%DByU4&*f0mxcts+03K;4zvSOB#n_8qGa+*7X&T zV>V@=R;nA9G0rw<-Y;uvj3tZD4m#(iyv+%-aO4zID4-0enpi&<3#{koQdW8xU#(il zuMd`W`(Ljem-kz)Qq_oGemH)0^!jjr@AUB9+pM1TqCrv2m%G($pi-V%Ycep0oq&y) zA|ETq@DX?X$LgLwW~ZW^`2ig7**#n;XC?`#p^iCEoLFcQh=l!AkX~0G#;w+ecQJV@ z&T*}KJDX&?yWQQy4RXHinEDG)*2yVcP+CnuCArZnWoXTsN@+S%9Wm;p6V^$j_?->Y z4a4J4>F+{1-heB^EW^c@!79VBhSo&|Ezz0FqYk4)&9ON&4MV}>p^%A?)<`CEI~XyV zf)fu7LlnLc)E(pwgf+=C+A%ljP|83+c&b=5^6Va5iSupp>fP(0)q4E+7qBog1HS;5 zmN*6XBF`NlHwpj0$B(txb!3g%%xmRXW)EI4oTdqXk7ahrd9P2_?TYJZ7|hXg1uAU= zcsq9Py@vG4TKbTRLYv#=HlgYc$YL7-`S4FBJsPPOKTs2+e-R1Sr!Ag4YZ?V;!VOTJ z5ob}j;f~DF0vZnlCL33uKwZtDzY*swyG5Mm>cY0rRUaEPLZ#)LPNT;bfgZyg;Ja3b z?1A1(&SDVPQ2*t%j?>iNB-B=n#PIAf8ccKL>jknH;Ldae_vg$iSe+M(S?v5Mp)Jt&V`4c$N^*KGKYnPM#+Q@m~%;s2_+LT6?(+F^9wq6nonQ;%uHB(+z`)>0vp@xh9~s~rla;zyYZ z!fr(x&oxSA!!Wqa!u;IZc3`(>l|vY|S~PC2#*S02IyEt{Xu?V_P^^Yat=c%}+aJ$& zK2G`A@TY6;XJ@8ZXGoQ1)NqTKPw^Ph-olUya=xQi?q|hDvxr1IK2x|bwQNl~ONHb# zQd^QK5uGz&X13w~JD|w!WCJmVU|xGoAgL%mh{SjcOE5GW1QzOiyORp@b7u=quQl?$ zWE9lKhPql^Rm$X)^pUsiXPdw{qgV}xF>W&KiHhhs>zhx${ZOBz6DelniKRe>BR&?9 z(T(CA1CGI*!me|_ZB144o$7x20cg!V#OmXj+y_B0Gphx|X~{AX>gfHxa+fp^A)rd= z6vn~AA$exX>v(!pvN&GB@eg?Iyq>>?bp|R*f#4qM))~g*A@s1ADc#bEaP>j%_^__VK{7>mR&)OOqhxE}ErffKqKyD3S zMNK(c)Q}1u?&UY@R*gPpDRD-#WmUSzuXY6aU5Pl+5_tR1K##<`$?RAT^mChB5lpfPP0)vLOwbQNh<;Oqe(TUUMp-Nur29 zS>Ckfo5c~nHP~)<9hiz1JIu)%UW*m7My-_bO$Bz?(w^?cN>gzAny>VJABX&JdvA$$ zRKm_fP8joTI7OK40e0cf7w{;;9Mx_Y>OvxBi)UT8S~<_1E)Met9-{(GAG3ydDRbK! zfx9*m6&@EH&y0C$B*vwMuw&5QNCBfosG6g6xfGab7m?ojIyc7pAP7878|l8-?LOV@ zZ3j=kBZqH)ct^;~m;W%@)50pD(S^Z;5Xg^iO#kQ9Z>NHMheFz6oaZ_`;|;1M8JZaG z-6QD00^prfUUj|+>+<2~nCx`7dreeE$t;StbYUAvW6 zpOD_p?#_3+PoD(OU+g@2(cOOWjC|YecDv-~)BV5N$TffUXpfnSzxH~;3%yS=l3{6t z2Ws&-ezkY-Z$gL#L%%sW-8(+jzxRH8)vBR)gpl4A4*%G2D1>ygcAq~}c5P0*qsE8> z7!w`tlGeWioXAn-5#`a9kE7NrDTUl6KOg;gym#=5{IGZU`qja%y?aP#I-HPpC0K2w zNM~9KKQX)Mgr&RwA9&i<)#u7;7I#5mxU2WgfQKQAce4vbk=v`f9LSwUu=QMMA6cXR zN1NnP%BG2)xJRfWdxXuMq*_=Q&mX~N9@*aP1Ian<@K+0r@@S&Jo%w z%CE@yEa5j7aX$K6^-6cT*;+pgvef&|kR>aI#m=!-Z+)j{E1j93M6^Lv*8N%4vz>@= z1NNVr-vO9Bh;!pplB@2lU(8|?I@U6r)3Ww`WbfN>YK|Rxf$Y$cWF!8`+9PP`2ZcS` z4A)YxNX1Y@=&~WedkQ`us+5DB&bbyCQIfO)6Y^%(S-Un?fnw<_*(6hX#t7cE2t(PN zA)RES2n>MC6=@9NoXqf_2R%Lfy)bkJD?t5TAM73FZwUQ505Ynd@#;r&Mv)L&bhd%T zOwb@L9s&S7Rb&iC2d z71~Dnw|Ha@Q@w+s>$n3do`AffGU80;ROd!x9r6&v-Qg_aX^hi26cX>?O@yflRYdW4 z$WVc#kqy}EDV(5iqM$e3VN4cZfgtbPd%pdmS5{+N17mMXWw`{)dig|co%i~n^_|5m z+cY%ckH9cjG6+tvX>L&9TjHEV%Tj(qRjd=hDu(Q`pMjw`e2nyd_^1)*1#l?khF)!qJ3lzv( zF}qM(y%*m-*~%os28B1!%y4N9bL}>zspOxUbdj&HVNE*$Ta8{$<>zhF=rK*03ef1O zR7g5zcy);Z0cS`mU93x8ZKm*yfLq^qY!4tW&Vv@2m6$SXR{+Lh`Ki_{y_x^AGUFE( zfk#EbzRzRloGPSsG8>?GqzR({7-g#$V~BU!iwCe{D+E*x5|Ojq*wG3J#mY!x_o$>YZ@SMa?S zG^h#aU;^{-*w=zSCM-TD=Txd7@Op4zY6@Lg<#UiLU5sP~w`-_2NYS<2=3d8GjD^~T zsAtVtCIku#q_jYcy{%o;3?;FPg{U^~aV|*9DVw8m*yL;qdK` zo%e@(oueNQetvVb_xkmQH)ea&nY-l7nMXR|%dKCiSq^IhZ-L$IY&K(m zCNhrX37){Gz6Gh_Kr$QXI=gBwLW0FR0LU(5zt;_(2i=Z*_QHAx*iU+l%A7j6C_|AL z^C319i;xAsqfsYS6VpOPgjO85Gtth4Nh+D8_w8K36{E5aoSXW!bKrClc=C=^eUB_* zfVKdV@E9ld;-$FC4^VG38lH1=muB@6d^%+zrzwl(nk{~F^zQg{@9pU>alzZfWd(OFyyh|rcUU0k902RhI=_VZCXiKZfK-Dcxm6bk(MVKb( zT#G*@HECc{d9vynd#_)=`{m=SH%F)c&h7{2CRvr!(r4I*k~83-~BL;TIIbz-K2LB5F)h7csq{3K2qSnUtWBz{o z?)243kbW|WgmVM6QIxG6?BWo52piB%je z2;p8Av%RDFJnLm^oO(a-oR6@%>u_5X3lz^@h>~QUslNLWC zF&+bZ;UDVyEC){4p_w~Q+<}jRus(%!@&2Y!V$qabxa7FQJcO>1B61YRZW<+>3GtDT zbbfYK$-&;~-uHVa=F30GRys|#&=e(blk6-33yB@Pt%1?|r*QQOwsQ{o%q?Mtiz*KV zo_Mue!uShfx@X9b0R2JeYLG!wKDAblD0n*l5hhsi|7enE)=7`pgW&g{hIC1;9B^7F~7<8le`Y#~xaEGuAxMVRS-^!?%K+r2l3 z;7aK*_))HzvDC8+7u=Gc^N5WZgs-a}qn^G+!>OqyE({Ch)zz5xm#@!%)yLC24Xp>$ zp7V}JJMZiE(d~A-&z?Mif4kjo@!xK5=hE^H*JlbPxSXF=-}5-824SJ|K4`@ z+1LGl7tg<|H>fdZ%cs;5GRvriG{7cdqmtRIZy^b@)SP&QGZ4bXqOqx&SJ)L-+z#9` zQS4Ai*kGMnH@t9m!F{j5{XV|@kEZsh5#Gw8p$~7>^`%!FF2tct$OnB<{~%@I2_Y@LJYH;oKvy`9M-R_d_I&ghX!|Ok4o* z<2H`cEnb<(_gm}h?##j`6o@^K;3?UV?CSuBV7nxfx4cph^Lp^fagdfT!6c@2( z0n}C`#zHxoGo|t@NaAtpjLpHcY`4`hfVDct^s3cy##gNl8O>s_w`p}OtgR{K)|^{c zXH&|f-8vg@Vv-~o1I!lwWx6yjFS}k?nA(XjWsLc%4{R%)Cv2BQxPGnk{3_o!x_*6b z_^GA;H+TiKRR6Q{v~>U5`^x{_$+Nab3UqL7jU1*Vi*pSYefx)7`v)Wy!h{A&q!==# zw9IB=I=t8TVrdb^?EFeC9{y9i|Lv)zwmxP7ZG$wq0yS8&|DQeE?v>=fC*806|1O?C z|J-^^&iQl~A`@$&PM`lTr+Qk36ShkpZ+-sUYUyIFV+JWVC{bdBR_!(hF-CF6JlL&2 z|FpiSq>acFco+ovVFKMko2-X?n3DDxo3}~(hj;JVq>aZ;o2*A%rKJ7+-f>(1|9`hP zHc035=N1g-&p$ghZv2uSbd>}G2}%|ofM9wuoUm{f@pycQSrPE{D-d5bs{>gsu@Z}i zY}e#y1Fz**pAyMTmRXm(twYY(e3$(BCxLvupFew<_0arONX<}tuMy1MTnau7m89{Q zk-)^J&9$Wa(Or;B^2bc1toT(|XK`p>TRWUy%YNvT7ZSqw*DPeCb<_>q?mA)*x{5uI znlGbo*MG|7)TJ8zg4S}u>Rn^u+?wg#-X?9_Ew{3QxOfN?9})Hk33R8nPXjr8ZALW$ zuR#_mmTwjDWtCR3My^#e-wWm*NT3(LeX9_%z4>~8hfj_k4#hMPF^f~T7VJ|h=^Kr- zujznAs!f9T$e$O#=-QB~-_o)F5;$QnHRl zQ`w|#6pNBX@;Dulb~%WitF%l0rrQ3@m%8)ldy&q3bH?VIBq9>y`A?eM<|kw#RF(p|`8jrTyD@jF z-Op~!j=j6vjjJE9o$6h8b9?TEkBW^q-1WCx#b&$WR%^V`3SE{r*@|1N$p%}nrEY9D z-3_aOJ>3AO;hlvy$7pz4dKsT_$MRnj`F}_g3UQCFr~z0e|359>|7`c3KKm;F-^p_Y z`9Ga7l2SQlX)aNxan!Bbt2rdn zAcK8>oIho?1KW!2ptfayQ=49HriVtN35GIDq(~$OcVc&OXVPUs(#~efWC~|ZH`Q#aOxU}dn#N4O)AU>I;Hjvf)`x=?jV$OJ2UZS)B4L{OV4y6Lc{a zM4lP1r;iSZ*vrab1;SzNUmj~_Q=KQL0X^2VCOWp8HMf3BZ@ z=ytyQZR7EW|NrOT9)JG)O`ELeriWaTRGg$>=xS6?x*b5DMc8)V;$G=#BL8Es)~nt9 z|7E%SztekCy#Mb$+5YPPbtg|V`5$QHDJF8mZCgx5gZ>q$mCbVPn!8VMt&q|-IRx1T`8n9y_*q{8K( z?RMLwjXA~KkGFKn+N2HnGoT6l6OPc=KYasZG;_N9lC*z~ZAhsT^6L2b-SIBO0)+i& zJ-u=X`}|zlrF>I1|6#kn)0c)J%e`#>8k6Gl*5%G%=PV`^qs1{l;qoR%v-L6)PU&1D zK+ITZbC|NZeS5|dh*RdW!=(fR8jxW``BdG=uz#3IaR2htwR;Xld&vM1e2zd#4mLAr9#@A=HrwRWDK3liP|2=t9y8r3! zJpbzddneBd{GX>;z?j(R%ty>ka*6#gXaoPW$vQ!91O7Y~BF(HOEdP^E7?vh&yuGn3 zMcrwf@4@kDl8w1ashv*T?j{!#|z2gkjbN26k#o8bsifF&^5`57m(I5#f4Z zN<_^6)yj2^K;^2LFUcJZgpV-Zw6!Dhn%RK$C{D|6VWhc^p_h*F%>%pM!Z>onxHMFA00GY{1==L==g(TjZ9J51cIV(cpv`*U?Anb#jrf0aXM9xwV44269RH*H z^x4i={{JqXRqVe^rY($ruXh9li9rPpSEV#gG>Uu!vAv^1mkh^O{g%%tgKnl5M@>xD z38M)$U(H|U+mVoI_RaiN)K4CH+DNZWr-%&TbR}X$XzV3NH#sj%+kS1`kE^|P7^eX_ zvT0Arx{xHEO$SW6Bps$2WLUIOj#5cu71=bES?-uQokm`g0;lezMjuLqgnTe@%Eqju z>O9aB=j%C7O|l&Q+1}u}?<5OKW%w6r)*F7j@ecV8~K0Y5H{mhp6+Fw9tv2_@lrmW2%ngT2ZWfW9R-fKmnce$7f$#Te!v7g(o!ip?_IkY% z|F`qx`B(n$E}j+izaB5AQW}R;hUosKYDt8_99tYWV%a6jopD8C08UVWM~iH#2~1m6 zUj@FKI_3Us95_7Yd{3(C@>3eqF$+6`dA`Pp;R!40wQ&VAfpSG`Y|8`4d9IAdobLgL zS^v(5`4Y?KHs?Zj-RWI*s=m_EFa2pk{}D~DO#YYA|LyLRQvCnzukruy=2?OMzxtHe zY;Lg;kX_>0dV$fWF`bet6x0Q3VzsV*MpAOAx!rh3p6$R-K0TR@M*I_Lcgj2+4sst8 zvSG+T7^WVxH5sJ}?Q{ooFJ~?g(q#ac1EqZF)%lxh=K;arRuH{}9O87yNc-D1X@6{A z9VqH1ZZwOcIr(EoBR=9RBs56?*r4?b!`7jEs{7C*SI&MHG9P*;c_uYr_V0*Kxluwu zN|<#sRR?cRbXm}ZBy6}5v<^qs7RclQwHC_W-1AJq0rL(v$a?T*w2SB5CaA4+gDGaO zEqS_>3N)H`UxfH3HaEhJ@zoorn+|Lxe{{OB=H9M6z#qTrV*4nuQ;GhFL8wh;PN6%_PPV1^6LT1Rs$LhG~=)J7Qjm5MkyTR0ku}oH4LtYkwszcSBmv z*u2^$Oz)cK-J|N99Gj|scvBRCB}HnZQP1|lMg&q+Bx|ed9#*si@L`*G)b(X zsAqYj$MTZ!IAos|)%wN_y54wZ>2|YCEZ=R;iAP8xSt>a@$3*sgL}(-#4d*5cde~@J zW-c?RRrRj-a}G}(q_2ftNZQ6@C48Tc8CCS5>Q(qvZMQc_J7V!TowP}>3u`F!8p1si zX#>8RZgRgD8W5PxU&2_@$)W5cT**hyft_4Hx|Liaey#}Q&<}$}d!f*B#b&?=w*Ews z4)|349UJ>czO^D*vYsB+uCRhEZ4wrYcQqTP{)pTRw*&HvmiH4rJTu8(TsA0U6k_&g zh>hV;aZN}E?wB)rsmF|845VX&n<0@j4#m_>95#c?Njl_vAtFZOd{e(n7$$8JgoYte z^XWjKe!fA|4jrl(ox*yc{sTxe_)jUy!z_mdGB;KiqGki5KU?ObMmmk1)atjIBL?3% zl-qqt+HFfPzOmyeyw1Qch97hvY*E{=SvjwKuS){6(yp+<(IZpoCnU>7+A&Lcq=GR^ ze`50=q?l?<_M;A~HVF#o?rqwPMXT%fy^Z8o+cA{TUH{}U6+oIQVOZF^AsL#xjD$Fw zC8T|>$(7|zzF83C&#bL$jE`J<{z-+0i1`wPG^JiRU;3C^XI=V@4SRXyZHc0fZuKhLBg?Fc zbI*n8YujP8y%AL)hHvRy911wvUCGP13{|JRHt#E3RMGXfdLSM*bW^Uz^<$~rLpTBt z9SqGcEdNO=9W3jSxL}g3Yr4J{B@;?|8yooN+u4*!J|w*jvOY_aa;Zz>vHLL>=+Vb* zD6fW`mndId1vX}%j`2!hFN$9C6y)IcufP7{%?4@z&o;T#$Ad~GdD^t`jK>2m&&)(t zBDdw#WHuT_ta9^J2gxe|t|#j4Y+4%Lf+nlY#&XPQ;-hT6A=HIA&?!kIJLh7iyi?rl zNXwxDJFS}Vr&w|sS9)(O;SIA07TV5T9Zp|fgp~ijgaG|SA)G;4mjG*-K8V_fAyH5zfr_JnjgAsdR2ZB!^wzMt_ZBrHBB=TxGhCSEdAv;KEencJS7M!@GBF?y<%-EHMg^Ab^wp0nA#%~S8(adExgKb7pC~vN;|96 zaHdhx(3p!IZv}&PcKdF2pt*!;dzIk?O5Y8BhdfIK<-aRtR@3!Vy0!P(>6F9VwG%XB zmh7Cf3pC7#Q!dS=s2Gt)e^ZZ)4w3Mf*nCBJ6<-?$FAD@YW8@`Sw>K@>VDcE^eRyfB zRjJCHvh-Z9Uv?XZRiH((KyQlovUUzN1XVY)L`YN8Xe(h0!KHshVi9*t=_V*we{EN| zy+32~ULFtO&VE%)%=K5a`7q$?{srSe$j7cDOG)vgeO%4?yG z+>M@x4h4gepyr~kPP=Y49eEi1=hx?cpCql$g-93C`O4OOohgk&vhFk!ZEJMc zCSE|t4HHwU7`^clZ)ktuaY))7`RlLYx8Gc<3Eh7BY`2Z!rheHwetY=#$6a!qK~F-K zvSG?XvaVTjFL31N&%64KF7x^G#wIb$M(koAV?Ymv}GxnWY-AjC7!?W8mgJEoV8?xo|EY?)6C1M3`wwDboQ*f2PRht#ora-R1!s#qZc~VM; zV%x2-T=Y!=3+`46FPyg?xAtbAc*LoklhG_jHp!^0A(aImPg1K(6SCmYvygTz-3cyv zd_6U~2dc1i*g4HvkPXpKuv@Ue&DzARQ*@!R>gnOb%6CNVgXw)_c>*vCT=wr)>W$P>(0CNUcvQVY0iC0Zy5x~3Ye&G4}SOg zKrC7F;x4ON&it2Vww0^$|5GYC4F@Z!f|l_A&!3j;|8}}hw!iZKckx_>|9_)#;Nbfk z=l(5jJs95K0$R)YgZJC@xPIHm?eP2+Q@RqzZ|j@p=q#OFndvXIRn78KIh^p6K{C@O z1M-R&TbiYldeNcKj;6%ALXFsPEJRu(I!NzRJJ)MPJDNUQGXt-UnR&gm{&MkUas6YK zM0^M+QU^}CM7h=b5s8Y6P%9SY3f7B81_e5L1#eh7%8eio4Ghx9gRA%)mhh=cLdx5{ z`3V$qW7sI$FWsq;{0B@Up z;NrVaPFLAuIiBqnh4)+BZaEOHv(Nk!X_bvtQ}2cqGkX87u(BB!{Y9>7HvAQl+8 z74zRea2MB=^*&3$+h^ z4-ZlyX6V@e0SYm!;P0X9^y=DKu7=ZyQvkUzmfP3H6^^S1rHxZ8ZJ>9KrAv9#l2h2Eg<%?#wL)~zWoadTQX;H(BWA}}@>_f@n3rr9rB>t=vhVcoB)b*pLR zx>`5W>;u=jHP+44G03;6o4HXTrWS%_>KSi4T|qr_tE$jN^2QgUG+PA1b%@{Xt3vNv z+42CNRrP;a`Q|FXCHlYK)925M`afO#tN!l}o~!8pjt~b<{@3dp*Z+Cw^}5KQl%!)3Ae7iFAFbkRdWvZt;#fXOZxDPCKl+J zs(Y(6qYCcPc&d8p>eUG4;`JhQ1@hmJlSz3LdFad(c`LONn)%C=p+jCvQPD+lK^9E* zs>VYLv9Hkz+^!+fV#pqna^q_JeaMD9WG=L{$somui3V!Mx#&>o>}2`9NVUjkV-&3y*VG$J zwZ3X256%Lyu(pp?8@^$+m&sA)m3Y1tm!O7kyhT0D&GP?^ zA-Wankrn;fU1~3=+BwM(Z^b&t0|NqlDYYNRC3 z?tZ~oTnW$3Q8$00SEO{sR+lt&!}QMYEx9_$s}x?pV05X4X$i{IphQyG<~}|wD)%52 z(yQu!B@6kgf#8<-|32G(vQyCiZa@9%|9dx2>naN1V~qssr*CfF{u9yb!Ki*=IQ3dz z_rfqhdi=I)!};ZvcAmXk0iza}==mkH2n z!iHyAicgqt7(cZ5NZA=x$g^1@jeC-;8@_=2<0a`m*=W2Hm8``z@V~M>-+#d?V2OJE zh+1EPuiC)#u3f`l=?+ZH|0|vy#nCQiF)(*sRrmgmb@@OavXJ~=_*qr{_m94&T7YHo zf1mAii}qj7pFIC6|KG)P74hH5!@3Me`U6%L_K|sq^04doMLg8*FOz4csgP58k&HV_k@RL)Hm2<7A_g=HX##|c;{tF;`b6O+&; z6_!nbQO9G`6puajC79D`l#6qgNqaR4m5k@8Rj5?=>m}~qY93(C3n?*EW`m=KkbHxNsJ(iQER?X#K!r{Ozbgj^2vSTesqQ95{b694RO)cE*%VDa8 zrCkhBw{%P95{&t*viI}rrn%cqQ;z|{cMGLJD8&^S7gl6{h5?3 z&a{f{QZiH;hmLaO^68a&S}84}SHC!nOu!+hnJhiTB8b|%zsA4D)>!dx>eskJ45~@z z7;Mzof#uZ$*gPb4E0HyqpoNAZdDQ7>wn)ojFTc^n4HeL%pm7*z5iLWFZ1uf&b^=Q? z@i2s*TK+$nuxQH1v5@S#eJtVsyHB?Z{vW+(JI}x7|G1N9jU3TbQz}U2itDY9otO+} zJPI`xPw4QBj+qKtYvgpo6;ZP!5i(UoO;{9xNer3NbU5Mhc#}vL(UhN?V>5eCUGpx7-LoP-!=mBE{^6z#86WYi6l&th{r5w1qUY|PxK+zS|j^_pyd7j2?@DW ztzgX4E%-kUzZDGrBe&rH_QhnprT=IDROj(l*3f_s&t?h8KC1ONP!~z-aWJ4~t;az+ zOG&Zeckoes2ZmYA8as^#!RcYWM%~tG$Ca zuYzfK{XQ1&|EEv7+XeZ*_w;G+tN+)XJZt28%nN3B!)rc}nrqqD*wAY2kq`f5(KP@1 zw{@FYOdk?~nm~rJtyCm@sJ0?3`qALinl7^e%JH!jvqX~=#4!?yF&~lvOD~uvIA$PN zFKD&a*2wAW|8a2KYW4el%~`iXmasTv@sKmaz3a1e*R%)cywS7nl5X%R_+*W8Oft4z zmlDl%;wMEjzjbHOl>nnPh7`yGD|d{>Po@5Xu{vye$RWYGaiS#L`(2|{Dvm2 zDNCv5p7oG%z!f4Bq=ybhvnWDSNx0IswWf1qjY#{SEQ$pAMaU>@;~>`7$YGqiL~yMZ z5NTvY5-HAk$P}S=&aGZg!<8_p$i;*YCuB%t%>u#Q0Qfi4S&|dNeX-DO2PqOR9G~i&H*j z`5`7!gaH>@8)W_apN@_<0&)POB>FFx6MdG7DF`&DuTRL3$&`=ykfuy+YP=sqCdC-S zCTP^ue`saC7w54RWew!dw45Z;}j7j&_TmT{S$4~-Fw zj6@WP3rrt4h%lcoUY}S@py!lF@XZK*W+xjI0sEJsNEir)As>wxFzt#BvyrZmz0rur zJmq?vmwHh86z3s}^#m|U{O6J!Fg27Mq(svAxg@VXC75mTFivLa@(QiX&f;g;_nWGA z*}5csv*W3osUQ|13zQh8eR4@KQ8S@LzaaXPnbSFnzr1R;E=k`vzW(9eyS7oYWNDVa z-#c#W|NrmyMxQJi$%M)_h;fJY6tQ)wZtw7Z%=Rr_%HR=e&NTJ@>wz+dR0H^+gd z@8&4)=Rq~=uIXY*r6%zn4Yn7~>v&2IBd#f<^-1C*m+aPSpKt}52gTBjKx0VI$HR=+ z6yUX^%udB1V?FwXQPL!lB9R=lxUN*;R1H>L@fAj?Qkt^SEK)2#%%-FC>)+lec?`}l z`H3v9_<~W|`m0Uks-u(xIxG!wg;5@Vzqd~$Q(`8EY?Z;TG|Hh2s|MM4l>5gASD46E zN12F-59j59HXS9_zwJ?4EsJLB{Bhb*Dzu&8s8I*L8aTl7jJoUuJKx^aDB(DIC8dxn z9YnW&2Hn)NGEdp8)fG;|TR#YI>baeP`Wt}(o&~dHENRFx6L!4S(I?1ZN-lU55f-Z% z80uI0A&mJsi&33Y~Tn7{x*euMW) zOOvn-am0jzNEBpzU$KLtC4l|l*#Wp$y$zCQ6U}ZsoYL`fw(zcGtSdju_Q+j{W>%VPpWOI{`CDE?} zyfmt-gKy(;WFADyso&Ji16f5OkT+dTa=f7<`|b$HjXkT$t~W$rzL;Y_dve>xh(7~5 zJY#X#ub5TxqcKz=)NUVxn8ef~EY{lxwe0$E7P#5=jt(6^>$Zzx@|+KuwF(lV?cN;; zu>KiP*)~*AxAMXEX6cb`E*2>t78JWE%m-X-4I(k#+V1wg+v+~w>b=;a3GaBdRfor& zUZ?kL%cH0BIHjMQUUbM5shTIt)*sPyayn0#FC-mF9;eFM{2R_bF$Jwnj=O(lVKow0 zuzIgQH8lJ7-ez5O)0H)yrR<>hk-N;dx_Ku=?Yi{4t}Ep6`&*B!OX+ zwN1@BgJBzt#IgWX63sGYaHBP=MHa(;F5c$XEG3mM{@AU<;ZYw@M;-j@? zep5TnuDGp@Y3Aa!u^e3~er$!9Q*>`P8(Wjqli3J7;M&u<`{@fqAPv9D)&FgM%{Hh^ z%+(6H_$IKgG<|1m?)1%W`iu?k8Jjon^;*;CB2WSweV=o*2tsfAG94h=fb=V-&zX)3 zNhC`pXXgwI3i*i8NHQAE$q-J4F!1GxoVP*8L@LYA5NR7zn(%%8CfiQ3?Yq}5zuRta zkaoo4aXM*}UYE30Dn&fb!j@?IZ@S6-&X9PMVEs*kbwPoIW%n$vi#ku?4En3E4^~w5 zbN2|=%T`Ng>>TVIooj)eT04DMKOjq|ulid1OM2`%oC-S7qWLtHYFWLSXnF-I^s7hN*WcFHys|YqR=}py1j8EM6kqp%Ik+2Qy&f==<>O?U zL@w-795RXcsDCNvLkHeYnlMrxXR6@bCDE(~713uTeIxhdchY3L{nt#!qanfq2c8Z;GkNh)b1vAm|Z;Wj8fmnxO$zNK@9xhQK%j zOCFI}#2s7O2cyhjpRsu_4;--7Rp1$_^*(bBUD5bCbD?az# z{{wn_!m`9?+rJQN5QX42kuJxVHHsb*#Mg;c&^M>qrn$S)GQRUE&dc_PF&Ra^+kbD(9?IJK*Us?R`H8Zb1Z)#Cwm98ZlQf+8X|Avoq@ zh7&MTjF?dvsmWey;WXV6JzBDURaxEoE3coI*Y8G_u)Ka=o~rv@LNDa}ovh-L^(#bb zcJ~9Ttsg`*{kxha|2Tc~_bvVJ_13Yxei(`MewWUR19>-lufh5asZul!CC#njs_VCJ zTe%?$T3$al&U;=%H;%hn$7ScA$w7S0^AEFM|98p8|Km0fK^*LTAA&fFyFCO!tpA0| zn8)MgGJOO2{aPaSQlYeg0C+tk91p86%&Y`bL=lh2r*y1205e&H4#X@qKK!NxN$D7f zyfYN z$DdlQl#Z7*i|wRz>^IX3de4GhCu9Ro<4&*JkW8y z@tZ+8`e-k@pmX(z@KH7nJ!g-=`aFHKiIJEUOQHDT=&eYPBvUL-AK`e60a7*~DkYt_ z2;nKi;CYKjYGc1ebE52^V{C+oQ8s*Q{lA{&ugn?B2d!4f1~YHE2N>qMG&Kl|b&CUX z1=KC#XH0+5*v&qrk`f+|gq)%!Fa{z~{vu%jY>nG{F$l{v9x~I|fbF){99sGqx0Z`E zlE;@dJ^wYUzec>}C;m#b)(C=bMr7iBtP$_-G22-txcSm~vJt_tJn?QW1Ah|qJhoa2 zufM^pb{TH|I1vit1ZD$F$$Jsarp(@>6KH9Z9F8pRwL9%i;&<~FLZr0YChkPYl^&-e z;apGX5QCa1E;M1wjkw)uw_0>KWJVOM>10{EMfoZU<(32Ib&YrvTbO_~ z0y6-EUV~c;uUm(+dF!GKZ6PAg5-9!Pk=7{5+L-ykPUoieGd6!ilZ3}WHgav5_b%=b zwrRM4Gd9Pou_{|t{gKCYgTV3QMb5&>#t=YmsB6R@>>44CtJH;Tx`?0H+)bsPO8{68 zY^EvIFUG|Y0)Z06V#Of_8|+2kF#Sk6Ja!jnn?#8zBkBLg-ud;mZ36-PU7v!m1GF|w z`Crk80>LnB1y*3Fi={yy@{rKd$yOtaDoHstGJp4h$D{r=ag1aeP{4c$0$U<^$2xI200n#B-e4XM&yZRoHb-F`ijk4abfIp_Rg zY!YeZ`OG9ndEo9BN)*NMx4I!*6yjS66?>^3jr;q?yLk%y|7Od#Zy=AVgNXM5PT+SvHJAu#l@G!U%v-+kh%3Q5#I&P*wd*J4^c_l-yBd^ zGlR3@n?9C3_~>~;X9PTLmRr~zZ1J`MR6Vvq|1z^WkY~R~{RRCdZ5P$r@u;@*KjlrV z^+1;#?Bn9|`-{+gck@&vb1gG?3Dysa``|?@e5#W?e3kif0X(;Dvo{gef(b2{&ut1SK7em|3TqZNyipnlKP|hK{yk zQ#eyS#fsJB7-^>nsR~&o{?{zH1cWJ-ttyTkC(emFckvX~ zV!e_AU`!XOnj#5UYBXetU1A9pQ->!4^ zW1SA-$7G)E1|hrp0~8#lZF#?h6KsI=i*2I3Zh8lySQ>73i zQu9O5Nz%%UoN;}i#|{)ldmKpTT9^FQNVms53eFHb9+UiLg!Q?!&is{OiJiVgzGJD@ zCFtXubn!ZQ5!tDZAQvi?6^X3cC@XaP?pT7h&HD+G0QLj`%j21q literal 0 HcmV?d00001 diff --git a/stable/vaultwarden/3.5.1/ix_values.yaml b/stable/vaultwarden/3.5.1/ix_values.yaml new file mode 100644 index 00000000000..e3b38897c6b --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.22.1 + +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: vaultwarden + postgresqlDatabase: vaultwarden + 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.5.1/questions.yaml b/stable/vaultwarden/3.5.1/questions.yaml new file mode 100644 index 00000000000..cfbcf3fe6e6 --- /dev/null +++ b/stable/vaultwarden/3.5.1/questions.yaml @@ -0,0 +1,1193 @@ +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: type + label: "(Advanced) Type of Storage" + description: "Sets the persistence type" + schema: + type: string + default: "pvc" + hidden: true + 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: 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 + required: true + default: "" + - 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: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + 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.5.1/templates/_configmap.tpl b/stable/vaultwarden/3.5.1/templates/_configmap.tpl new file mode 100644 index 00000000000..8809925abdf --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.5.1/templates/_secrets.tpl b/stable/vaultwarden/3.5.1/templates/_secrets.tpl new file mode 100644 index 00000000000..6a7bf408bb8 --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.5.1/templates/_validate.tpl b/stable/vaultwarden/3.5.1/templates/_validate.tpl new file mode 100644 index 00000000000..e4832c2f6e5 --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.5.1/templates/common.yaml b/stable/vaultwarden/3.5.1/templates/common.yaml new file mode 100644 index 00000000000..74f04d2d8c2 --- /dev/null +++ b/stable/vaultwarden/3.5.1/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.5.1/test_values.yaml b/stable/vaultwarden/3.5.1/test_values.yaml new file mode 100644 index 00000000000..e8ea2c4567a --- /dev/null +++ b/stable/vaultwarden/3.5.1/test_values.yaml @@ -0,0 +1,172 @@ +# Default values for Bitwarden. + +image: + repository: vaultwarden/server + pullPolicy: IfNotPresent + tag: 1.22.1 + +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.5.1/values.yaml b/stable/vaultwarden/3.5.1/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/zwavejs2mqtt/6.4.0/Chart.lock b/stable/zwavejs2mqtt/6.4.0/Chart.lock index 6e3cf91d22c..07cde4796a5 100644 --- a/stable/zwavejs2mqtt/6.4.0/Chart.lock +++ b/stable/zwavejs2mqtt/6.4.0/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.6.1 digest: sha256:fa5fa632be8581b6755b1bc247d0251de150963b75fe1e8c524727b7dffb7835 -generated: "2021-07-13T21:42:00.183557831Z" +generated: "2021-07-20T08:36:53.974702551Z"