From 561dd9d16d3ece87881e53d5d06349f15ad19210 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 31 Aug 2021 12:17:41 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/authelia/1.5.0/CONFIG.md | 8 + incubator/authelia/1.5.0/Chart.lock | 12 + incubator/authelia/1.5.0/Chart.yaml | 41 + incubator/authelia/1.5.0/README.md | 40 + incubator/authelia/1.5.0/app-readme.md | 4 + .../authelia/1.5.0/charts/common-6.12.1.tgz | Bin 0 -> 25243 bytes .../1.5.0/charts/postgresql-1.5.2.tgz | Bin 0 -> 32161 bytes .../authelia/1.5.0/charts/redis-15.1.0.tgz | Bin 0 -> 77345 bytes incubator/authelia/1.5.0/helm-values.md | 164 ++ incubator/authelia/1.5.0/ix_values.yaml | 231 +++ incubator/authelia/1.5.0/questions.yaml | 1697 +++++++++++++++++ .../authelia/1.5.0/templates/_configmap.tpl | 245 +++ .../authelia/1.5.0/templates/_secrets.tpl | 112 ++ .../authelia/1.5.0/templates/common.yaml | 72 + incubator/authelia/1.5.0/test_values.yaml | 662 +++++++ incubator/authelia/1.5.0/values.yaml | 0 incubator/custom-app/0.2.9/Chart.lock | 2 +- incubator/jdownloader2/0.3.7/Chart.lock | 2 +- incubator/nextcloud/3.6.0/CONFIG.md | 8 + incubator/nextcloud/3.6.0/Chart.lock | 12 + incubator/nextcloud/3.6.0/Chart.yaml | 36 + incubator/nextcloud/3.6.0/README.md | 40 + incubator/nextcloud/3.6.0/app-readme.md | 4 + .../nextcloud/3.6.0/charts/common-6.12.1.tgz | Bin 0 -> 25243 bytes .../3.6.0/charts/postgresql-1.5.2.tgz | Bin 0 -> 32161 bytes .../nextcloud/3.6.0/charts/redis-15.1.0.tgz | Bin 0 -> 77345 bytes incubator/nextcloud/3.6.0/helm-values.md | 98 + incubator/nextcloud/3.6.0/ix_values.yaml | 187 ++ incubator/nextcloud/3.6.0/questions.yaml | 1278 +++++++++++++ .../nextcloud/3.6.0/templates/_configmap.tpl | 33 + .../nextcloud/3.6.0/templates/_cronjob.tpl | 51 + .../nextcloud/3.6.0/templates/_secrets.tpl | 50 + .../nextcloud/3.6.0/templates/common.yaml | 14 + incubator/nextcloud/3.6.0/test_values.yaml | 210 ++ incubator/nextcloud/3.6.0/values.yaml | 0 stable/airsonic/1.11.7/Chart.lock | 2 +- stable/appdaemon/3.11.7/Chart.lock | 2 +- stable/bazarr/6.11.7/Chart.lock | 2 +- stable/booksonic-air/1.9.7/Chart.lock | 2 +- stable/calibre-web/6.11.7/Chart.lock | 2 +- stable/calibre/1.9.7/Chart.lock | 2 +- stable/collabora-online/6.11.7/Chart.lock | 2 +- stable/deconz/1.9.7/Chart.lock | 2 +- stable/deepstack-cpu/4.11.7/Chart.lock | 2 +- stable/deluge/6.11.7/Chart.lock | 2 +- stable/dizquetv/1.9.7/Chart.lock | 2 +- stable/duplicati/1.9.7/Chart.lock | 2 +- stable/emby/6.11.7/Chart.lock | 2 +- stable/esphome/6.11.7/Chart.lock | 2 +- stable/external-service/1.4.6/Chart.lock | 2 +- stable/fireflyiii/6.0.7/Chart.lock | 2 +- stable/flaresolverr/1.9.7/Chart.lock | 2 +- stable/flood/1.9.7/Chart.lock | 2 +- stable/focalboard/1.9.7/Chart.lock | 2 +- stable/freeradius/1.7.7/Chart.lock | 2 +- stable/freshrss/6.11.7/Chart.lock | 2 +- stable/gaps/6.11.7/Chart.lock | 2 +- stable/gonic/1.9.7/Chart.lock | 2 +- stable/grocy/6.11.7/Chart.lock | 2 +- stable/handbrake/6.11.7/Chart.lock | 2 +- stable/haste-server/1.11.7/Chart.lock | 2 +- stable/healthchecks/1.9.7/Chart.lock | 2 +- stable/heimdall/6.11.7/Chart.lock | 2 +- stable/home-assistant/6.11.7/Chart.lock | 2 +- stable/hyperion-ng/1.9.7/Chart.lock | 2 +- stable/jackett/6.11.8/Chart.lock | 2 +- stable/jellyfin/6.11.7/Chart.lock | 2 +- stable/kms/6.11.7/Chart.lock | 2 +- stable/komga/1.9.9/Chart.lock | 2 +- stable/lazylibrarian/6.11.7/Chart.lock | 2 +- stable/librespeed/1.9.7/Chart.lock | 2 +- stable/lidarr/6.11.7/Chart.lock | 2 +- stable/littlelink/1.5.7/Chart.lock | 2 +- stable/lychee/6.11.7/Chart.lock | 2 +- stable/mealie/1.11.7/Chart.lock | 2 +- stable/mosquitto/1.11.7/Chart.lock | 2 +- stable/mylar/1.9.7/Chart.lock | 2 +- stable/navidrome/6.11.7/Chart.lock | 2 +- stable/node-red/6.11.7/Chart.lock | 2 +- stable/nullserv/1.9.7/Chart.lock | 2 +- stable/nzbget/6.11.7/Chart.lock | 2 +- stable/nzbhydra/6.11.7/Chart.lock | 2 +- stable/octoprint/1.9.7/Chart.lock | 2 +- stable/omada-controller/1.9.7/Chart.lock | 2 +- stable/ombi/6.11.7/Chart.lock | 2 +- stable/openldap/1.7.7/Chart.lock | 2 +- stable/organizr/6.11.7/Chart.lock | 2 +- stable/overseerr/1.9.7/Chart.lock | 2 +- stable/owncast/1.9.7/Chart.lock | 2 +- stable/owncloud-ocis/1.9.7/Chart.lock | 2 +- stable/pgadmin/1.8.7/Chart.lock | 2 +- stable/photoprism/1.9.7/Chart.lock | 2 +- stable/phpldapadmin/1.8.7/Chart.lock | 2 +- stable/piaware/1.9.7/Chart.lock | 2 +- stable/plex/5.11.7/Chart.lock | 2 +- stable/podgrab/4.11.7/Chart.lock | 2 +- stable/postgresql/1.5.7/Chart.lock | 2 +- stable/pretend-youre-xyzzy/1.9.7/Chart.lock | 2 +- stable/protonmail-bridge/1.9.7/Chart.lock | 2 +- stable/prowlarr/1.11.8/Chart.lock | 2 +- stable/pyload/1.9.7/Chart.lock | 2 +- stable/qbittorrent/6.11.7/Chart.lock | 2 +- stable/radarr/6.11.7/Chart.lock | 2 +- stable/readarr/6.11.7/Chart.lock | 2 +- stable/reg/1.11.7/Chart.lock | 2 +- stable/resilio-sync/1.9.7/Chart.lock | 2 +- stable/sabnzbd/6.11.7/Chart.lock | 2 +- stable/ser2sock/1.9.7/Chart.lock | 2 +- stable/sonarr/6.11.7/Chart.lock | 2 +- stable/stash/1.9.8/Chart.lock | 2 +- stable/syncthing/6.11.7/Chart.lock | 2 +- stable/tautulli/6.11.7/Chart.lock | 2 +- stable/thelounge/1.11.7/Chart.lock | 2 +- stable/traefik/6.13.6/Chart.lock | 2 +- stable/transmission/6.11.7/Chart.lock | 2 +- stable/truecommand/6.11.7/Chart.lock | 2 +- stable/tvheadend/7.11.7/Chart.lock | 2 +- stable/unifi/6.11.7/Chart.lock | 2 +- stable/unpackerr/1.11.7/Chart.lock | 2 +- stable/vaultwarden/5.0.7/Chart.lock | 2 +- stable/xteve/1.9.7/Chart.lock | 2 +- stable/zwavejs2mqtt/6.11.8/Chart.lock | 2 +- 122 files changed, 5398 insertions(+), 89 deletions(-) create mode 100644 incubator/authelia/1.5.0/CONFIG.md create mode 100644 incubator/authelia/1.5.0/Chart.lock create mode 100644 incubator/authelia/1.5.0/Chart.yaml create mode 100644 incubator/authelia/1.5.0/README.md create mode 100644 incubator/authelia/1.5.0/app-readme.md create mode 100644 incubator/authelia/1.5.0/charts/common-6.12.1.tgz create mode 100644 incubator/authelia/1.5.0/charts/postgresql-1.5.2.tgz create mode 100644 incubator/authelia/1.5.0/charts/redis-15.1.0.tgz create mode 100644 incubator/authelia/1.5.0/helm-values.md create mode 100644 incubator/authelia/1.5.0/ix_values.yaml create mode 100644 incubator/authelia/1.5.0/questions.yaml create mode 100644 incubator/authelia/1.5.0/templates/_configmap.tpl create mode 100644 incubator/authelia/1.5.0/templates/_secrets.tpl create mode 100644 incubator/authelia/1.5.0/templates/common.yaml create mode 100644 incubator/authelia/1.5.0/test_values.yaml create mode 100644 incubator/authelia/1.5.0/values.yaml create mode 100644 incubator/nextcloud/3.6.0/CONFIG.md create mode 100644 incubator/nextcloud/3.6.0/Chart.lock create mode 100644 incubator/nextcloud/3.6.0/Chart.yaml create mode 100644 incubator/nextcloud/3.6.0/README.md create mode 100644 incubator/nextcloud/3.6.0/app-readme.md create mode 100644 incubator/nextcloud/3.6.0/charts/common-6.12.1.tgz create mode 100644 incubator/nextcloud/3.6.0/charts/postgresql-1.5.2.tgz create mode 100644 incubator/nextcloud/3.6.0/charts/redis-15.1.0.tgz create mode 100644 incubator/nextcloud/3.6.0/helm-values.md create mode 100644 incubator/nextcloud/3.6.0/ix_values.yaml create mode 100644 incubator/nextcloud/3.6.0/questions.yaml create mode 100644 incubator/nextcloud/3.6.0/templates/_configmap.tpl create mode 100644 incubator/nextcloud/3.6.0/templates/_cronjob.tpl create mode 100644 incubator/nextcloud/3.6.0/templates/_secrets.tpl create mode 100644 incubator/nextcloud/3.6.0/templates/common.yaml create mode 100644 incubator/nextcloud/3.6.0/test_values.yaml create mode 100644 incubator/nextcloud/3.6.0/values.yaml diff --git a/incubator/authelia/1.5.0/CONFIG.md b/incubator/authelia/1.5.0/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/authelia/1.5.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/authelia/1.5.0/Chart.lock b/incubator/authelia/1.5.0/Chart.lock new file mode 100644 index 00000000000..d613f002f14 --- /dev/null +++ b/incubator/authelia/1.5.0/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.12.1 +- name: postgresql + repository: https://truecharts.org/ + version: 1.5.2 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.1.0 +digest: sha256:c9605d94d03c9f147961c385da8404fa2ee0c15b7cd378a46a4202a4b844a2e4 +generated: "2021-08-31T12:16:12.201601693Z" diff --git a/incubator/authelia/1.5.0/Chart.yaml b/incubator/authelia/1.5.0/Chart.yaml new file mode 100644 index 00000000000..5d93cafada5 --- /dev/null +++ b/incubator/authelia/1.5.0/Chart.yaml @@ -0,0 +1,41 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.12.1 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.5.2 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.1.0 +deprecated: false +description: Authelia is a Single Sign-On Multi-Factor portal for web apps +home: https://github.com/truecharts/apps/tree/master/charts/stable/authelia +icon: https://avatars2.githubusercontent.com/u/59122411?s=200&v=4 +keywords: +- authelia +- authentication +- login +- SSO +- Authentication +- Security +- Two-Factor +- U2F +- YubiKey +- Push Notifications +- LDAP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: truecharts.org +name: authelia +sources: +- https://github.com/authelia/chartrepo +- https://github.com/authelia/authelia +type: application +version: 1.5.0 diff --git a/incubator/authelia/1.5.0/README.md b/incubator/authelia/1.5.0/README.md new file mode 100644 index 00000000000..9d1e7ee4b4a --- /dev/null +++ b/incubator/authelia/1.5.0/README.md @@ -0,0 +1,40 @@ +# Introduction + +Authelia is a Single Sign-On Multi-Factor portal for web apps + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | redis | 15.0.4 | +| https://truecharts.org/ | common | 6.12.1 | +| https://truecharts.org/ | postgresql | 1.5.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/authelia/1.5.0/app-readme.md b/incubator/authelia/1.5.0/app-readme.md new file mode 100644 index 00000000000..4e71e18c315 --- /dev/null +++ b/incubator/authelia/1.5.0/app-readme.md @@ -0,0 +1,4 @@ +Authelia is a Single Sign-On Multi-Factor portal for web apps + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Authelia is a Single Sign-On Multi-Factor portal for web apps diff --git a/incubator/authelia/1.5.0/charts/common-6.12.1.tgz b/incubator/authelia/1.5.0/charts/common-6.12.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7dacd3795f3c159b5a84150f46e24a9458b4d333 GIT binary patch literal 25243 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 literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.5.0/charts/postgresql-1.5.2.tgz b/incubator/authelia/1.5.0/charts/postgresql-1.5.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bf191f4ce2d58ee31bec4970bec67a4d99eee012 GIT binary patch literal 32161 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 literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.5.0/charts/redis-15.1.0.tgz b/incubator/authelia/1.5.0/charts/redis-15.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..24a8cc6409d111425b94a061d033337cfdfe6631 GIT binary patch literal 77345 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 b{d51^Kljhwe*S*|00960h~p-k09*zDv#b0C literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.5.0/helm-values.md b/incubator/authelia/1.5.0/helm-values.md new file mode 100644 index 00000000000..fed5dcd0fa8 --- /dev/null +++ b/incubator/authelia/1.5.0/helm-values.md @@ -0,0 +1,164 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| access_control.default_policy | string | `"deny"` | | +| access_control.networks | list | `[]` | | +| access_control.rules | list | `[]` | | +| args[0] | string | `"--config=/configuration.yaml"` | | +| authentication_backend.disable_reset_password | bool | `false` | | +| authentication_backend.file.enabled | bool | `true` | | +| authentication_backend.file.password.algorithm | string | `"argon2id"` | | +| authentication_backend.file.password.iterations | int | `1` | | +| authentication_backend.file.password.key_length | int | `32` | | +| authentication_backend.file.password.memory | int | `1024` | | +| authentication_backend.file.password.parallelism | int | `8` | | +| authentication_backend.file.password.salt_length | int | `16` | | +| authentication_backend.file.path | string | `"/config/users_database.yml"` | | +| authentication_backend.ldap.additional_groups_dn | string | `"OU=Groups"` | | +| authentication_backend.ldap.additional_users_dn | string | `"OU=Users"` | | +| authentication_backend.ldap.base_dn | string | `"DC=example,DC=com"` | | +| authentication_backend.ldap.display_name_attribute | string | `""` | | +| authentication_backend.ldap.enabled | bool | `false` | | +| authentication_backend.ldap.group_name_attribute | string | `""` | | +| authentication_backend.ldap.groups_filter | string | `""` | | +| authentication_backend.ldap.implementation | string | `"activedirectory"` | | +| authentication_backend.ldap.mail_attribute | string | `""` | | +| authentication_backend.ldap.plain_password | string | `""` | | +| authentication_backend.ldap.start_tls | bool | `false` | | +| authentication_backend.ldap.timeout | string | `"5s"` | | +| authentication_backend.ldap.tls.minimum_version | string | `"TLS1.2"` | | +| authentication_backend.ldap.tls.server_name | string | `""` | | +| authentication_backend.ldap.tls.skip_verify | bool | `false` | | +| authentication_backend.ldap.url | string | `"ldap://openldap.default.svc.cluster.local"` | | +| authentication_backend.ldap.user | string | `"CN=Authelia,DC=example,DC=com"` | | +| authentication_backend.ldap.username_attribute | string | `""` | | +| authentication_backend.ldap.users_filter | string | `""` | | +| authentication_backend.refresh_interval | string | `"5m"` | | +| command[0] | string | `"authelia"` | | +| default_redirection_url | string | `""` | | +| domain | string | `"example.com"` | | +| duo_api.enabled | bool | `false` | | +| duo_api.hostname | string | `"api-123456789.example.com"` | | +| duo_api.integration_key | string | `"ABCDEF"` | | +| duo_api.plain_api_key | string | `""` | | +| envFrom[0].configMapRef.name | string | `"{{ include \"common.names.fullname\" . }}-paths"` | | +| identity_providers.oidc.access_token_lifespan | string | `"1h"` | | +| identity_providers.oidc.authorize_code_lifespan | string | `"1m"` | | +| identity_providers.oidc.clients | list | `[]` | | +| identity_providers.oidc.enable_client_debug_messages | bool | `false` | | +| identity_providers.oidc.enabled | bool | `false` | | +| identity_providers.oidc.id_token_lifespan | string | `"1h"` | | +| identity_providers.oidc.minimum_parameter_entropy | int | `8` | | +| identity_providers.oidc.refresh_token_lifespan | string | `"90m"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/authelia/authelia"` | | +| image.tag | string | `"4.30.4"` | | +| log.format | string | `"text"` | | +| log.level | string | `"trace"` | | +| notifier.disable_startup_check | bool | `false` | | +| notifier.filesystem.enabled | bool | `true` | | +| notifier.filesystem.filename | string | `"/config/notification.txt"` | | +| notifier.smtp.disable_html_emails | bool | `false` | | +| notifier.smtp.disable_require_tls | bool | `false` | | +| notifier.smtp.enabled | bool | `false` | | +| notifier.smtp.enabledSecret | bool | `false` | | +| notifier.smtp.host | string | `"smtp.mail.svc.cluster.local"` | | +| notifier.smtp.identifier | string | `"localhost"` | | +| notifier.smtp.plain_password | string | `"test"` | | +| notifier.smtp.port | int | `25` | | +| notifier.smtp.sender | string | `"admin@example.com"` | | +| notifier.smtp.startup_check_address | string | `"test@authelia.com"` | | +| notifier.smtp.subject | string | `"[Authelia] {title}"` | | +| notifier.smtp.timeout | string | `"5s"` | | +| notifier.smtp.tls.minimum_version | string | `"TLS1.2"` | | +| notifier.smtp.tls.server_name | string | `""` | | +| notifier.smtp.tls.skip_verify | bool | `false` | | +| notifier.smtp.username | string | `"test"` | | +| persistence.config.accessMode | string | `"ReadWriteOnce"` | | +| persistence.config.enabled | bool | `true` | | +| persistence.config.mountPath | string | `"/config"` | | +| persistence.config.size | string | `"100Gi"` | | +| persistence.config.type | string | `"pvc"` | | +| persistence.redismaster.accessMode | string | `"ReadWriteOnce"` | | +| persistence.redismaster.enabled | bool | `true` | | +| persistence.redismaster.forceName | string | `"redismaster"` | | +| persistence.redismaster.noMount | bool | `true` | | +| persistence.redismaster.size | string | `"100Gi"` | | +| persistence.redismaster.type | string | `"pvc"` | | +| podSecurityContext.fsGroup | int | `568` | | +| podSecurityContext.runAsGroup | int | `568` | | +| podSecurityContext.runAsUser | int | `568` | | +| postgresql.enabled | bool | `true` | | +| postgresql.existingSecret | string | `"{{ .Release.Name }}-dbcreds"` | | +| postgresql.postgresqlDatabase | string | `"authelia"` | | +| postgresql.postgresqlUsername | string | `"authelia"` | | +| probes.liveness.path | string | `"/api/health\""` | | +| probes.liveness.type | string | `"HTTP"` | | +| probes.readiness.path | string | `"/api/health"` | | +| probes.readiness.type | string | `"HTTP"` | | +| probes.startup.path | string | `"/api/health"` | | +| probes.startup.type | string | `"HTTP"` | | +| redis.architecture | string | `"standalone"` | | +| redis.auth.existingSecret | string | `"rediscreds"` | | +| redis.auth.existingSecretPasswordKey | string | `"redis-password"` | | +| redis.enabled | bool | `true` | | +| redis.master.persistence.enabled | bool | `false` | | +| redis.master.persistence.existingClaim | string | `"redismaster"` | | +| redis.replica.persistence.enabled | bool | `false` | | +| redis.replica.replicaCount | int | `0` | | +| redis.volumePermissions.enabled | bool | `true` | | +| redisProvider.database_index | int | `0` | | +| redisProvider.high_availability.enabled | bool | `false` | | +| redisProvider.high_availability.enabledSecret | bool | `false` | | +| redisProvider.high_availability.nodes | list | `[]` | | +| redisProvider.high_availability.route_by_latency | bool | `false` | | +| redisProvider.high_availability.route_randomly | bool | `false` | | +| redisProvider.high_availability.sentinel_name | string | `"mysentinel"` | | +| redisProvider.maximum_active_connections | int | `8` | | +| redisProvider.minimum_idle_connections | int | `0` | | +| redisProvider.port | int | `6379` | | +| redisProvider.tls.enabled | bool | `false` | | +| redisProvider.tls.minimum_version | string | `"TLS1.2"` | | +| redisProvider.tls.server_name | string | `""` | | +| redisProvider.tls.skip_verify | bool | `false` | | +| redisProvider.username | string | `""` | | +| regulation.ban_time | string | `"5m"` | | +| regulation.find_time | string | `"2m"` | | +| regulation.max_retries | int | `3` | | +| resources.limits | object | `{}` | | +| resources.requests | object | `{}` | | +| securityContext.allowPrivilegeEscalation | bool | `false` | | +| securityContext.privileged | bool | `false` | | +| securityContext.readOnlyRootFilesystem | bool | `true` | | +| server.path | string | `""` | | +| server.port | int | `9091` | | +| server.read_buffer_size | int | `4096` | | +| server.write_buffer_size | int | `4096` | | +| service.main.ports.main.port | int | `9091` | | +| session.expiration | string | `"1h"` | | +| session.inactivity | string | `"5m"` | | +| session.name | string | `"authelia_session"` | | +| session.remember_me_duration | string | `"1M"` | | +| session.same_site | string | `"lax"` | | +| storage.postgres.database | string | `"authelia"` | | +| storage.postgres.port | int | `5432` | | +| storage.postgres.sslmode | string | `"disable"` | | +| storage.postgres.timeout | string | `"5s"` | | +| storage.postgres.username | string | `"authelia"` | | +| strategy.type | string | `"Recreate"` | | +| theme | string | `"light"` | | +| totp.issuer | string | `""` | | +| totp.period | int | `30` | | +| totp.skew | int | `1` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/authelia/1.5.0/ix_values.yaml b/incubator/authelia/1.5.0/ix_values.yaml new file mode 100644 index 00000000000..32637a28eec --- /dev/null +++ b/incubator/authelia/1.5.0/ix_values.yaml @@ -0,0 +1,231 @@ +## +# 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: ghcr.io/authelia/authelia + pullPolicy: IfNotPresent + tag: "4.30.4" + +# Enabled postgres +postgresql: + enabled: true + postgresqlUsername: authelia + postgresqlDatabase: authelia + existingSecret: "{{ .Release.Name }}-dbcreds" + persistence: + db: + storageClass: "SCALE-ZFS" + dbbackups: + storageClass: "SCALE-ZFS" + +# 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 + +envFrom: + - configMapRef: + name: '{{ include "common.names.fullname" . }}-paths' + +probes: + liveness: + type: HTTP + path: /api/health" + + readiness: + type: HTTP + path: "/api/health" + + startup: + type: HTTP + path: "/api/health" + +## +## Storage Provider Configuration +## +## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers. +storage: + ## + ## PostgreSQL (Storage Provider) + ## + postgres: + port: 5432 + database: authelia + username: authelia + sslmode: disable + timeout: 5s + +## +## Server Configuration +## +server: + ## + ## Port sets the configured port for the daemon, service, and the probes. + ## Default is 9091 and should not need to be changed. + ## + port: 9091 + + ## Buffers usually should be configured to be the same value. + ## Explanation at https://www.authelia.com/docs/configuration/server.html + ## Read buffer size adjusts the server's max incoming request size in bytes. + ## Write buffer size does the same for outgoing responses. + read_buffer_size: 4096 + write_buffer_size: 4096 + ## Set the single level path Authelia listens on. + ## Must be alphanumeric chars and should not contain any slashes. + path: "" + +## +## Redis Provider +## +## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html +## +## The redis connection details +redisProvider: + port: 6379 + + ## Optional username to be used with authentication. + # username: authelia + username: "" + + ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). + database_index: 0 + + ## The maximum number of concurrent active connections to Redis. + maximum_active_connections: 8 + + ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. + minimum_idle_connections: 0 + + ## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s). + tls: + enabled: false + + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for the connection. + minimum_version: TLS1.2 + + ## The Redis HA configuration options. + ## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name). + high_availability: + enabled: false + enabledSecret: false + ## Sentinel Name / Master Name + sentinel_name: mysentinel + + ## The additional nodes to pre-seed the redis provider with (for sentinel). + ## If the host in the above section is defined, it will be combined with this list to connect to sentinel. + ## For high availability to be used you must have either defined; the host above or at least one node below. + nodes: [] + # nodes: + # - host: sentinel-0.databases.svc.cluster.local + # port: 26379 + # - host: sentinel-1.databases.svc.cluster.local + # port: 26379 + + ## Choose the host with the lowest latency. + route_by_latency: false + + ## Choose the host randomly. + route_randomly: false + +identity_providers: + oidc: + ## Enables this in the config map. Currently in beta stage. + ## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap + enabled: false + + access_token_lifespan: 1h + authorize_code_lifespan: 1m + id_token_lifespan: 1h + refresh_token_lifespan: 90m + + enable_client_debug_messages: false + + ## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for + ## security reasons. + minimum_parameter_entropy: 8 + + clients: [] + # clients: + # - + ## The ID is the OpenID Connect ClientID which is used to link an application to a configuration. + # id: myapp + + ## The description to show to users when they end up on the consent screen. Defaults to the ID above. + # description: My Application + + ## The client secret is a shared secret between Authelia and the consumer of this client. + # secret: apple123 + + ## Sets the client to public. This should typically not be set, please see the documentation for usage. + # public: false + + ## The policy to require for this client; one_factor or two_factor. + # authorization_policy: two_factor + + ## Audience this client is allowed to request. + # audience: [] + + ## Scopes this client is allowed to request. + # scopes: + # - openid + # - profile + # - email + # - groups + + ## Redirect URI's specifies a list of valid case-sensitive callbacks for this client. + # redirect_uris: + # - https://oidc.example.com/oauth2/callback + + ## Grant Types configures which grants this client can obtain. + ## It's not recommended to configure this unless you know what you're doing. + # grant_types: + # - refresh_token + # - authorization_code + + ## Response Types configures which responses this client can be sent. + ## It's not recommended to configure this unless you know what you're doing. + # response_types: + # - code + + ## Response Modes configures which response modes this client supports. + ## It's not recommended to configure this unless you know what you're doing. + # response_modes: + # - form_post + # - query + # - fragment + + ## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256. + # userinfo_signing_algorithm: none + + + +## +# 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/authelia/1.5.0/questions.yaml b/incubator/authelia/1.5.0/questions.yaml new file mode 100644 index 00000000000..bf246bc7434 --- /dev/null +++ b/incubator/authelia/1.5.0/questions.yaml @@ -0,0 +1,1697 @@ +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: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + + + - 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: domain + group: "App Configuration" + label: "Domain" + description: "The highest domain level possible, for example: domain.com when using app.domain.com" + schema: + type: string + default: "" + required: true + + - variable: default_redirection_url + group: "App Configuration" + label: "Default Redirection Url" + description: "If user tries to authenticate without any referer, this is used" + schema: + type: string + default: "" + required: false + + - variable: theme + group: "App Configuration" + label: "Theme" + schema: + type: string + default: "light" + enum: + - value: "light" + description: "info" + - value: "gray" + description: "gray" + - value: "dark" + description: "dark" + + - variable: log + group: "App Configuration" + label: "Log Configuration " + schema: + type: dict + attrs: + - variable: level + label: "Log Level" + schema: + type: string + default: "info" + enum: + - value: "info" + description: "info" + - value: "debug" + description: "debug" + - value: "trace" + description: "trace" + - variable: format + label: "Log Format" + schema: + type: string + default: "text" + enum: + - value: "json" + description: "json" + - value: "text" + description: "text" + + - variable: totp + group: "App Configuration" + label: "TOTP Configuration" + schema: + type: dict + attrs: + - variable: issuer + label: "Issuer" + description: "The issuer name displayed in the Authenticator application of your choice" + schema: + type: string + default: "" + - variable: period + label: "Period" + description: "The period in seconds a one-time password is current for" + schema: + type: int + default: 30 + - variable: skew + label: "skew" + description: "Controls number of one-time passwords either side of the current one that are valid." + schema: + type: int + default: 1 + + - variable: duo_api + group: "App Configuration" + label: "DUO API Configuration" + description: "Parameters used to contact the Duo API." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostname + label: "Hostname" + schema: + type: string + required: true + default: "" + + - variable: integration_key + label: "integration_key" + schema: + type: string + defaults: "" + required: true + - variable: plain_api_key + label: "plain_api_key" + schema: + type: string + defaults: "" + required: true + + - variable: session + group: "App Configuration" + label: "Session Provider" + description: "The session cookies identify the user once logged in." + schema: + type: dict + attrs: + - variable: name + label: "Cookie Name" + description: "The name of the session cookie." + schema: + type: string + required: true + default: "authelia_session" + - variable: same_site + label: "SameSite Value" + description: "Sets the Cookie SameSite value" + schema: + type: string + default: "lax" + enum: + - value: "lax" + description: "lax" + - value: "strict" + description: "strict" + - variable: expiration + label: "Expiration Time" + description: "The time in seconds before the cookie expires and session is reset." + schema: + type: string + defaults: "1h" + required: true + - variable: inactivity + label: "Inactivity Time" + description: "The inactivity time in seconds before the session is reset." + schema: + type: string + defaults: "5m" + required: true + - variable: inactivity + label: "Remember-Me duration" + description: "The remember me duration" + schema: + type: string + defaults: "5M" + required: true + + - variable: regulation + group: "App Configuration" + label: "Regulation Configuration" + description: "his mechanism prevents attackers from brute forcing the first factor." + schema: + type: dict + attrs: + - variable: max_retries + label: "Maximum Retries" + description: "The number of failed login attempts before user is banned. Set it to 0 to disable regulation." + schema: + type: int + default: 3 + - variable: find_time + label: "Find Time" + description: "The time range during which the user can attempt login before being banned." + schema: + type: string + defaults: "2m" + required: true + - variable: ban_time + label: "Ban Duration" + description: "The length of time before a banned user can login again" + schema: + type: string + defaults: "5m" + required: true + + + - variable: authentication_backend + group: "App Configuration" + label: "Authentication Backend Provider" + description: "sed for verifying user passwords and retrieve information such as email address and groups users belong to." + schema: + type: dict + attrs: + - variable: disable_reset_password + label: "Disable Reset Password" + description: "Disable both the HTML element and the API for reset password functionality" + schema: + type: boolean + default: false + - variable: refresh_interval + label: "Reset Interval" + description: "The amount of time to wait before we refresh data from the authentication backend" + schema: + type: string + defaults: "5m" + required: true + - variable: ldap + label: "LDAP backend configuration" + description: "Used for verifying user passwords and retrieve information such as email address and groups users belong to" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: implementation + label: "Implementation" + description: "The LDAP implementation, this affects elements like the attribute utilised for resetting a password" + schema: + type: string + default: "custom" + enum: + - value: "activedirectory" + description: "activedirectory" + - value: "custom" + description: "custom" + - variable: url + label: "URL" + description: "The url to the ldap server. Format: ://
[:]" + schema: + type: string + default: "ldap://openldap.default.svc.cluster.local" + required: true + - variable: timeout + label: "Connection Timeout" + schema: + type: string + default: "5s" + required: true + - variable: start_tls + label: "Start TLS" + description: "Use StartTLS with the LDAP connection" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: base_dn + label: "Base DN" + description: "The base dn for every LDAP query." + schema: + type: string + defaults: "DC=example,DC=com" + required: true + - variable: username_attribute + label: "Username Attribute" + description: "The attribute holding the username of the user" + schema: + type: string + defaults: "" + required: true + - variable: additional_users_dn + label: "Additional Users DN" + description: "An additional dn to define the scope to all users." + schema: + type: string + defaults: "OU=Users" + required: true + - variable: users_filter + label: "Users Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + defaults: "" + required: true + - variable: additional_groups_dn + label: "Additional Groups DN" + description: "An additional dn to define the scope of groups." + schema: + type: string + defaults: "OU=Groups" + required: true + - variable: groups_filter + label: "Groups Filter" + description: "The groups filter used in search queries to find the groups of the user." + schema: + type: string + defaults: "" + required: true + - variable: group_name_attribute + label: "Group name Attribute" + description: "The attribute holding the name of the group" + schema: + type: string + defaults: "" + required: true + - variable: mail_attribute + label: "Mail Attribute" + description: "The attribute holding the primary mail address of the user" + schema: + type: string + defaults: "" + required: true + - variable: display_name_attribute + label: "Display Name Attribute" + description: "he attribute holding the display name of the user. This will be used to greet an authenticated user." + schema: + type: string + defaults: "" + - variable: user + label: "Admin User" + description: "The username of the admin user used to connect to LDAP." + schema: + type: string + defaults: "CN=Authelia,DC=example,DC=com" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + defaults: "" + required: true + - variable: file + label: "File backend configuration" + description: "With this backend, the users database is stored in a file which is updated when users reset their passwords." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: path + label: "Path" + schema: + type: string + defaults: "/config/users_database.yml" + required: true + - variable: password + label: "Password Settings" + schema: + type: dict + attrs: + - variable: algorithm + label: "Algorithm" + schema: + type: string + default: "argon2id" + enum: + - value: "argon2id" + description: "argon2id" + - value: "sha512" + description: "sha512" + - variable: iterations + label: "Iterations" + schema: + type: int + default: 1 + required: true + - variable: key_length + label: "Key Length" + schema: + type: int + default: 32 + required: true + - variable: salt_length + label: "Salt Length" + schema: + type: int + default: 16 + required: true + - variable: memory + label: "Memory" + schema: + type: int + default: 1024 + required: true + - variable: parallelism + label: "Parallelism" + schema: + type: int + default: 8 + required: true + + + - variable: notifier + group: "App Configuration" + label: "Notifier Configuration" + description: "otifications are sent to users when they require a password reset, a u2f registration or a TOTP registration." + schema: + type: dict + attrs: + - variable: disable_startup_check + label: "Disable Startup Check" + schema: + type: boolean + default: false + - variable: filesystem + label: "Filesystem Provider" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: filename + label: "File Path" + schema: + type: string + defaults: "/config/notification.txt" + required: true + - variable: smtp + label: "SMTP Provider" + description: "Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: host + label: "Host" + schema: + type: string + defaults: "smtp.mail.svc.cluster.local" + required: true + - variable: port + label: "Port" + schema: + type: int + defaults: 25 + required: true + - variable: timeout + label: "Timeout" + schema: + type: string + defaults: "5s" + required: true + - variable: username + label: "Username" + schema: + type: string + defaults: "" + required: true + - variable: plain_password + label: "Password" + schema: + type: string + defaults: "" + required: true + - variable: sender + label: "Sender" + schema: + type: string + defaults: "" + required: true + - variable: identifier + label: "Identifier" + description: "HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost." + schema: + type: string + defaults: "localhost" + required: true + - variable: subject + label: "Subject" + description: "Subject configuration of the emails sent, {title} is replaced by the text from the notifier" + schema: + type: string + defaults: "[Authelia] {title}" + required: true + - variable: startup_check_address + label: "Startup Check Address" + description: "This address is used during the startup check to verify the email configuration is correct." + schema: + type: string + defaults: "test@authelia.com" + required: true + - variable: disable_require_tls + label: "Disable Require TLS" + schema: + type: boolean + default: false + - variable: disable_html_emails + label: "Disable HTML emails" + schema: + type: boolean + default: false + - variable: tls + label: "TLS Settings" + schema: + type: dict + attrs: + - variable: server_name + label: "Server Name" + description: "Server Name for certificate validation (in case it's not set correctly in the URL)." + schema: + type: string + default: "" + - variable: skip_verify + label: "Skip Certificate Verification" + description: "Skip verifying the server certificate (to allow a self-signed certificate)" + schema: + type: boolean + default: false + - variable: minimum_version + label: "Minimum TLS version" + description: "Minimum TLS version for either Secure LDAP or LDAP StartTLS." + schema: + type: string + default: "TLS1.2" + enum: + - value: "TLS1.0" + description: "TLS1.0" + - value: "TLS1.1" + description: "TLS1.1" + - value: "TLS1.2" + description: "TLS1.2" + - value: "TLS1.3" + description: "TLS1.3" + - variable: access_control + group: "App Configuration" + label: "Access Control Configuration" + description: "Access control is a list of rules defining the authorizations applied for one resource to users or group of users." + schema: + type: dict + attrs: + - variable: default_policy + label: "Default Policy" + description: "Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "deny" + + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: networkItem + label: "Network Item" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "network" + schema: + type: string + default: "" + required: true + + - variable: rules + label: "Rules" + schema: + type: list + default: [] + items: + - variable: rulesItem + label: "Rule" + schema: + type: dict + attrs: + - variable: domain + label: "Domain" + description: "defines which domain or set of domains the rule applies to." + schema: + type: string + default: "" + required: true + - variable: policy + label: "Policy" + description: "The policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'." + schema: + type: string + default: "two_factor" + enum: + - value: "bypass" + description: "bypass" + - value: "one_factor" + description: "one_factor" + - value: "two_factor" + description: "two_factor" + - value: "deny" + description: "two_factor" + - variable: subject + label: "Subject" + description: "defines the subject to apply authorizations to. This parameter is optional and matching any user if not provided" + schema: + type: list + default: [] + items: + - variable: subjectitem + label: "Subject" + schema: + type: string + default: "" + required: true + - variable: networks + label: "Networks" + schema: + type: list + default: [] + items: + - variable: network + label: "Network" + schema: + type: string + default: "" + required: true + - variable: resources + label: "Resources" + description: "is a list of regular expressions that matches a set of resources to apply the policy to" + schema: + type: list + default: [] + items: + - variable: resource + label: "Resource" + schema: + type: string + default: "" + required: true + + - variable: 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9091 + editable: false + hidden: true + - variable: port + label: "Container Port" + schema: + type: int + default: 9091 + 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: 36095 + required: true + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + - 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: "/config" + 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: ingressList + label: "Additional Ingress" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: "Security and Permissions" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + + - variable: 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: supplementalGroups + label: "supplemental Groups" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "supplemental Group" + schema: + type: int + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" + - variable: 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" + + + + - variable: autoscaling + group: "Resources and Devices" + label: "Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 diff --git a/incubator/authelia/1.5.0/templates/_configmap.tpl b/incubator/authelia/1.5.0/templates/_configmap.tpl new file mode 100644 index 00000000000..4bdeefd71cd --- /dev/null +++ b/incubator/authelia/1.5.0/templates/_configmap.tpl @@ -0,0 +1,245 @@ +{{/* Define the configmap */}} +{{- define "authelia.configmap" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }}-paths +data: + AUTHELIA_SERVER_DISABLE_HEALTHCHECK: "true" + AUTHELIA_JWT_SECRET_FILE: "/secrets/JWT_TOKEN" + AUTHELIA_SESSION_SECRET_FILE: "/secrets/SESSION_ENCRYPTION_KEY" + AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE: "/secrets/STORAGE_PASSWORD" + {{- if .Values.authentication_backend.ldap.enabled }} + AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE: "/secrets/LDAP_PASSWORD" + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE: "/secrets/SMTP_PASSWORD" + {{- end }} + AUTHELIA_SESSION_REDIS_PASSWORD_FILE: "/secrets/REDIS_PASSWORD" + {{- if and .Values.redisProvider.high_availability.enabled}} + AUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE: "/secrets/REDIS_SENTINEL_PASSWORD" + {{- end }} + {{- if .Values.duo_api.enabled }} + AUTHELIA_DUO_API_SECRET_KEY_FILE: "/secrets/DUO_API_KEY" + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE: "/secrets/OIDC_HMAC_SECRET" + AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE: "/secrets/OIDC_PRIVATE_KEY" + {{- end }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }}-configfile +data: + configuration.yaml: | + --- + theme: {{ default "light" .Values.theme }} + default_redirection_url: {{ default (printf "https://www.%s" .Values.domain) .Values.default_redirection_url }} + server: + host: 0.0.0.0 + port: {{ default 9091 .Values.server.port }} + {{- if not (eq "" (default "" .Values.server.path)) }} + path: {{ .Values.server.path }} + {{- end }} + read_buffer_size: {{ default 4096 .Values.server.read_buffer_size }} + write_buffer_size: {{ default 4096 .Values.server.write_buffer_size }} + enable_pprof: {{ default false .Values.server.enable_pprof }} + enable_expvars: {{ default false .Values.server.enable_expvars }} + log: + level: {{ default "info" .Values.log.level }} + format: {{ default "text" .Values.log.format }} + {{- if not (eq "" (default "" .Values.log.file_path)) }} + file_path: {{ .Values.log.file_path }} + keep_stdout: true + {{- end }} + totp: + issuer: {{ default .Values.domain .Values.totp.issuer }} + period: {{ default 30 .Values.totp.period }} + skew: {{ default 1 .Values.totp.skew }} + {{- if .Values.duo_api.enabled }} + duo_api: + hostname: {{ .Values.duo_api.hostname }} + integration_key: {{ .Values.duo_api.integration_key }} + {{- end }} + {{- with $auth := .Values.authentication_backend }} + authentication_backend: + disable_reset_password: {{ $auth.disable_reset_password }} + {{- if $auth.file.enabled }} + file: + path: {{ $auth.file.path }} + password: {{ toYaml $auth.file.password | nindent 10 }} + {{- end }} + {{- if $auth.ldap.enabled }} + ldap: + implementation: {{ default "custom" $auth.ldap.implementation }} + url: {{ $auth.ldap.url }} + timeout: {{ default "5s" $auth.ldap.timeout }} + start_tls: {{ $auth.ldap.start_tls }} + tls: + {{- if hasKey $auth.ldap.tls "server_name" }} + server_name: {{ default $auth.ldap.host $auth.ldap.tls.server_name }} + {{- end }} + minimum_version: {{ default "TLS1.2" $auth.ldap.tls.minimum_version }} + skip_verify: {{ default false $auth.ldap.tls.skip_verify }} + {{- if $auth.ldap.base_dn }} + base_dn: {{ $auth.ldap.base_dn }} + {{- end }} + {{- if $auth.ldap.username_attribute }} + username_attribute: {{ $auth.ldap.username_attribute }} + {{- end }} + {{- if $auth.ldap.additional_users_dn }} + additional_users_dn: {{ $auth.ldap.additional_users_dn }} + {{- end }} + {{- if $auth.ldap.users_filter }} + users_filter: {{ $auth.ldap.users_filter }} + {{- end }} + {{- if $auth.ldap.additional_groups_dn }} + additional_groups_dn: {{ $auth.ldap.additional_groups_dn }} + {{- end }} + {{- if $auth.ldap.groups_filter }} + groups_filter: {{ $auth.ldap.groups_filter }} + {{- end }} + {{- if $auth.ldap.group_name_attribute }} + group_name_attribute: {{ $auth.ldap.group_name_attribute }} + {{- end }} + {{- if $auth.ldap.mail_attribute }} + mail_attribute: {{ $auth.ldap.mail_attribute }} + {{- end }} + {{- if $auth.ldap.display_name_attribute }} + display_name_attribute: {{ $auth.ldap.display_name_attribute }} + {{- end }} + user: {{ $auth.ldap.user }} + {{- end }} + {{- end }} + {{- with $session := .Values.session }} + session: + name: {{ default "authelia_session" $session.name }} + domain: {{ required "A valid .Values.domain entry required!" $.Values.domain }} + same_site: {{ default "lax" $session.same_site }} + expiration: {{ default "1M" $session.expiration }} + inactivity: {{ default "5m" $session.inactivity }} + remember_me_duration: {{ default "1M" $session.remember_me_duration }} + {{- end }} + redis: + host: {{ ( printf "%v-%v" .Release.Name "redis-master" ) }} + {{- with $redis := .Values.redisProvider }} + port: {{ default 6379 $redis.port }} + {{- if not (eq $redis.username "") }} + username: {{ $redis.username }} + {{- end }} + maximum_active_connections: {{ default 8 $redis.maximum_active_connections }} + minimum_idle_connections: {{ default 0 $redis.minimum_idle_connections }} + {{- if $redis.tls.enabled }} + tls: + server_name: {{ $redis.tls.server_name }} + minimum_version: {{ default "TLS1.2" $redis.tls.minimum_version }} + skip_verify: {{ $redis.tls.skip_verify }} + {{- end }} + {{- if $redis.high_availability.enabled }} + high_availability: + sentinel_name: {{ $redis.high_availability.sentinel_name }} + {{- if $redis.high_availability.nodes }} + nodes: {{ toYaml $redis.high_availability.nodes | nindent 10 }} + {{- end }} + route_by_latency: {{ $redis.high_availability.route_by_latency }} + route_randomly: {{ $redis.high_availability.route_randomly }} + {{- end }} + {{- end }} + + regulation: {{ toYaml .Values.regulation | nindent 6 }} + storage: + postgres: + host: {{ printf "%v-%v" .Release.Name "postgresql" }} + {{- with $storage := .Values.storage }} + port: {{ default 5432 $storage.postgres.port }} + database: {{ default "authelia" $storage.postgres.database }} + username: {{ default "authelia" $storage.postgres.username }} + timeout: {{ default "5s" $storage.postgres.timeout }} + sslmode: {{ default "disable" $storage.postgres.sslmode }} + {{- end }} + {{- with $notifier := .Values.notifier }} + notifier: + disable_startup_check: {{ $.Values.notifier.disable_startup_check }} + {{- if $notifier.filesystem.enabled }} + filesystem: + filename: {{ $notifier.filesystem.filename }} + {{- end }} + {{- if $notifier.smtp.enabled }} + smtp: + host: {{ $notifier.smtp.host }} + port: {{ default 25 $notifier.smtp.port }} + timeout: {{ default "5s" $notifier.smtp.timeout }} + username: {{ $notifier.smtp.username }} + sender: {{ $notifier.smtp.sender }} + identifier: {{ $notifier.smtp.identifier }} + subject: {{ $notifier.smtp.subject | quote }} + startup_check_address: {{ $notifier.smtp.startup_check_address }} + disable_require_tls: {{ $notifier.smtp.disable_require_tls }} + disable_html_emails: {{ $notifier.smtp.disable_html_emails }} + tls: + server_name: {{ default $notifier.smtp.host $notifier.smtp.tls.server_name }} + minimum_version: {{ default "TLS1.2" $notifier.smtp.tls.minimum_version }} + skip_verify: {{ default false $notifier.smtp.tls.skip_verify }} + {{- end }} + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + identity_providers: + oidc: + access_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.access_token_lifespan }} + authorize_code_lifespan: {{ default "1m" .Values.identity_providers.oidc.authorize_code_lifespan }} + id_token_lifespan: {{ default "1h" .Values.identity_providers.oidc.id_token_lifespan }} + refresh_token_lifespan: {{ default "90m" .Values.identity_providers.oidc.refresh_token_lifespan }} + enable_client_debug_messages: {{ default false .Values.identity_providers.oidc.enable_client_debug_messages }} + minimum_parameter_entropy: {{ default 8 .Values.identity_providers.oidc.minimum_parameter_entropy }} + {{- if gt (len .Values.identity_providers.oidc.clients) 0 }} + clients: + {{- range $client := .Values.identity_providers.oidc.clients }} + - id: {{ $client.id }} + description: {{ default $client.id $client.description }} + secret: {{ default (randAlphaNum 128) $client.secret }} + {{- if hasKey $client "public" }} + public: {{ $client.public }} + {{- end }} + authorization_policy: {{ default "two_factor" $client.authorization_policy }} + redirect_uris: {{ toYaml $client.redirect_uris | nindent 10 }} + {{- if hasKey $client "audience" }} + audience: {{ toYaml $client.audience | nindent 10 }} + {{- end }} + scopes: {{ toYaml (default (list "openid" "profile" "email" "groups") $client.scopes) | nindent 10 }} + grant_types: {{ toYaml (default (list "refresh_token" "authorization_code") $client.grant_types) | nindent 10 }} + response_types: {{ toYaml (default (list "code") $client.response_types) | nindent 10 }} + {{- if hasKey $client "response_modes" }} + response_modes: {{ toYaml $client.response_modes | nindent 10 }} + {{- end }} + userinfo_signing_algorithm: {{ default "none" $client.userinfo_signing_algorithm }} + {{- end }} + {{- end }} + {{- end }} + access_control: + {{- if (eq (len .Values.access_control.rules) 0) }} + {{- if (eq .Values.access_control.default_policy "bypass") }} + default_policy: one_factor + {{- else if (eq .Values.access_control.default_policy "deny") }} + default_policy: two_factor + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- else }} + default_policy: {{ .Values.access_control.default_policy }} + {{- end }} + {{- if (eq (len .Values.access_control.networks) 0) }} + networks: [] + {{- else }} + networks: {{ toYaml .Values.access_control.networks | nindent 6 }} + {{- end }} + {{- if (eq (len .Values.access_control.rules) 0) }} + rules: [] + {{- else }} + rules: {{ toYaml .Values.access_control.rules | nindent 6 }} + {{- end }} + ... +{{- end -}} diff --git a/incubator/authelia/1.5.0/templates/_secrets.tpl b/incubator/authelia/1.5.0/templates/_secrets.tpl new file mode 100644 index 00000000000..44f8b0e1548 --- /dev/null +++ b/incubator/authelia/1.5.0/templates/_secrets.tpl @@ -0,0 +1,112 @@ +{{/* Define the secrets */}} +{{- define "authelia.secrets" -}} +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: {{ .Release.Name }}-dbcreds +{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace ( ( printf "%v-%v" .Release.Name "dbcreds" ) | quote ) }} +{{- $dbPass := "" }} +data: +{{- if $dbprevious }} + postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $dbprevious.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 + + +--- + +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: rediscreds +{{- $redisprevious := lookup "v1" "Secret" .Release.Namespace "rediscreds" }} +{{- $redisPass := "" }} +{{- $sentinelPass := "" }} +data: +{{- if $redisprevious }} + redis-password: {{ ( index $redisprevious.data "redis-password" ) }} + sentinel-password: {{ ( index $redisprevious.data "sentinel-password" ) }} +{{- else }} + {{- $redisPass = randAlphaNum 50 }} + {{- $sentinelPass = randAlphaNum 50 }} + redis-password: {{ $redisPass | b64enc | quote }} + sentinel-password: {{ $sentinelPass | 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 + + +--- + +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{ include "common.names.fullname" . }}-secrets +{{- $autheliaprevious := lookup "v1" "Secret" .Release.Namespace ( ( printf "%v-%v" ( ( include "common.names.fullname" . ) | quote ) "-secrets" ) | quote ) }} +{{- $oidckey := "" }} +{{- $oidcsecret := "" }} +{{- $jwtsecret := "" }} +{{- $sessionsecret := "" }} +data: + {{- if $autheliaprevious }} + SESSION_ENCRYPTION_KEY: {{ index $autheliaprevious.data "SESSION_ENCRYPTION_KEY" }} + JWT_TOKEN: {{ index $autheliaprevious.data "JWT_TOKEN" }} + {{- else }} + {{- $jwtsecret := randAlphaNum 50 }} + {{- $sessionsecret := randAlphaNum 50 }} + SESSION_ENCRYPTION_KEY: {{ $jwtsecret | b64enc | quote }} + JWT_TOKEN: {{ $jwtsecret | b64enc | quote }} + {{- end }} + {{- if .Values.authentication_backend.ldap.enabled }} + LDAP_PASSWORD: {{ .Values.authentication_backend.ldap.plain_password }} + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + SMTP_PASSWORD: {{ .Values.notifier.smtp.plain_password }} + {{- end }} + {{- if .Values.duo_api.enabled }} + DUO_API_KEY: {{ .Values.duo_api.plain_api_key | b64enc }} + {{- end }} + {{- if $dbprevious }} + STORAGE_PASSWORD: {{ ( index $dbprevious.data "postgresql-password" ) }} + {{- else }} + STORAGE_PASSWORD: {{ $dbPass | b64enc | quote }} + {{- end }} + {{- if $redisprevious }} + REDIS_PASSWORD: {{ ( index $redisprevious.data "redis-password" ) }} + {{- if .Values.redisProvider.high_availability.enabled}} + REDIS_SENTINEL_PASSWORD: {{ ( index $redisprevious.data "sentinel-password" ) }} + {{- end }} + {{- else }} + REDIS_PASSWORD: {{ $redisPass | b64enc | quote }} + {{- if .Values.redisProvider.high_availability.enabled}} + REDIS_SENTINEL_PASSWORD: {{ $sentinelPass | b64enc | quote }} + {{- end }} + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + {{- if $autheliaprevious }} + OIDC_PRIVATE_KEY: {{ index $autheliaprevious.data "OIDC_PRIVATE_KEY" }} + OIDC_HMAC_SECRET: {{index $autheliaprevious.data "OIDC_HMAC_SECRET" }} + {{- else }} + {{- $oidckey := genPrivateKey "rsa" }} + {{- $oidcsecret := randAlphaNum 32 }} + OIDC_PRIVATE_KEY: {{ $oidckey | b64enc }} + OIDC_HMAC_SECRET: {{ $oidcsecret | b64enc }} + {{- end }} + {{- end }} + + +{{- end -}} diff --git a/incubator/authelia/1.5.0/templates/common.yaml b/incubator/authelia/1.5.0/templates/common.yaml new file mode 100644 index 00000000000..caa2c91f302 --- /dev/null +++ b/incubator/authelia/1.5.0/templates/common.yaml @@ -0,0 +1,72 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render configmap for authelia */}} +{{- include "authelia.configmap" . }} + +{{/* Render secrets for authelia */}} +{{- include "authelia.secrets" . }} + +{{/* Append the general configMap volume to the volumes */}} +{{- define "authelia.configmapVolume" -}} +enabled: "true" +mountPath: " /configuration.yaml" +readOnly: true +subPath: configuration.yaml +type: "custom" +volumeSpec: + configMap: + name: {{ include "common.names.fullname" . }}-configfile + items: + - key: configuration.yaml + path: configuration.yaml +{{- end -}} + +{{/* Append the general secret volumes to the volumes */}} +{{- define "authelia.secretVolumes" -}} +enabled: "true" +mountPath: " /secrets" +readOnly: true +type: "custom" +volumeSpec: + secret: + secretName: {{ include "common.names.fullname" . }}-secrets + items: + - key: "JWT_TOKEN" + path: JWT_TOKEN + - key: "SESSION_ENCRYPTION_KEY" + path: SESSION_ENCRYPTION_KEY + - key: "STORAGE_PASSWORD" + path: STORAGE_PASSWORD + {{- if .Values.authentication_backend.ldap.enabled }} + - key: "LDAP_PASSWORD" + path: LDAP_PASSWORD + {{- end }} + {{- if .Values.notifier.smtp.enabled }} + - key: "SMTP_PASSWORD" + path: SMTP_PASSWORD + {{- end }} + - key: "REDIS_PASSWORD" + path: REDIS_PASSWORD + {{- if .Values.redisProvider.high_availability.enabled}} + - key: "REDIS_SENTINEL_PASSWORD" + path: REDIS_SENTINEL_PASSWORD + {{- end }} + {{- if .Values.duo_api.enabled }} + - key: "DUO_API_KEY" + path: DUO_API_KEY + {{- end }} + {{- if .Values.identity_providers.oidc.enabled }} + - key: "OIDC_PRIVATE_KEY" + path: OIDC_PRIVATE_KEY + - key: "OIDC_HMAC_SECRET" + path: OIDC_HMAC_SECRET + {{- end }} +{{- end -}} + +{{- $_ := set .Values.persistence "authelia-configfile" (include "authelia.configmapVolume" . | fromYaml) -}} +{{- $_ := set .Values.persistence "authelia-secrets" (include "authelia.secretVolumes" . | fromYaml) -}} + + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/incubator/authelia/1.5.0/test_values.yaml b/incubator/authelia/1.5.0/test_values.yaml new file mode 100644 index 00000000000..f416a33a438 --- /dev/null +++ b/incubator/authelia/1.5.0/test_values.yaml @@ -0,0 +1,662 @@ +# Default values for Bitwarden. + +image: + repository: ghcr.io/authelia/authelia + pullPolicy: IfNotPresent + tag: "4.30.4" + +command: ["authelia"] +args: ["--config=/configuration.yaml"] + +strategy: + type: Recreate + +service: + main: + ports: + main: + port: 9091 + +persistence: + config: + enabled: true + mountPath: "/config" + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + redismaster: + noMount: true + forceName: "redismaster" + enabled: true + type: pvc + accessMode: ReadWriteOnce + size: "100Gi" + +# Enabled postgres +postgresql: + enabled: true + postgresqlUsername: authelia + postgresqlDatabase: authelia + existingSecret: "{{ .Release.Name }}-dbcreds" + +# 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 + + +podSecurityContext: + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +securityContext: + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + privileged: false + + +resources: + limits: {} + # limits: + # cpu: "4.00" + # memory: 125Mi + requests: {} + # requests: + # cpu: "0.25" + # memory: 50Mi + +envFrom: + - configMapRef: + name: '{{ include "common.names.fullname" . }}-paths' + +probes: + liveness: + type: HTTP + path: /api/health" + + readiness: + type: HTTP + path: "/api/health" + + startup: + type: HTTP + path: "/api/health" + +domain: example.com + +## +## Server Configuration +## +server: + ## + ## Port sets the configured port for the daemon, service, and the probes. + ## Default is 9091 and should not need to be changed. + ## + port: 9091 + + ## Buffers usually should be configured to be the same value. + ## Explanation at https://www.authelia.com/docs/configuration/server.html + ## Read buffer size adjusts the server's max incoming request size in bytes. + ## Write buffer size does the same for outgoing responses. + read_buffer_size: 4096 + write_buffer_size: 4096 + ## Set the single level path Authelia listens on. + ## Must be alphanumeric chars and should not contain any slashes. + path: "" + +log: + ## Level of verbosity for logs: info, debug, trace. + level: trace + + ## Format the logs are written as: json, text. + format: text + + ## TODO: Statefulness check should check if this is set, and the configMap should enable it. + ## File path where the logs will be written. If not set logs are written to stdout. + # file_path: /config/authelia.log + +## Default redirection URL +## +## If user tries to authenticate without any referer, Authelia does not know where to redirect the user to at the end +## of the authentication process. This parameter allows you to specify the default redirection URL Authelia will use +## in such a case. +## +## Note: this parameter is optional. If not provided, user won't be redirected upon successful authentication. +## Default is https://www. (value at the top of the values.yaml). +default_redirection_url: "" +# default_redirection_url: https://example.com + +theme: light + +## +## TOTP Configuration +## +## Parameters used for TOTP generation +totp: + ## The issuer name displayed in the Authenticator application of your choice + ## See: https://github.com/google/google-authenticator/wiki/Key-Uri-Format for more info on issuer names + ## Defaults to . + issuer: "" + ## The period in seconds a one-time password is current for. Changing this will require all users to register + ## their TOTP applications again. Warning: before changing period read the docs link below. + period: 30 + ## The skew controls number of one-time passwords either side of the current one that are valid. + ## Warning: before changing skew read the docs link below. + ## See: https://www.authelia.com/docs/configuration/one-time-password.html#period-and-skew to read the documentation. + skew: 1 + +## +## Duo Push API Configuration +## +## Parameters used to contact the Duo API. Those are generated when you protect an application of type +## "Partner Auth API" in the management panel. +duo_api: + enabled: false + hostname: api-123456789.example.com + integration_key: ABCDEF + plain_api_key: "" + +## +## Authentication Backend Provider Configuration +## +## Used for verifying user passwords and retrieve information such as email address and groups users belong to. +## +## The available providers are: `file`, `ldap`. You must use one and only one of these providers. +authentication_backend: + ## Disable both the HTML element and the API for reset password functionality + disable_reset_password: false + + ## The amount of time to wait before we refresh data from the authentication backend. Uses duration notation. + ## To disable this feature set it to 'disable', this will slightly reduce security because for Authelia, users will + ## always belong to groups they belonged to at the time of login even if they have been removed from them in LDAP. + ## To force update on every request you can set this to '0' or 'always', this will increase processor demand. + ## See the below documentation for more information. + ## Duration Notation docs: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Refresh Interval docs: https://www.authelia.com/docs/configuration/authentication/ldap.html#refresh-interval + refresh_interval: 5m + + ## LDAP backend configuration. + ## + ## This backend allows Authelia to be scaled to more + ## than one instance and therefore is recommended for + ## production. + ldap: + + ## Enable LDAP Backend. + enabled: false + + ## The LDAP implementation, this affects elements like the attribute utilised for resetting a password. + ## Acceptable options are as follows: + ## - 'activedirectory' - For Microsoft Active Directory. + ## - 'custom' - For custom specifications of attributes and filters. + ## This currently defaults to 'custom' to maintain existing behaviour. + ## + ## Depending on the option here certain other values in this section have a default value, notably all of the + ## attribute mappings have a default value that this config overrides, you can read more about these default values + ## at https://www.authelia.com/docs/configuration/authentication/ldap.html#defaults + implementation: activedirectory + + ## The url to the ldap server. Format: ://
[:]. + ## Scheme can be ldap or ldaps in the format (port optional). + url: ldap://openldap.default.svc.cluster.local + + ## Connection Timeout. + timeout: 5s + + ## Use StartTLS with the LDAP connection. + start_tls: false + + tls: + ## Server Name for certificate validation (in case it's not set correctly in the URL). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either Secure LDAP or LDAP StartTLS. + minimum_version: TLS1.2 + + ## The base dn for every LDAP query. + base_dn: DC=example,DC=com + + ## The attribute holding the username of the user. This attribute is used to populate the username in the session + ## information. It was introduced due to #561 to handle case insensitive search queries. For you information, + ## Microsoft Active Directory usually uses 'sAMAccountName' and OpenLDAP usually uses 'uid'. Beware that this + ## attribute holds the unique identifiers for the users binding the user and the configuration stored in database. + ## Therefore only single value attributes are allowed and the value must never be changed once attributed to a user + ## otherwise it would break the configuration for that user. Technically, non-unique attributes like 'mail' can also + ## be used but we don't recommend using them, we instead advise to use the attributes mentioned above + ## (sAMAccountName and uid) to follow https://www.ietf.org/rfc/rfc2307.txt. + username_attribute: "" + + ## An additional dn to define the scope to all users. + additional_users_dn: OU=Users + + ## The users filter used in search queries to find the user profile based on input filled in login form. + ## Various placeholders are available in the user filter: + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username_attribute} is a mandatory placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## + ## Recommended settings are as follows: + ## - Microsoft Active Directory: (&({username_attribute}={input})(objectCategory=person)(objectClass=user)) + ## - OpenLDAP: + ## - (&({username_attribute}={input})(objectClass=person)) + ## - (&({username_attribute}={input})(objectClass=inetOrgPerson)) + ## + ## To allow sign in both with username and email, one can use a filter like + ## (&(|({username_attribute}={input})({mail_attribute}={input}))(objectClass=person)) + users_filter: "" + + ## An additional dn to define the scope of groups. + additional_groups_dn: OU=Groups + + ## The groups filter used in search queries to find the groups of the user. + ## - {input} is a placeholder replaced by what the user inputs in the login form. + ## - {username} is a placeholder replace by the username stored in LDAP (based on `username_attribute`). + ## - {dn} is a matcher replaced by the user distinguished name, aka, user DN. + ## - {username_attribute} is a placeholder replaced by what is configured in `username_attribute`. + ## - {mail_attribute} is a placeholder replaced by what is configured in `mail_attribute`. + ## - DON'T USE - {0} is an alias for {input} supported for backward compatibility but it will be deprecated in later + ## versions, so please don't use it. + ## - DON'T USE - {1} is an alias for {username} supported for backward compatibility but it will be deprecated in + ## later version, so please don't use it. + ## + ## If your groups use the `groupOfUniqueNames` structure use this instead: + ## (&(uniquemember={dn})(objectclass=groupOfUniqueNames)) + groups_filter: "" + + ## The attribute holding the name of the group + group_name_attribute: "" + + ## The attribute holding the mail address of the user. If multiple email addresses are defined for a user, only the + ## first one returned by the LDAP server is used. + mail_attribute: "" + + ## The attribute holding the display name of the user. This will be used to greet an authenticated user. + display_name_attribute: "" + + ## The username of the admin user. + user: CN=Authelia,DC=example,DC=com + plain_password: "" + + ## + ## File (Authentication Provider) + ## + ## With this backend, the users database is stored in a file which is updated when users reset their passwords. + ## Therefore, this backend is meant to be used in a dev environment and not in production since it prevents Authelia + ## to be scaled to more than one instance. The options under 'password' have sane defaults, and as it has security + ## implications it is highly recommended you leave the default values. Before considering changing these settings + ## please read the docs page below: + ## https://www.authelia.com/docs/configuration/authentication/file.html#password-hash-algorithm-tuning + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + file: + enabled: true + path: /config/users_database.yml + password: + algorithm: argon2id + iterations: 1 + key_length: 32 + salt_length: 16 + memory: 1024 + parallelism: 8 + +## +## Access Control Configuration +## +## Access control is a list of rules defining the authorizations applied for one resource to users or group of users. +## +## If 'access_control' is not defined, ACL rules are disabled and the 'bypass' rule is applied, i.e., access is allowed +## to anyone. Otherwise restrictions follow the rules defined. +## +## Note: One can use the wildcard * to match any subdomain. +## It must stand at the beginning of the pattern. (example: *.mydomain.com) +## +## Note: You must put patterns containing wildcards between simple quotes for the YAML to be syntactically correct. +## +## Definition: A 'rule' is an object with the following keys: 'domain', 'subject', 'policy' and 'resources'. +## +## - 'domain' defines which domain or set of domains the rule applies to. +## +## - 'subject' defines the subject to apply authorizations to. This parameter is optional and matching any user if not +## provided. If provided, the parameter represents either a user or a group. It should be of the form +## 'user:' or 'group:'. +## +## - 'policy' is the policy to apply to resources. It must be either 'bypass', 'one_factor', 'two_factor' or 'deny'. +## +## - 'resources' is a list of regular expressions that matches a set of resources to apply the policy to. This parameter +## is optional and matches any resource if not provided. +## +## Note: the order of the rules is important. The first policy matching (domain, resource, subject) applies. +access_control: + ## Default policy can either be 'bypass', 'one_factor', 'two_factor' or 'deny'. It is the policy applied to any + ## resource if there is no policy to be applied to the user. + default_policy: deny + + networks: [] + # networks: + # - name: private + # networks: + # - 10.0.0.0/8 + # - 172.16.0.0/12 + # - 192.168.0.0/16 + # - name: vpn + # networks: + # - 10.9.0.0/16 + + rules: [] + # rules: + # - domain: public.example.com + # policy: bypass + # - domain: "*.example.com" + # policy: bypass + # methods: + # - OPTIONS + # - domain: secure.example.com + # policy: one_factor + # networks: + # - private + # - vpn + # - 192.168.1.0/24 + # - 10.0.0.1 + # - domain: + # - secure.example.com + # - private.example.com + # policy: two_factor + # - domain: singlefactor.example.com + # policy: one_factor + # - domain: "mx2.mail.example.com" + # subject: "group:admins" + # policy: deny + # - domain: "*.example.com" + # subject: + # - "group:admins" + # - "group:moderators" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/groups/dev/.*$" + # subject: "group:dev" + # policy: two_factor + # - domain: dev.example.com + # resources: + # - "^/users/john/.*$" + # subject: + # - ["group:dev", "user:john"] + # - "group:admins" + # policy: two_factor + # - domain: "{user}.example.com" + # policy: bypass + +## +## Session Provider Configuration +## +## The session cookies identify the user once logged in. +## The available providers are: `memory`, `redis`. Memory is the provider unless redis is defined. +session: + ## The name of the session cookie. (default: authelia_session). + name: authelia_session + + ## Sets the Cookie SameSite value. Possible options are none, lax, or strict. + ## Please read https://www.authelia.com/docs/configuration/session.html#same_site + same_site: lax + + ## The time in seconds before the cookie expires and session is reset. + expiration: 1h + + ## The inactivity time in seconds before the session is reset. + inactivity: 5m + + ## The remember me duration. + ## Value is in seconds, or duration notation. Value of 0 disables remember me. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ## Longer periods are considered less secure because a stolen cookie will last longer giving attackers more time to + ## spy or attack. Currently the default is 1M or 1 month. + remember_me_duration: 1M + +## +## Redis Provider +## +## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html +## +## The redis connection details +redisProvider: + port: 6379 + + ## Optional username to be used with authentication. + # username: authelia + username: "" + + ## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc). + database_index: 0 + + ## The maximum number of concurrent active connections to Redis. + maximum_active_connections: 8 + + ## The target number of idle connections to have open ready for work. Useful when opening connections is slow. + minimum_idle_connections: 0 + + ## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s). + tls: + enabled: false + + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for the connection. + minimum_version: TLS1.2 + + ## The Redis HA configuration options. + ## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name). + high_availability: + enabled: false + enabledSecret: false + ## Sentinel Name / Master Name + sentinel_name: mysentinel + + ## The additional nodes to pre-seed the redis provider with (for sentinel). + ## If the host in the above section is defined, it will be combined with this list to connect to sentinel. + ## For high availability to be used you must have either defined; the host above or at least one node below. + nodes: [] + # nodes: + # - host: sentinel-0.databases.svc.cluster.local + # port: 26379 + # - host: sentinel-1.databases.svc.cluster.local + # port: 26379 + + ## Choose the host with the lowest latency. + route_by_latency: false + + ## Choose the host randomly. + route_randomly: false + +## +## Regulation Configuration +## +## This mechanism prevents attackers from brute forcing the first factor. It bans the user if too many attempts are done +## in a short period of time. +regulation: + ## The number of failed login attempts before user is banned. Set it to 0 to disable regulation. + max_retries: 3 + + ## The time range during which the user can attempt login before being banned. The user is banned if the + ## authentication failed 'max_retries' times in a 'find_time' seconds window. Find Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + find_time: 2m + + ## The length of time before a banned user can login again. Ban Time accepts duration notation. + ## See: https://www.authelia.com/docs/configuration/index.html#duration-notation-format + ban_time: 5m + + +## +## Storage Provider Configuration +## +## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers. +storage: + ## + ## PostgreSQL (Storage Provider) + ## + postgres: + port: 5432 + database: authelia + username: authelia + sslmode: disable + timeout: 5s + +## +## Notification Provider +## +## +## Notifications are sent to users when they require a password reset, a u2f registration or a TOTP registration. +## The available providers are: filesystem, smtp. You must use one and only one of these providers. +notifier: + ## You can disable the notifier startup check by setting this to true. + disable_startup_check: false + + ## + ## File System (Notification Provider) + ## + ## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html + ## + filesystem: + enabled: true + filename: /config/notification.txt + + ## + ## SMTP (Notification Provider) + ## + ## Use a SMTP server for sending notifications. Authelia uses the PLAIN or LOGIN methods to authenticate. + ## [Security] By default Authelia will: + ## - force all SMTP connections over TLS including unauthenticated connections + ## - use the disable_require_tls boolean value to disable this requirement + ## (only works for unauthenticated connections) + ## - validate the SMTP server x509 certificate during the TLS handshake against the hosts trusted certificates + ## (configure in tls section) + smtp: + enabled: false + enabledSecret: false + host: smtp.mail.svc.cluster.local + port: 25 + timeout: 5s + username: test + plain_password: test + sender: admin@example.com + ## HELO/EHLO Identifier. Some SMTP Servers may reject the default of localhost. + identifier: localhost + ## Subject configuration of the emails sent. + ## {title} is replaced by the text from the notifier + subject: "[Authelia] {title}" + ## This address is used during the startup check to verify the email configuration is correct. + ## It's not important what it is except if your email server only allows local delivery. + startup_check_address: test@authelia.com + disable_require_tls: false + disable_html_emails: false + + tls: + ## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option). + server_name: "" + + ## Skip verifying the server certificate (to allow a self-signed certificate). + ## In preference to setting this we strongly recommend you add the public portion of the certificate to the + ## certificates directory which is defined by the `certificates_directory` option at the top of the config. + skip_verify: false + + ## Minimum TLS version for either StartTLS or SMTPS. + minimum_version: TLS1.2 + +identity_providers: + oidc: + ## Enables this in the config map. Currently in beta stage. + ## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap + enabled: false + + access_token_lifespan: 1h + authorize_code_lifespan: 1m + id_token_lifespan: 1h + refresh_token_lifespan: 90m + + enable_client_debug_messages: false + + ## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for + ## security reasons. + minimum_parameter_entropy: 8 + + clients: [] + # clients: + # - + ## The ID is the OpenID Connect ClientID which is used to link an application to a configuration. + # id: myapp + + ## The description to show to users when they end up on the consent screen. Defaults to the ID above. + # description: My Application + + ## The client secret is a shared secret between Authelia and the consumer of this client. + # secret: apple123 + + ## Sets the client to public. This should typically not be set, please see the documentation for usage. + # public: false + + ## The policy to require for this client; one_factor or two_factor. + # authorization_policy: two_factor + + ## Audience this client is allowed to request. + # audience: [] + + ## Scopes this client is allowed to request. + # scopes: + # - openid + # - profile + # - email + # - groups + + ## Redirect URI's specifies a list of valid case-sensitive callbacks for this client. + # redirect_uris: + # - https://oidc.example.com/oauth2/callback + + ## Grant Types configures which grants this client can obtain. + ## It's not recommended to configure this unless you know what you're doing. + # grant_types: + # - refresh_token + # - authorization_code + + ## Response Types configures which responses this client can be sent. + ## It's not recommended to configure this unless you know what you're doing. + # response_types: + # - code + + ## Response Modes configures which response modes this client supports. + ## It's not recommended to configure this unless you know what you're doing. + # response_modes: + # - form_post + # - query + # - fragment + + ## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256. + # userinfo_signing_algorithm: none diff --git a/incubator/authelia/1.5.0/values.yaml b/incubator/authelia/1.5.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/custom-app/0.2.9/Chart.lock b/incubator/custom-app/0.2.9/Chart.lock index df885efc519..04cd8d02da0 100644 --- a/incubator/custom-app/0.2.9/Chart.lock +++ b/incubator/custom-app/0.2.9/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:57.057174311Z" +generated: "2021-08-31T12:16:20.777244406Z" diff --git a/incubator/jdownloader2/0.3.7/Chart.lock b/incubator/jdownloader2/0.3.7/Chart.lock index 8edb0bfed7f..c6d82147fbe 100644 --- a/incubator/jdownloader2/0.3.7/Chart.lock +++ b/incubator/jdownloader2/0.3.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:36:01.091104968Z" +generated: "2021-08-31T12:16:25.924002476Z" diff --git a/incubator/nextcloud/3.6.0/CONFIG.md b/incubator/nextcloud/3.6.0/CONFIG.md new file mode 100644 index 00000000000..fc9b2fa2d5f --- /dev/null +++ b/incubator/nextcloud/3.6.0/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide: +https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/incubator/nextcloud/3.6.0/Chart.lock b/incubator/nextcloud/3.6.0/Chart.lock new file mode 100644 index 00000000000..38e24672760 --- /dev/null +++ b/incubator/nextcloud/3.6.0/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.12.1 +- name: postgresql + repository: https://truecharts.org/ + version: 1.5.2 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.1.0 +digest: sha256:c9605d94d03c9f147961c385da8404fa2ee0c15b7cd378a46a4202a4b844a2e4 +generated: "2021-08-31T12:16:33.584506083Z" diff --git a/incubator/nextcloud/3.6.0/Chart.yaml b/incubator/nextcloud/3.6.0/Chart.yaml new file mode 100644 index 00000000000..8599b37cedc --- /dev/null +++ b/incubator/nextcloud/3.6.0/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.12.1 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.5.2 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.1.0 +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 +name: nextcloud +sources: +- https://github.com/nextcloud/docker +- https://github.com/nextcloud/helm +type: application +version: 3.6.0 diff --git a/incubator/nextcloud/3.6.0/README.md b/incubator/nextcloud/3.6.0/README.md new file mode 100644 index 00000000000..65033f6328b --- /dev/null +++ b/incubator/nextcloud/3.6.0/README.md @@ -0,0 +1,40 @@ +# Introduction + +A private cloud server that puts the control and security of your own data back into your hands. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | redis | 15.0.4 | +| https://truecharts.org/ | common | 6.12.1 | +| https://truecharts.org/ | postgresql | 1.5.2 | + +## Installing the Chart + +To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/). + +## Uninstalling the Chart + +To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/). + +## Support + +- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first. +- See the [Wiki](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +--- +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nextcloud/3.6.0/app-readme.md b/incubator/nextcloud/3.6.0/app-readme.md new file mode 100644 index 00000000000..e7f74fea014 --- /dev/null +++ b/incubator/nextcloud/3.6.0/app-readme.md @@ -0,0 +1,4 @@ +A private cloud server that puts the control and security of your own data back into your hands. + +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A private cloud server that puts the control and security of your own diff --git a/incubator/nextcloud/3.6.0/charts/common-6.12.1.tgz b/incubator/nextcloud/3.6.0/charts/common-6.12.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7dacd3795f3c159b5a84150f46e24a9458b4d333 GIT binary patch literal 25243 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 literal 0 HcmV?d00001 diff --git a/incubator/nextcloud/3.6.0/charts/postgresql-1.5.2.tgz b/incubator/nextcloud/3.6.0/charts/postgresql-1.5.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bf191f4ce2d58ee31bec4970bec67a4d99eee012 GIT binary patch literal 32161 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 literal 0 HcmV?d00001 diff --git a/incubator/nextcloud/3.6.0/charts/redis-15.1.0.tgz b/incubator/nextcloud/3.6.0/charts/redis-15.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..24a8cc6409d111425b94a061d033337cfdfe6631 GIT binary patch literal 77345 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 b{d51^Kljhwe*S*|00960h~p-k09*zDv#b0C literal 0 HcmV?d00001 diff --git a/incubator/nextcloud/3.6.0/helm-values.md b/incubator/nextcloud/3.6.0/helm-values.md new file mode 100644 index 00000000000..2c6e8863377 --- /dev/null +++ b/incubator/nextcloud/3.6.0/helm-values.md @@ -0,0 +1,98 @@ +# Default Helm-Values + +TrueCharts is primarily build to supply TrueNAS SCALE Apps. +However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file. + +Most of our Apps also consume our "common" Helm Chart. +If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart. +You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document. + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| additionalContainers[0].args[0] | string | `"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"` | | +| additionalContainers[0].command[0] | string | `"/bin/bash"` | | +| additionalContainers[0].command[1] | string | `"-c"` | | +| additionalContainers[0].command[2] | string | `"--"` | | +| additionalContainers[0].envFrom[0].configMapRef.name | string | `"hpbconfig"` | | +| additionalContainers[0].env[0].name | string | `"PORT"` | | +| additionalContainers[0].env[0].value | string | `"7867"` | | +| additionalContainers[0].image | string | `"nextcloud:21.0.2"` | | +| additionalContainers[0].imagePullPolicy | string | `"IfNotPresent"` | | +| additionalContainers[0].name | string | `"hpb"` | | +| additionalContainers[0].ports[0].containerPort | int | `7867` | | +| additionalContainers[0].ports[0].name | string | `"hpb"` | | +| additionalContainers[0].securityContext.runAsGroup | int | `33` | | +| additionalContainers[0].securityContext.runAsUser | int | `33` | | +| additionalContainers[0].volumeMounts[0].mountPath | string | `"/var/www/html"` | | +| additionalContainers[0].volumeMounts[0].name | string | `"data"` | | +| cronjob.annotations | object | `{}` | | +| cronjob.failedJobsHistoryLimit | int | `5` | | +| cronjob.schedule | string | `"*/5 * * * *"` | | +| cronjob.successfulJobsHistoryLimit | int | `2` | | +| env.NEXTCLOUD_ADMIN_PASSWORD | string | `"adminpass"` | | +| env.NEXTCLOUD_ADMIN_USER | string | `"admin"` | | +| env.TRUSTED_PROXIES | string | `"172.16.0.0/16"` | | +| envFrom[0].configMapRef.name | string | `"nextcloudconfig"` | | +| envTpl.POSTGRES_DB | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | | +| envTpl.POSTGRES_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | | +| envValueFrom.POSTGRES_HOST.secretKeyRef.key | string | `"host"` | | +| envValueFrom.POSTGRES_HOST.secretKeyRef.name | string | `"dbcreds"` | | +| envValueFrom.POSTGRES_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | | +| envValueFrom.POSTGRES_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.key | string | `"masterhost"` | | +| envValueFrom.REDIS_HOST.secretKeyRef.name | string | `"rediscreds"` | | +| envValueFrom.REDIS_HOST_PASSWORD.secretKeyRef.key | string | `"redis-password"` | | +| envValueFrom.REDIS_HOST_PASSWORD.secretKeyRef.name | string | `"rediscreds"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"nextcloud"` | | +| image.tag | string | `"22.1.1"` | | +| initContainers[0].command[0] | string | `"sh"` | | +| initContainers[0].command[1] | string | `"-c"` | | +| initContainers[0].command[2] | string | `"until pg_isready -U nextcloud -h ${pghost} ; do sleep 2 ; done"` | | +| initContainers[0].env[0].name | string | `"pghost"` | | +| initContainers[0].env[0].valueFrom.secretKeyRef.key | string | `"plainhost"` | | +| initContainers[0].env[0].valueFrom.secretKeyRef.name | string | `"dbcreds"` | | +| initContainers[0].image | string | `"postgres:13.1"` | | +| initContainers[0].imagePullPolicy | string | `"IfNotPresent"` | | +| initContainers[0].name | string | `"init-postgresdb"` | | +| persistence.data.accessMode | string | `"ReadWriteOnce"` | | +| persistence.data.enabled | bool | `true` | | +| persistence.data.mountPath | string | `"/var/www/html"` | | +| persistence.data.size | string | `"100Gi"` | | +| persistence.data.type | string | `"pvc"` | | +| persistence.redismaster.accessMode | string | `"ReadWriteOnce"` | | +| persistence.redismaster.enabled | bool | `true` | | +| persistence.redismaster.forceName | string | `"redismaster"` | | +| persistence.redismaster.noMount | bool | `true` | | +| persistence.redismaster.size | string | `"100Gi"` | | +| persistence.redismaster.type | string | `"pvc"` | | +| podSecurityContext.fsGroup | int | `33` | | +| postgresql.enabled | bool | `true` | | +| postgresql.existingSecret | string | `"dbcreds"` | | +| postgresql.postgresqlDatabase | string | `"nextcloud"` | | +| postgresql.postgresqlUsername | string | `"nextcloud"` | | +| probes | object | See below | Probe configuration -- [[ref]](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | +| probes.liveness | object | See below | Liveness probe configuration | +| probes.liveness.spec | object | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| probes.readiness | object | See below | Redainess probe configuration | +| probes.readiness.spec | object | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| probes.startup | object | See below | Startup probe configuration | +| probes.startup.spec | object | "/" | If a HTTP probe is used (default for HTTP/HTTPS services) this path is used | +| redis.architecture | string | `"standalone"` | | +| redis.auth.existingSecret | string | `"rediscreds"` | | +| redis.auth.existingSecretPasswordKey | string | `"redis-password"` | | +| redis.enabled | bool | `true` | | +| redis.master.persistence.enabled | bool | `false` | | +| redis.master.persistence.existingClaim | string | `"redismaster"` | | +| redis.replica.persistence.enabled | bool | `false` | | +| redis.replica.replicaCount | int | `0` | | +| redis.volumePermissions.enabled | bool | `true` | | +| service.hpb.enabled | bool | `true` | | +| service.hpb.ports.hpb.enabled | bool | `true` | | +| service.hpb.ports.hpb.port | int | `7867` | | +| service.main.ports.main.port | int | `80` | | +| strategy.type | string | `"Recreate"` | | + +All Rights Reserved - The TrueCharts Project diff --git a/incubator/nextcloud/3.6.0/ix_values.yaml b/incubator/nextcloud/3.6.0/ix_values.yaml new file mode 100644 index 00000000000..101abb3208c --- /dev/null +++ b/incubator/nextcloud/3.6.0/ix_values.yaml @@ -0,0 +1,187 @@ +## +# 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.1.1 + +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 +postgresql: + enabled: true + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + existingSecret: dbcreds + persistence: + db: + storageClass: "SCALE-ZFS" + dbbackups: + storageClass: "SCALE-ZFS" + +# 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/incubator/nextcloud/3.6.0/questions.yaml b/incubator/nextcloud/3.6.0/questions.yaml new file mode 100644 index 00000000000..6d98702aae1 --- /dev/null +++ b/incubator/nextcloud/3.6.0/questions.yaml @@ -0,0 +1,1278 @@ +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: labelsList + label: "Controller Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: " Controller Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + + - variable: podLabelsList + group: "Container Configuration" + label: "Pod Labels" + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: podAnnotationsList + group: "Container Configuration" + label: "Pod Annotations" + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: termination + group: "Container Configuration" + label: "Termination settings" + schema: + type: dict + attrs: + - variable: gracePeriodSeconds + label: "Grace Period Seconds" + schema: + type: int + default: 10 + + - 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: port + label: "Container Port" + 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: targetPort + label: "Target Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7867 + editable: false + hidden: true + - variable: port + label: "Container Port" + 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: 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: ingressList + label: "Additional Ingress" + group: "Ingress" + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: "Custom Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Ingress" + schema: + type: boolean + default: true + hidden: true + - variable: name + label: "Name" + schema: + type: string + default: "" + - variable: ingressClassName + label: "IngressClass Name" + schema: + type: string + default: "" + - variable: labelsList + label: "Labels" + schema: + type: list + default: [] + items: + - variable: labelItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: annotationsList + label: "Annotations" + schema: + type: list + default: [] + items: + - variable: annotationItem + label: "Label" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: hostEntry + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "HostName" + schema: + type: string + default: "" + required: true + - variable: paths + label: "Paths" + schema: + type: list + default: [] + items: + - variable: pathEntry + label: "Host" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "Prefix" + - variable: service + label: "Linked Service" + schema: + type: dict + attrs: + - variable: name + label: "Service Name" + schema: + type: string + default: "" + - variable: port + label: "Service Port" + schema: + type: int + - variable: tls + label: "TLS-Settings" + schema: + type: list + default: [] + items: + - variable: tlsEntry + label: "Host" + schema: + type: dict + attrs: + - variable: hosts + label: "Certificate Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: string + default: "" + required: true + - variable: scaleCert + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: "Traefik Entrypoint" + description: "Entrypoint used by Traefik when using Traefik as Ingress Provider" + schema: + type: string + default: "websecure" + required: true + - variable: middlewares + label: "Traefik Middlewares" + description: "Add previously created Traefik Middlewares to this Ingress" + schema: + type: list + default: [] + items: + - variable: name + label: "Name" + schema: + type: string + default: "" + required: true + + - variable: 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" + + + + - variable: autoscaling + group: "Resources and Devices" + label: "Horizontal Pod Autoscaler" + schema: + type: dict + attrs: + - variable: enabled + label: "enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: target + label: "Target" + description: "deployment name, defaults to main deployment" + schema: + type: string + default: "" + - variable: minReplicas + label: "Minimum Replicas" + schema: + type: int + default: 1 + - variable: maxReplicas + label: "Maximum Replicas" + schema: + type: int + default: 5 + - variable: targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + schema: + type: int + default: 80 + - variable: targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + schema: + type: int + default: 80 diff --git a/incubator/nextcloud/3.6.0/templates/_configmap.tpl b/incubator/nextcloud/3.6.0/templates/_configmap.tpl new file mode 100644 index 00000000000..aa6473aaf29 --- /dev/null +++ b/incubator/nextcloud/3.6.0/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/incubator/nextcloud/3.6.0/templates/_cronjob.tpl b/incubator/nextcloud/3.6.0/templates/_cronjob.tpl new file mode 100644 index 00000000000..c2ed1ca20f8 --- /dev/null +++ b/incubator/nextcloud/3.6.0/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/incubator/nextcloud/3.6.0/templates/_secrets.tpl b/incubator/nextcloud/3.6.0/templates/_secrets.tpl new file mode 100644 index 00000000000..d9ae0df858c --- /dev/null +++ b/incubator/nextcloud/3.6.0/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/incubator/nextcloud/3.6.0/templates/common.yaml b/incubator/nextcloud/3.6.0/templates/common.yaml new file mode 100644 index 00000000000..8e72c538b1d --- /dev/null +++ b/incubator/nextcloud/3.6.0/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/incubator/nextcloud/3.6.0/test_values.yaml b/incubator/nextcloud/3.6.0/test_values.yaml new file mode 100644 index 00000000000..0e066ac090a --- /dev/null +++ b/incubator/nextcloud/3.6.0/test_values.yaml @@ -0,0 +1,210 @@ +# Default values for Bitwarden. + +image: + repository: nextcloud + pullPolicy: IfNotPresent + tag: 22.1.1 + +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" + + 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 +postgresql: + enabled: true + postgresqlUsername: nextcloud + postgresqlDatabase: nextcloud + existingSecret: dbcreds + +# 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/incubator/nextcloud/3.6.0/values.yaml b/incubator/nextcloud/3.6.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/airsonic/1.11.7/Chart.lock b/stable/airsonic/1.11.7/Chart.lock index 8bba5231583..a1abf760e1d 100644 --- a/stable/airsonic/1.11.7/Chart.lock +++ b/stable/airsonic/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:29:47.016664641Z" +generated: "2021-08-31T12:09:00.839430353Z" diff --git a/stable/appdaemon/3.11.7/Chart.lock b/stable/appdaemon/3.11.7/Chart.lock index 47418a63689..b3e571abfb9 100644 --- a/stable/appdaemon/3.11.7/Chart.lock +++ b/stable/appdaemon/3.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:29:50.954679357Z" +generated: "2021-08-31T12:09:06.09880216Z" diff --git a/stable/bazarr/6.11.7/Chart.lock b/stable/bazarr/6.11.7/Chart.lock index 8bc289088e8..8d4aa51fce2 100644 --- a/stable/bazarr/6.11.7/Chart.lock +++ b/stable/bazarr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:29:54.995971413Z" +generated: "2021-08-31T12:09:11.054089977Z" diff --git a/stable/booksonic-air/1.9.7/Chart.lock b/stable/booksonic-air/1.9.7/Chart.lock index 14ca74f8dcf..080a54da242 100644 --- a/stable/booksonic-air/1.9.7/Chart.lock +++ b/stable/booksonic-air/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:29:58.992549061Z" +generated: "2021-08-31T12:09:16.085553112Z" diff --git a/stable/calibre-web/6.11.7/Chart.lock b/stable/calibre-web/6.11.7/Chart.lock index 7a5c9bca775..37360696840 100644 --- a/stable/calibre-web/6.11.7/Chart.lock +++ b/stable/calibre-web/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:07.231589436Z" +generated: "2021-08-31T12:09:26.043140304Z" diff --git a/stable/calibre/1.9.7/Chart.lock b/stable/calibre/1.9.7/Chart.lock index 2995b272790..b68711b8988 100644 --- a/stable/calibre/1.9.7/Chart.lock +++ b/stable/calibre/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:03.152117473Z" +generated: "2021-08-31T12:09:21.006081209Z" diff --git a/stable/collabora-online/6.11.7/Chart.lock b/stable/collabora-online/6.11.7/Chart.lock index 97b4fbc5242..2583b3bc449 100644 --- a/stable/collabora-online/6.11.7/Chart.lock +++ b/stable/collabora-online/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:11.206170786Z" +generated: "2021-08-31T12:09:31.0116668Z" diff --git a/stable/deconz/1.9.7/Chart.lock b/stable/deconz/1.9.7/Chart.lock index b80cf15f5fb..ebcd5b0fb0f 100644 --- a/stable/deconz/1.9.7/Chart.lock +++ b/stable/deconz/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:15.1235585Z" +generated: "2021-08-31T12:09:36.132997555Z" diff --git a/stable/deepstack-cpu/4.11.7/Chart.lock b/stable/deepstack-cpu/4.11.7/Chart.lock index 9e81955e6dc..e9cb189fc9e 100644 --- a/stable/deepstack-cpu/4.11.7/Chart.lock +++ b/stable/deepstack-cpu/4.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:19.09310415Z" +generated: "2021-08-31T12:09:41.051524989Z" diff --git a/stable/deluge/6.11.7/Chart.lock b/stable/deluge/6.11.7/Chart.lock index 69450fc73bd..e53c4156625 100644 --- a/stable/deluge/6.11.7/Chart.lock +++ b/stable/deluge/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:23.204423296Z" +generated: "2021-08-31T12:09:45.933762648Z" diff --git a/stable/dizquetv/1.9.7/Chart.lock b/stable/dizquetv/1.9.7/Chart.lock index 542afaae213..9e41e122db1 100644 --- a/stable/dizquetv/1.9.7/Chart.lock +++ b/stable/dizquetv/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:27.539156876Z" +generated: "2021-08-31T12:09:50.853258758Z" diff --git a/stable/duplicati/1.9.7/Chart.lock b/stable/duplicati/1.9.7/Chart.lock index 02c5b8ec592..2e8a107f355 100644 --- a/stable/duplicati/1.9.7/Chart.lock +++ b/stable/duplicati/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:31.53936738Z" +generated: "2021-08-31T12:09:55.765904104Z" diff --git a/stable/emby/6.11.7/Chart.lock b/stable/emby/6.11.7/Chart.lock index 7ebfd528a4b..61dc532e0ad 100644 --- a/stable/emby/6.11.7/Chart.lock +++ b/stable/emby/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:35.758130973Z" +generated: "2021-08-31T12:10:00.681693241Z" diff --git a/stable/esphome/6.11.7/Chart.lock b/stable/esphome/6.11.7/Chart.lock index e1ca05ac705..ceb94f10a20 100644 --- a/stable/esphome/6.11.7/Chart.lock +++ b/stable/esphome/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:39.836449134Z" +generated: "2021-08-31T12:10:05.637487211Z" diff --git a/stable/external-service/1.4.6/Chart.lock b/stable/external-service/1.4.6/Chart.lock index 961c2a75598..7cd8b3a34eb 100644 --- a/stable/external-service/1.4.6/Chart.lock +++ b/stable/external-service/1.4.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:30:43.880419519Z" +generated: "2021-08-31T12:10:10.599247719Z" diff --git a/stable/fireflyiii/6.0.7/Chart.lock b/stable/fireflyiii/6.0.7/Chart.lock index 3ec38563ffe..8b913e1401f 100644 --- a/stable/fireflyiii/6.0.7/Chart.lock +++ b/stable/fireflyiii/6.0.7/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.5.2 digest: sha256:e2146847d376235604812695bcf26dba3fff5f2e310f5aaa8bb373bfa9465137 -generated: "2021-08-31T10:30:48.853147108Z" +generated: "2021-08-31T12:10:16.505735704Z" diff --git a/stable/flaresolverr/1.9.7/Chart.lock b/stable/flaresolverr/1.9.7/Chart.lock index 7a3cd4463f7..1deb80b01ce 100644 --- a/stable/flaresolverr/1.9.7/Chart.lock +++ b/stable/flaresolverr/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:53.815723315Z" +generated: "2021-08-31T12:10:22.492888735Z" diff --git a/stable/flood/1.9.7/Chart.lock b/stable/flood/1.9.7/Chart.lock index d48415ea2fb..18d1206f311 100644 --- a/stable/flood/1.9.7/Chart.lock +++ b/stable/flood/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:30:57.748025972Z" +generated: "2021-08-31T12:10:27.510844916Z" diff --git a/stable/focalboard/1.9.7/Chart.lock b/stable/focalboard/1.9.7/Chart.lock index 5363b4097c4..cbbfbf670eb 100644 --- a/stable/focalboard/1.9.7/Chart.lock +++ b/stable/focalboard/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:31:01.810627184Z" +generated: "2021-08-31T12:10:32.452211071Z" diff --git a/stable/freeradius/1.7.7/Chart.lock b/stable/freeradius/1.7.7/Chart.lock index 130dee94e17..c70a16a2925 100644 --- a/stable/freeradius/1.7.7/Chart.lock +++ b/stable/freeradius/1.7.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:06.073677474Z" +generated: "2021-08-31T12:10:37.405911576Z" diff --git a/stable/freshrss/6.11.7/Chart.lock b/stable/freshrss/6.11.7/Chart.lock index 48639ea979a..f5de9ac2cc2 100644 --- a/stable/freshrss/6.11.7/Chart.lock +++ b/stable/freshrss/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:10.067614845Z" +generated: "2021-08-31T12:10:42.37516329Z" diff --git a/stable/gaps/6.11.7/Chart.lock b/stable/gaps/6.11.7/Chart.lock index a556bc0ac57..0ff9aa2b5b5 100644 --- a/stable/gaps/6.11.7/Chart.lock +++ b/stable/gaps/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:13.999957957Z" +generated: "2021-08-31T12:10:47.409684902Z" diff --git a/stable/gonic/1.9.7/Chart.lock b/stable/gonic/1.9.7/Chart.lock index 48f302526e3..16387b5cef4 100644 --- a/stable/gonic/1.9.7/Chart.lock +++ b/stable/gonic/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:31:18.053067021Z" +generated: "2021-08-31T12:10:52.324608804Z" diff --git a/stable/grocy/6.11.7/Chart.lock b/stable/grocy/6.11.7/Chart.lock index b69c8b5756c..3dec84b06e2 100644 --- a/stable/grocy/6.11.7/Chart.lock +++ b/stable/grocy/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:22.084197952Z" +generated: "2021-08-31T12:10:57.28437596Z" diff --git a/stable/handbrake/6.11.7/Chart.lock b/stable/handbrake/6.11.7/Chart.lock index 2b88e3dc3d6..35ccd4bcfb9 100644 --- a/stable/handbrake/6.11.7/Chart.lock +++ b/stable/handbrake/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:26.109916974Z" +generated: "2021-08-31T12:11:02.078164204Z" diff --git a/stable/haste-server/1.11.7/Chart.lock b/stable/haste-server/1.11.7/Chart.lock index 08614de4176..b23bfa2934e 100644 --- a/stable/haste-server/1.11.7/Chart.lock +++ b/stable/haste-server/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:30.50925463Z" +generated: "2021-08-31T12:11:06.908047422Z" diff --git a/stable/healthchecks/1.9.7/Chart.lock b/stable/healthchecks/1.9.7/Chart.lock index 1f3fd936091..9d151bd96b4 100644 --- a/stable/healthchecks/1.9.7/Chart.lock +++ b/stable/healthchecks/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:31:34.54320087Z" +generated: "2021-08-31T12:11:11.97449122Z" diff --git a/stable/heimdall/6.11.7/Chart.lock b/stable/heimdall/6.11.7/Chart.lock index b648ccaec87..1f59cfe5c66 100644 --- a/stable/heimdall/6.11.7/Chart.lock +++ b/stable/heimdall/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:38.573025829Z" +generated: "2021-08-31T12:11:16.880789019Z" diff --git a/stable/home-assistant/6.11.7/Chart.lock b/stable/home-assistant/6.11.7/Chart.lock index 335d9dafdb5..25dfec7b309 100644 --- a/stable/home-assistant/6.11.7/Chart.lock +++ b/stable/home-assistant/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:42.673103803Z" +generated: "2021-08-31T12:11:21.943938991Z" diff --git a/stable/hyperion-ng/1.9.7/Chart.lock b/stable/hyperion-ng/1.9.7/Chart.lock index 61b477eb6e1..ebe3458e728 100644 --- a/stable/hyperion-ng/1.9.7/Chart.lock +++ b/stable/hyperion-ng/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:31:46.795246294Z" +generated: "2021-08-31T12:11:26.875464163Z" diff --git a/stable/jackett/6.11.8/Chart.lock b/stable/jackett/6.11.8/Chart.lock index 6d7ce8d1a5a..e18d68aa0eb 100644 --- a/stable/jackett/6.11.8/Chart.lock +++ b/stable/jackett/6.11.8/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:50.832796673Z" +generated: "2021-08-31T12:11:31.74705687Z" diff --git a/stable/jellyfin/6.11.7/Chart.lock b/stable/jellyfin/6.11.7/Chart.lock index 7837e780db7..f54e9c8931c 100644 --- a/stable/jellyfin/6.11.7/Chart.lock +++ b/stable/jellyfin/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:54.743209616Z" +generated: "2021-08-31T12:11:36.611340094Z" diff --git a/stable/kms/6.11.7/Chart.lock b/stable/kms/6.11.7/Chart.lock index 7dbfa30129a..b2be4ccfa79 100644 --- a/stable/kms/6.11.7/Chart.lock +++ b/stable/kms/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:31:58.786979782Z" +generated: "2021-08-31T12:11:41.447490356Z" diff --git a/stable/komga/1.9.9/Chart.lock b/stable/komga/1.9.9/Chart.lock index 6ca182b92fb..57ebc31f3ec 100644 --- a/stable/komga/1.9.9/Chart.lock +++ b/stable/komga/1.9.9/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:32:02.885198566Z" +generated: "2021-08-31T12:11:46.261649607Z" diff --git a/stable/lazylibrarian/6.11.7/Chart.lock b/stable/lazylibrarian/6.11.7/Chart.lock index dcaf50f1dc1..d8b56a1e8a6 100644 --- a/stable/lazylibrarian/6.11.7/Chart.lock +++ b/stable/lazylibrarian/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:06.983473044Z" +generated: "2021-08-31T12:11:51.105333458Z" diff --git a/stable/librespeed/1.9.7/Chart.lock b/stable/librespeed/1.9.7/Chart.lock index 8d400fc84d1..1c45c93b669 100644 --- a/stable/librespeed/1.9.7/Chart.lock +++ b/stable/librespeed/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:32:11.042113894Z" +generated: "2021-08-31T12:11:55.863040517Z" diff --git a/stable/lidarr/6.11.7/Chart.lock b/stable/lidarr/6.11.7/Chart.lock index 7a8422c045c..cf581d6462a 100644 --- a/stable/lidarr/6.11.7/Chart.lock +++ b/stable/lidarr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:14.950708502Z" +generated: "2021-08-31T12:12:00.69202243Z" diff --git a/stable/littlelink/1.5.7/Chart.lock b/stable/littlelink/1.5.7/Chart.lock index fb6f8b04e05..1693558b52c 100644 --- a/stable/littlelink/1.5.7/Chart.lock +++ b/stable/littlelink/1.5.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:19.003842398Z" +generated: "2021-08-31T12:12:05.53872824Z" diff --git a/stable/lychee/6.11.7/Chart.lock b/stable/lychee/6.11.7/Chart.lock index 73a8ee7b2dc..11d368d9d90 100644 --- a/stable/lychee/6.11.7/Chart.lock +++ b/stable/lychee/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:23.108960364Z" +generated: "2021-08-31T12:12:10.410226221Z" diff --git a/stable/mealie/1.11.7/Chart.lock b/stable/mealie/1.11.7/Chart.lock index e4aa8b723e7..3f598842163 100644 --- a/stable/mealie/1.11.7/Chart.lock +++ b/stable/mealie/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:27.199590106Z" +generated: "2021-08-31T12:12:15.284068186Z" diff --git a/stable/mosquitto/1.11.7/Chart.lock b/stable/mosquitto/1.11.7/Chart.lock index 4f3ce1a3d3a..bac03cd472d 100644 --- a/stable/mosquitto/1.11.7/Chart.lock +++ b/stable/mosquitto/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:31.234896883Z" +generated: "2021-08-31T12:12:20.146558358Z" diff --git a/stable/mylar/1.9.7/Chart.lock b/stable/mylar/1.9.7/Chart.lock index 80da5f6e1e5..52e96cb5091 100644 --- a/stable/mylar/1.9.7/Chart.lock +++ b/stable/mylar/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:32:35.36400677Z" +generated: "2021-08-31T12:12:25.123822447Z" diff --git a/stable/navidrome/6.11.7/Chart.lock b/stable/navidrome/6.11.7/Chart.lock index 2c45925be4f..0b7d6ab5d99 100644 --- a/stable/navidrome/6.11.7/Chart.lock +++ b/stable/navidrome/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:39.339001417Z" +generated: "2021-08-31T12:12:29.982682632Z" diff --git a/stable/node-red/6.11.7/Chart.lock b/stable/node-red/6.11.7/Chart.lock index 67dcaf228d1..2125d2ac491 100644 --- a/stable/node-red/6.11.7/Chart.lock +++ b/stable/node-red/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:43.280983984Z" +generated: "2021-08-31T12:12:34.817210091Z" diff --git a/stable/nullserv/1.9.7/Chart.lock b/stable/nullserv/1.9.7/Chart.lock index df4ff456aff..0abf64f0502 100644 --- a/stable/nullserv/1.9.7/Chart.lock +++ b/stable/nullserv/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:32:47.501654604Z" +generated: "2021-08-31T12:12:39.691948178Z" diff --git a/stable/nzbget/6.11.7/Chart.lock b/stable/nzbget/6.11.7/Chart.lock index cc7c807d442..efcdf6bf740 100644 --- a/stable/nzbget/6.11.7/Chart.lock +++ b/stable/nzbget/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:51.644635282Z" +generated: "2021-08-31T12:12:44.52163773Z" diff --git a/stable/nzbhydra/6.11.7/Chart.lock b/stable/nzbhydra/6.11.7/Chart.lock index 946065b430f..3183f616c55 100644 --- a/stable/nzbhydra/6.11.7/Chart.lock +++ b/stable/nzbhydra/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:32:55.614384575Z" +generated: "2021-08-31T12:12:49.308885296Z" diff --git a/stable/octoprint/1.9.7/Chart.lock b/stable/octoprint/1.9.7/Chart.lock index 8889f8fc2df..7d49cf85140 100644 --- a/stable/octoprint/1.9.7/Chart.lock +++ b/stable/octoprint/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:32:59.882851698Z" +generated: "2021-08-31T12:12:54.044402137Z" diff --git a/stable/omada-controller/1.9.7/Chart.lock b/stable/omada-controller/1.9.7/Chart.lock index ecddf0d4de2..27cabbda3b6 100644 --- a/stable/omada-controller/1.9.7/Chart.lock +++ b/stable/omada-controller/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:04.354879745Z" +generated: "2021-08-31T12:12:58.757252761Z" diff --git a/stable/ombi/6.11.7/Chart.lock b/stable/ombi/6.11.7/Chart.lock index 6018a4911b8..e79d550b87e 100644 --- a/stable/ombi/6.11.7/Chart.lock +++ b/stable/ombi/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:08.554524069Z" +generated: "2021-08-31T12:13:03.497130921Z" diff --git a/stable/openldap/1.7.7/Chart.lock b/stable/openldap/1.7.7/Chart.lock index 48c4663fc07..b774dd2d696 100644 --- a/stable/openldap/1.7.7/Chart.lock +++ b/stable/openldap/1.7.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:12.495758821Z" +generated: "2021-08-31T12:13:08.237517744Z" diff --git a/stable/organizr/6.11.7/Chart.lock b/stable/organizr/6.11.7/Chart.lock index 71f80bcd184..8258de27bbb 100644 --- a/stable/organizr/6.11.7/Chart.lock +++ b/stable/organizr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:16.560598546Z" +generated: "2021-08-31T12:13:13.085369652Z" diff --git a/stable/overseerr/1.9.7/Chart.lock b/stable/overseerr/1.9.7/Chart.lock index 2e157360b00..ccbcdb46520 100644 --- a/stable/overseerr/1.9.7/Chart.lock +++ b/stable/overseerr/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:20.541413227Z" +generated: "2021-08-31T12:13:17.823479661Z" diff --git a/stable/owncast/1.9.7/Chart.lock b/stable/owncast/1.9.7/Chart.lock index 4548df65785..2ea39c6ec4d 100644 --- a/stable/owncast/1.9.7/Chart.lock +++ b/stable/owncast/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:24.593946592Z" +generated: "2021-08-31T12:13:22.618972966Z" diff --git a/stable/owncloud-ocis/1.9.7/Chart.lock b/stable/owncloud-ocis/1.9.7/Chart.lock index e322543adf4..3315eb779d4 100644 --- a/stable/owncloud-ocis/1.9.7/Chart.lock +++ b/stable/owncloud-ocis/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:28.511621191Z" +generated: "2021-08-31T12:13:27.69243863Z" diff --git a/stable/pgadmin/1.8.7/Chart.lock b/stable/pgadmin/1.8.7/Chart.lock index 5dd3bac0dab..5cbb2a02e42 100644 --- a/stable/pgadmin/1.8.7/Chart.lock +++ b/stable/pgadmin/1.8.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:32.557796576Z" +generated: "2021-08-31T12:13:32.796330678Z" diff --git a/stable/photoprism/1.9.7/Chart.lock b/stable/photoprism/1.9.7/Chart.lock index 3e4c39bcebc..fcebe639f6b 100644 --- a/stable/photoprism/1.9.7/Chart.lock +++ b/stable/photoprism/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:36.728409748Z" +generated: "2021-08-31T12:13:37.874482874Z" diff --git a/stable/phpldapadmin/1.8.7/Chart.lock b/stable/phpldapadmin/1.8.7/Chart.lock index 687eef57a99..a214656f62e 100644 --- a/stable/phpldapadmin/1.8.7/Chart.lock +++ b/stable/phpldapadmin/1.8.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:40.698910573Z" +generated: "2021-08-31T12:13:42.842206836Z" diff --git a/stable/piaware/1.9.7/Chart.lock b/stable/piaware/1.9.7/Chart.lock index 82e6e209b29..56c5e908d74 100644 --- a/stable/piaware/1.9.7/Chart.lock +++ b/stable/piaware/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:33:44.835739008Z" +generated: "2021-08-31T12:13:47.649388854Z" diff --git a/stable/plex/5.11.7/Chart.lock b/stable/plex/5.11.7/Chart.lock index 3fa3fa1aa8c..5a6d94d9aab 100644 --- a/stable/plex/5.11.7/Chart.lock +++ b/stable/plex/5.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:48.863127669Z" +generated: "2021-08-31T12:13:52.652856052Z" diff --git a/stable/podgrab/4.11.7/Chart.lock b/stable/podgrab/4.11.7/Chart.lock index 243bdb24d1c..70da384d12f 100644 --- a/stable/podgrab/4.11.7/Chart.lock +++ b/stable/podgrab/4.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:52.781905149Z" +generated: "2021-08-31T12:13:57.449148149Z" diff --git a/stable/postgresql/1.5.7/Chart.lock b/stable/postgresql/1.5.7/Chart.lock index 83c47e17012..5def6d4efb3 100644 --- a/stable/postgresql/1.5.7/Chart.lock +++ b/stable/postgresql/1.5.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:33:56.773027595Z" +generated: "2021-08-31T12:14:02.248224321Z" diff --git a/stable/pretend-youre-xyzzy/1.9.7/Chart.lock b/stable/pretend-youre-xyzzy/1.9.7/Chart.lock index d2b8519f0b7..60ad284edc5 100644 --- a/stable/pretend-youre-xyzzy/1.9.7/Chart.lock +++ b/stable/pretend-youre-xyzzy/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:00.815336868Z" +generated: "2021-08-31T12:14:07.071519098Z" diff --git a/stable/protonmail-bridge/1.9.7/Chart.lock b/stable/protonmail-bridge/1.9.7/Chart.lock index a8113617ce1..c526aeee27f 100644 --- a/stable/protonmail-bridge/1.9.7/Chart.lock +++ b/stable/protonmail-bridge/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:04.990164438Z" +generated: "2021-08-31T12:14:11.860780442Z" diff --git a/stable/prowlarr/1.11.8/Chart.lock b/stable/prowlarr/1.11.8/Chart.lock index 01457f1cf14..282b75e8931 100644 --- a/stable/prowlarr/1.11.8/Chart.lock +++ b/stable/prowlarr/1.11.8/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:09.184929727Z" +generated: "2021-08-31T12:14:16.511215316Z" diff --git a/stable/pyload/1.9.7/Chart.lock b/stable/pyload/1.9.7/Chart.lock index f4998806838..1e90eb599cf 100644 --- a/stable/pyload/1.9.7/Chart.lock +++ b/stable/pyload/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:13.205545774Z" +generated: "2021-08-31T12:14:21.273123603Z" diff --git a/stable/qbittorrent/6.11.7/Chart.lock b/stable/qbittorrent/6.11.7/Chart.lock index 57c199d6c34..3e32694de83 100644 --- a/stable/qbittorrent/6.11.7/Chart.lock +++ b/stable/qbittorrent/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:17.303059985Z" +generated: "2021-08-31T12:14:26.282702434Z" diff --git a/stable/radarr/6.11.7/Chart.lock b/stable/radarr/6.11.7/Chart.lock index d7d7d0588e8..9c8b88a1d6a 100644 --- a/stable/radarr/6.11.7/Chart.lock +++ b/stable/radarr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:21.327222832Z" +generated: "2021-08-31T12:14:31.104300354Z" diff --git a/stable/readarr/6.11.7/Chart.lock b/stable/readarr/6.11.7/Chart.lock index 489bf44f602..97a3bf1ff22 100644 --- a/stable/readarr/6.11.7/Chart.lock +++ b/stable/readarr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:25.543091004Z" +generated: "2021-08-31T12:14:36.042054719Z" diff --git a/stable/reg/1.11.7/Chart.lock b/stable/reg/1.11.7/Chart.lock index dfdada52616..d6a629de182 100644 --- a/stable/reg/1.11.7/Chart.lock +++ b/stable/reg/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:29.624661816Z" +generated: "2021-08-31T12:14:40.899746642Z" diff --git a/stable/resilio-sync/1.9.7/Chart.lock b/stable/resilio-sync/1.9.7/Chart.lock index d6c399f3367..267a0ec3d1f 100644 --- a/stable/resilio-sync/1.9.7/Chart.lock +++ b/stable/resilio-sync/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:33.728804332Z" +generated: "2021-08-31T12:14:45.747385144Z" diff --git a/stable/sabnzbd/6.11.7/Chart.lock b/stable/sabnzbd/6.11.7/Chart.lock index 6d61d853ddf..3df1c706275 100644 --- a/stable/sabnzbd/6.11.7/Chart.lock +++ b/stable/sabnzbd/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:37.849582646Z" +generated: "2021-08-31T12:14:50.534258772Z" diff --git a/stable/ser2sock/1.9.7/Chart.lock b/stable/ser2sock/1.9.7/Chart.lock index 6c7a51448cf..b407736f376 100644 --- a/stable/ser2sock/1.9.7/Chart.lock +++ b/stable/ser2sock/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:41.908115065Z" +generated: "2021-08-31T12:14:55.44849001Z" diff --git a/stable/sonarr/6.11.7/Chart.lock b/stable/sonarr/6.11.7/Chart.lock index 890ff122e3d..7a319e67413 100644 --- a/stable/sonarr/6.11.7/Chart.lock +++ b/stable/sonarr/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:46.011486593Z" +generated: "2021-08-31T12:15:00.181368657Z" diff --git a/stable/stash/1.9.8/Chart.lock b/stable/stash/1.9.8/Chart.lock index 2a48541acad..e0ff9dd9c9a 100644 --- a/stable/stash/1.9.8/Chart.lock +++ b/stable/stash/1.9.8/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:34:50.375585635Z" +generated: "2021-08-31T12:15:05.049739518Z" diff --git a/stable/syncthing/6.11.7/Chart.lock b/stable/syncthing/6.11.7/Chart.lock index 6f9800ca087..6e300995ea6 100644 --- a/stable/syncthing/6.11.7/Chart.lock +++ b/stable/syncthing/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:54.611818377Z" +generated: "2021-08-31T12:15:09.975217443Z" diff --git a/stable/tautulli/6.11.7/Chart.lock b/stable/tautulli/6.11.7/Chart.lock index e60647e183b..088c90253f0 100644 --- a/stable/tautulli/6.11.7/Chart.lock +++ b/stable/tautulli/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:34:58.851826784Z" +generated: "2021-08-31T12:15:14.926408708Z" diff --git a/stable/thelounge/1.11.7/Chart.lock b/stable/thelounge/1.11.7/Chart.lock index 61c7cfa76dc..9ba3b556ecb 100644 --- a/stable/thelounge/1.11.7/Chart.lock +++ b/stable/thelounge/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:03.142267453Z" +generated: "2021-08-31T12:15:19.677756782Z" diff --git a/stable/traefik/6.13.6/Chart.lock b/stable/traefik/6.13.6/Chart.lock index 1bc5dc78ea0..b28ba4b4a9b 100644 --- a/stable/traefik/6.13.6/Chart.lock +++ b/stable/traefik/6.13.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:07.364939772Z" +generated: "2021-08-31T12:15:24.528282529Z" diff --git a/stable/transmission/6.11.7/Chart.lock b/stable/transmission/6.11.7/Chart.lock index 3f9fbe5b41f..19b455be210 100644 --- a/stable/transmission/6.11.7/Chart.lock +++ b/stable/transmission/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:11.474728275Z" +generated: "2021-08-31T12:15:29.217446864Z" diff --git a/stable/truecommand/6.11.7/Chart.lock b/stable/truecommand/6.11.7/Chart.lock index 0ed07cc3eb0..a75cec2427f 100644 --- a/stable/truecommand/6.11.7/Chart.lock +++ b/stable/truecommand/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:15.46324077Z" +generated: "2021-08-31T12:15:33.915268258Z" diff --git a/stable/tvheadend/7.11.7/Chart.lock b/stable/tvheadend/7.11.7/Chart.lock index 980ac422522..30c775eac93 100644 --- a/stable/tvheadend/7.11.7/Chart.lock +++ b/stable/tvheadend/7.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:19.460359676Z" +generated: "2021-08-31T12:15:38.577935091Z" diff --git a/stable/unifi/6.11.7/Chart.lock b/stable/unifi/6.11.7/Chart.lock index bb0f5ce8821..e99a962e37b 100644 --- a/stable/unifi/6.11.7/Chart.lock +++ b/stable/unifi/6.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:23.480691053Z" +generated: "2021-08-31T12:15:43.272676989Z" diff --git a/stable/unpackerr/1.11.7/Chart.lock b/stable/unpackerr/1.11.7/Chart.lock index c6dbe57eac2..74ca37112ff 100644 --- a/stable/unpackerr/1.11.7/Chart.lock +++ b/stable/unpackerr/1.11.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:27.785646915Z" +generated: "2021-08-31T12:15:47.99273521Z" diff --git a/stable/vaultwarden/5.0.7/Chart.lock b/stable/vaultwarden/5.0.7/Chart.lock index 9d767689241..f30799b45f7 100644 --- a/stable/vaultwarden/5.0.7/Chart.lock +++ b/stable/vaultwarden/5.0.7/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.5.2 digest: sha256:e2146847d376235604812695bcf26dba3fff5f2e310f5aaa8bb373bfa9465137 -generated: "2021-08-31T10:35:33.102661446Z" +generated: "2021-08-31T12:15:53.631210294Z" diff --git a/stable/xteve/1.9.7/Chart.lock b/stable/xteve/1.9.7/Chart.lock index 48e148000dc..81e95f0f464 100644 --- a/stable/xteve/1.9.7/Chart.lock +++ b/stable/xteve/1.9.7/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.12.1 digest: sha256:3d1411574041c79e6137bbcf90b2ebd7bbd6939a312e30af3e2a8210af58cde2 -generated: "2021-08-31T10:35:38.534675735Z" +generated: "2021-08-31T12:15:59.547244051Z" diff --git a/stable/zwavejs2mqtt/6.11.8/Chart.lock b/stable/zwavejs2mqtt/6.11.8/Chart.lock index e663306bb44..d73c21e0a4e 100644 --- a/stable/zwavejs2mqtt/6.11.8/Chart.lock +++ b/stable/zwavejs2mqtt/6.11.8/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.12.1 digest: sha256:6686a739b4506463623d25054850dad3053bddee78e3cab32c58a32ba2f8d1da -generated: "2021-08-31T10:35:42.919721048Z" +generated: "2021-08-31T12:16:04.394314365Z"