From d1cfca1165307d4f46a18f15a775916ed87f9d5e Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sat, 28 Aug 2021 20:10:44 +0000 Subject: [PATCH] Commit new App releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/authelia/1.0.4/CONFIG.md | 8 + incubator/authelia/1.0.4/Chart.lock | 12 + incubator/authelia/1.0.4/Chart.yaml | 41 + incubator/authelia/1.0.4/README.md | 45 + incubator/authelia/1.0.4/app-readme.md | 4 + .../authelia/1.0.4/charts/common-6.10.7.tgz | Bin 0 -> 24118 bytes .../1.0.4/charts/postgresql-1.2.4.tgz | Bin 0 -> 29741 bytes .../authelia/1.0.4/charts/redis-15.0.3.tgz | Bin 0 -> 77327 bytes incubator/authelia/1.0.4/ix_values.yaml | 231 +++ incubator/authelia/1.0.4/questions.yaml | 1390 +++++++++++++++++ .../authelia/1.0.4/templates/_configmap.tpl | 245 +++ .../authelia/1.0.4/templates/_secrets.tpl | 112 ++ .../authelia/1.0.4/templates/common.yaml | 72 + incubator/authelia/1.0.4/test_values.yaml | 662 ++++++++ incubator/authelia/1.0.4/values.yaml | 0 incubator/jdownloader2/0.0.1/Chart.lock | 2 +- incubator/nextcloud/3.1.2/Chart.lock | 2 +- stable/airsonic/1.8.5/Chart.lock | 2 +- stable/appdaemon/3.8.5/Chart.lock | 2 +- stable/bazarr/6.8.5/Chart.lock | 2 +- stable/booksonic-air/1.6.5/Chart.lock | 2 +- stable/calibre-web/6.8.5/Chart.lock | 2 +- stable/calibre/1.6.6/Chart.lock | 2 +- stable/collabora-online/6.8.5/Chart.lock | 2 +- stable/deconz/1.6.5/Chart.lock | 2 +- stable/deepstack-cpu/4.8.5/Chart.lock | 2 +- stable/deluge/6.8.5/Chart.lock | 2 +- stable/dizquetv/1.6.5/Chart.lock | 2 +- stable/duplicati/1.6.5/Chart.lock | 2 +- stable/emby/6.8.5/Chart.lock | 2 +- stable/esphome/6.8.6/Chart.lock | 2 +- stable/external-service/1.1.6/Chart.lock | 2 +- stable/fireflyiii/5.4.2/Chart.lock | 2 +- stable/flaresolverr/1.6.5/Chart.lock | 2 +- stable/flood/1.6.5/Chart.lock | 2 +- stable/focalboard/1.6.5/Chart.lock | 2 +- stable/freeradius/1.4.5/Chart.lock | 2 +- stable/freshrss/6.8.5/Chart.lock | 2 +- stable/gaps/6.8.5/Chart.lock | 2 +- stable/gonic/1.6.5/Chart.lock | 2 +- stable/grocy/6.8.5/Chart.lock | 2 +- stable/handbrake/6.8.5/Chart.lock | 2 +- stable/haste-server/1.8.5/Chart.lock | 2 +- stable/healthchecks/1.6.5/Chart.lock | 2 +- stable/heimdall/6.8.5/Chart.lock | 2 +- stable/home-assistant/6.8.5/Chart.lock | 2 +- stable/hyperion-ng/1.6.5/Chart.lock | 2 +- stable/jackett/6.8.6/Chart.lock | 2 +- stable/jellyfin/6.8.5/Chart.lock | 2 +- stable/kms/6.8.5/Chart.lock | 2 +- stable/komga/1.6.5/Chart.lock | 2 +- stable/lazylibrarian/6.8.5/Chart.lock | 2 +- stable/librespeed/1.6.5/Chart.lock | 2 +- stable/lidarr/6.8.5/Chart.lock | 2 +- stable/littlelink/1.2.5/Chart.lock | 2 +- stable/lychee/6.8.5/Chart.lock | 2 +- stable/mealie/1.8.5/Chart.lock | 2 +- stable/mosquitto/1.8.5/Chart.lock | 2 +- stable/mylar/1.6.5/Chart.lock | 2 +- stable/navidrome/6.8.6/Chart.lock | 2 +- stable/node-red/6.8.5/Chart.lock | 2 +- stable/nullserv/1.6.5/Chart.lock | 2 +- stable/nzbget/6.8.5/Chart.lock | 2 +- stable/nzbhydra/6.8.6/Chart.lock | 2 +- stable/octoprint/1.6.5/Chart.lock | 2 +- stable/omada-controller/1.6.5/Chart.lock | 2 +- stable/ombi/6.8.6/Chart.lock | 2 +- stable/openldap/1.4.5/Chart.lock | 2 +- stable/organizr/6.8.5/Chart.lock | 2 +- stable/overseerr/1.6.5/Chart.lock | 2 +- stable/owncast/1.6.5/Chart.lock | 2 +- stable/owncloud-ocis/1.6.6/Chart.lock | 2 +- stable/pgadmin/1.5.5/Chart.lock | 2 +- stable/photoprism/1.6.5/Chart.lock | 2 +- stable/phpldapadmin/1.5.5/Chart.lock | 2 +- stable/piaware/1.6.5/Chart.lock | 2 +- stable/plex/5.8.5/Chart.lock | 2 +- stable/podgrab/4.8.5/Chart.lock | 2 +- stable/postgresql/1.2.5/Chart.lock | 2 +- stable/pretend-youre-xyzzy/1.6.5/Chart.lock | 2 +- stable/protonmail-bridge/1.6.5/Chart.lock | 2 +- stable/prowlarr/1.8.6/Chart.lock | 2 +- stable/pyload/1.6.5/Chart.lock | 2 +- stable/qbittorrent/6.8.5/Chart.lock | 2 +- stable/radarr/6.8.5/Chart.lock | 2 +- stable/readarr/6.8.5/Chart.lock | 2 +- stable/reg/1.8.5/Chart.lock | 2 +- stable/resilio-sync/1.6.5/Chart.lock | 2 +- stable/sabnzbd/6.8.5/Chart.lock | 2 +- stable/ser2sock/1.6.5/Chart.lock | 2 +- stable/sonarr/6.8.5/Chart.lock | 2 +- stable/stash/1.6.5/Chart.lock | 2 +- stable/syncthing/6.8.5/Chart.lock | 2 +- stable/tautulli/6.8.5/Chart.lock | 2 +- stable/thelounge/1.8.5/Chart.lock | 2 +- stable/traefik/6.10.5/Chart.lock | 2 +- stable/transmission/6.8.5/Chart.lock | 2 +- stable/truecommand/6.8.5/Chart.lock | 2 +- stable/tvheadend/7.8.5/Chart.lock | 2 +- stable/unifi/6.8.5/Chart.lock | 2 +- stable/unpackerr/1.8.5/Chart.lock | 2 +- stable/vaultwarden/4.4.2/Chart.lock | 2 +- stable/xteve/1.6.5/Chart.lock | 2 +- stable/zwavejs2mqtt/6.8.6/Chart.lock | 2 +- 104 files changed, 2911 insertions(+), 89 deletions(-) create mode 100644 incubator/authelia/1.0.4/CONFIG.md create mode 100644 incubator/authelia/1.0.4/Chart.lock create mode 100644 incubator/authelia/1.0.4/Chart.yaml create mode 100644 incubator/authelia/1.0.4/README.md create mode 100644 incubator/authelia/1.0.4/app-readme.md create mode 100644 incubator/authelia/1.0.4/charts/common-6.10.7.tgz create mode 100644 incubator/authelia/1.0.4/charts/postgresql-1.2.4.tgz create mode 100644 incubator/authelia/1.0.4/charts/redis-15.0.3.tgz create mode 100644 incubator/authelia/1.0.4/ix_values.yaml create mode 100644 incubator/authelia/1.0.4/questions.yaml create mode 100644 incubator/authelia/1.0.4/templates/_configmap.tpl create mode 100644 incubator/authelia/1.0.4/templates/_secrets.tpl create mode 100644 incubator/authelia/1.0.4/templates/common.yaml create mode 100644 incubator/authelia/1.0.4/test_values.yaml create mode 100644 incubator/authelia/1.0.4/values.yaml diff --git a/incubator/authelia/1.0.4/CONFIG.md b/incubator/authelia/1.0.4/CONFIG.md new file mode 100644 index 0000000000..fc9b2fa2d5 --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/Chart.lock b/incubator/authelia/1.0.4/Chart.lock new file mode 100644 index 0000000000..8c14d128dd --- /dev/null +++ b/incubator/authelia/1.0.4/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- name: postgresql + repository: https://truecharts.org/ + version: 1.2.4 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.0.3 +digest: sha256:c143830b5616998587eb49dc5674fba102aa344fce208d264cd3ab16d71c4e04 +generated: "2021-08-28T20:10:01.584431427Z" diff --git a/incubator/authelia/1.0.4/Chart.yaml b/incubator/authelia/1.0.4/Chart.yaml new file mode 100644 index 0000000000..76de548ec8 --- /dev/null +++ b/incubator/authelia/1.0.4/Chart.yaml @@ -0,0 +1,41 @@ +apiVersion: v2 +appVersion: auto +dependencies: +- name: common + repository: https://truecharts.org/ + version: 6.10.7 +- condition: postgresql.enabled + name: postgresql + repository: https://truecharts.org/ + version: 1.2.4 +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 15.0.3 +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.0.4 diff --git a/incubator/authelia/1.0.4/README.md b/incubator/authelia/1.0.4/README.md new file mode 100644 index 0000000000..461697e1f3 --- /dev/null +++ b/incubator/authelia/1.0.4/README.md @@ -0,0 +1,45 @@ +# Introduction + +![Version: 1.0.3](https://img.shields.io/badge/Version-1.0.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +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.3 | +| https://truecharts.org/ | common | 6.10.7 | +| https://truecharts.org/ | postgresql | 1.2.4 | + +## 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) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/incubator/authelia/1.0.4/app-readme.md b/incubator/authelia/1.0.4/app-readme.md new file mode 100644 index 0000000000..4e71e18c31 --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/charts/common-6.10.7.tgz b/incubator/authelia/1.0.4/charts/common-6.10.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d326f48af3c2709b3ad66f8e87725a2b3e04750b GIT binary patch literal 24118 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 F0sx2sT?POE literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.0.4/charts/postgresql-1.2.4.tgz b/incubator/authelia/1.0.4/charts/postgresql-1.2.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6b6ae0ed279d72fffbcedfcda804ebc801513b4d GIT binary patch literal 29741 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 literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.0.4/charts/redis-15.0.3.tgz b/incubator/authelia/1.0.4/charts/redis-15.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..69973ddb4b93e1dd8aea2b875741433c667862bc GIT binary patch literal 77327 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 Yxqt4TyZ!wC00030|1~@9Kmc3@0BTO|RsaA1 literal 0 HcmV?d00001 diff --git a/incubator/authelia/1.0.4/ix_values.yaml b/incubator/authelia/1.0.4/ix_values.yaml new file mode 100644 index 0000000000..32637a28ee --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/questions.yaml b/incubator/authelia/1.0.4/questions.yaml new file mode 100644 index 0000000000..970c7bd121 --- /dev/null +++ b/incubator/authelia/1.0.4/questions.yaml @@ -0,0 +1,1390 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Controller" + description: "Configure workload deployment" + - name: "Container Configuration" + description: "additional container configuration" + - name: "App Configuration" + description: "App specific config options" + - name: "Networking and Services" + description: "Configure Network and Services for container" + - name: "Storage and Persistence" + description: "Persist and share data that is separate from the container" + - name: "Ingress" + description: "Ingress Configuration" + - name: "Security and Permissions" + description: "Configure security context and permissions" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + - variable: controller + group: "Controller" + label: "" + schema: + type: dict + attrs: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" + + + - variable: env + group: "Container Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: TZ + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: UMASK + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # 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: port + label: "Container Port" + schema: + type: int + default: 9091 + editable: false + hidden: true + - variable: targetport + label: "Target Port" + description: "This port exposes the container port on the service" + 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: 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: "When should we take ownership?" + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: "When should we take ownership?" + 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" diff --git a/incubator/authelia/1.0.4/templates/_configmap.tpl b/incubator/authelia/1.0.4/templates/_configmap.tpl new file mode 100644 index 0000000000..4bdeefd71c --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/templates/_secrets.tpl b/incubator/authelia/1.0.4/templates/_secrets.tpl new file mode 100644 index 0000000000..44f8b0e154 --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/templates/common.yaml b/incubator/authelia/1.0.4/templates/common.yaml new file mode 100644 index 0000000000..caa2c91f30 --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/test_values.yaml b/incubator/authelia/1.0.4/test_values.yaml new file mode 100644 index 0000000000..f416a33a43 --- /dev/null +++ b/incubator/authelia/1.0.4/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.0.4/values.yaml b/incubator/authelia/1.0.4/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/incubator/jdownloader2/0.0.1/Chart.lock b/incubator/jdownloader2/0.0.1/Chart.lock index b63cabf0e4..68ac663ad0 100644 --- a/incubator/jdownloader2/0.0.1/Chart.lock +++ b/incubator/jdownloader2/0.0.1/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:59:08.736823786Z" +generated: "2021-08-28T20:10:09.636115297Z" diff --git a/incubator/nextcloud/3.1.2/Chart.lock b/incubator/nextcloud/3.1.2/Chart.lock index e2464d9a2c..e06636d38c 100644 --- a/incubator/nextcloud/3.1.2/Chart.lock +++ b/incubator/nextcloud/3.1.2/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: https://charts.bitnami.com/bitnami version: 15.0.3 digest: sha256:c143830b5616998587eb49dc5674fba102aa344fce208d264cd3ab16d71c4e04 -generated: "2021-08-28T19:59:15.370993469Z" +generated: "2021-08-28T20:10:16.7328837Z" diff --git a/stable/airsonic/1.8.5/Chart.lock b/stable/airsonic/1.8.5/Chart.lock index 186a0656fb..5806ac64a1 100644 --- a/stable/airsonic/1.8.5/Chart.lock +++ b/stable/airsonic/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:52:45.28024265Z" +generated: "2021-08-28T20:03:17.199330193Z" diff --git a/stable/appdaemon/3.8.5/Chart.lock b/stable/appdaemon/3.8.5/Chart.lock index 70edf3e1a8..ba52171a4b 100644 --- a/stable/appdaemon/3.8.5/Chart.lock +++ b/stable/appdaemon/3.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:52:49.714302195Z" +generated: "2021-08-28T20:03:21.990193223Z" diff --git a/stable/bazarr/6.8.5/Chart.lock b/stable/bazarr/6.8.5/Chart.lock index 6e27d4f1da..95b7095ad1 100644 --- a/stable/bazarr/6.8.5/Chart.lock +++ b/stable/bazarr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:52:53.936963078Z" +generated: "2021-08-28T20:03:26.324145537Z" diff --git a/stable/booksonic-air/1.6.5/Chart.lock b/stable/booksonic-air/1.6.5/Chart.lock index bee78e9b2c..67a7628132 100644 --- a/stable/booksonic-air/1.6.5/Chart.lock +++ b/stable/booksonic-air/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:52:58.165235653Z" +generated: "2021-08-28T20:03:30.740794225Z" diff --git a/stable/calibre-web/6.8.5/Chart.lock b/stable/calibre-web/6.8.5/Chart.lock index b28bffef63..890020536a 100644 --- a/stable/calibre-web/6.8.5/Chart.lock +++ b/stable/calibre-web/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:06.586173363Z" +generated: "2021-08-28T20:03:39.445962441Z" diff --git a/stable/calibre/1.6.6/Chart.lock b/stable/calibre/1.6.6/Chart.lock index 6bb80e14e3..a66884b39d 100644 --- a/stable/calibre/1.6.6/Chart.lock +++ b/stable/calibre/1.6.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:02.361594129Z" +generated: "2021-08-28T20:03:35.125553083Z" diff --git a/stable/collabora-online/6.8.5/Chart.lock b/stable/collabora-online/6.8.5/Chart.lock index 12990f1377..a77f1257ea 100644 --- a/stable/collabora-online/6.8.5/Chart.lock +++ b/stable/collabora-online/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:10.851239842Z" +generated: "2021-08-28T20:03:43.78392215Z" diff --git a/stable/deconz/1.6.5/Chart.lock b/stable/deconz/1.6.5/Chart.lock index e6e92d68b9..f79657f8ab 100644 --- a/stable/deconz/1.6.5/Chart.lock +++ b/stable/deconz/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:15.05270409Z" +generated: "2021-08-28T20:03:48.182210935Z" diff --git a/stable/deepstack-cpu/4.8.5/Chart.lock b/stable/deepstack-cpu/4.8.5/Chart.lock index 296a9e9f54..a58fa7ae88 100644 --- a/stable/deepstack-cpu/4.8.5/Chart.lock +++ b/stable/deepstack-cpu/4.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:19.355620405Z" +generated: "2021-08-28T20:03:52.757350472Z" diff --git a/stable/deluge/6.8.5/Chart.lock b/stable/deluge/6.8.5/Chart.lock index de663cbf62..ae171118f1 100644 --- a/stable/deluge/6.8.5/Chart.lock +++ b/stable/deluge/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:23.545568598Z" +generated: "2021-08-28T20:03:57.452368798Z" diff --git a/stable/dizquetv/1.6.5/Chart.lock b/stable/dizquetv/1.6.5/Chart.lock index 4e96cbfc0e..71101ef43c 100644 --- a/stable/dizquetv/1.6.5/Chart.lock +++ b/stable/dizquetv/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:27.870648903Z" +generated: "2021-08-28T20:04:02.171870961Z" diff --git a/stable/duplicati/1.6.5/Chart.lock b/stable/duplicati/1.6.5/Chart.lock index 73dd805204..99db66786e 100644 --- a/stable/duplicati/1.6.5/Chart.lock +++ b/stable/duplicati/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:32.130685418Z" +generated: "2021-08-28T20:04:06.555395686Z" diff --git a/stable/emby/6.8.5/Chart.lock b/stable/emby/6.8.5/Chart.lock index ae3ef4a105..f46fc2dc01 100644 --- a/stable/emby/6.8.5/Chart.lock +++ b/stable/emby/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:36.400850609Z" +generated: "2021-08-28T20:04:10.849089807Z" diff --git a/stable/esphome/6.8.6/Chart.lock b/stable/esphome/6.8.6/Chart.lock index 54babc82e3..b2476f5ab3 100644 --- a/stable/esphome/6.8.6/Chart.lock +++ b/stable/esphome/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:40.693591466Z" +generated: "2021-08-28T20:04:15.355394545Z" diff --git a/stable/external-service/1.1.6/Chart.lock b/stable/external-service/1.1.6/Chart.lock index 64e8bc8b01..4e13e951f2 100644 --- a/stable/external-service/1.1.6/Chart.lock +++ b/stable/external-service/1.1.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:53:44.974699614Z" +generated: "2021-08-28T20:04:19.772150391Z" diff --git a/stable/fireflyiii/5.4.2/Chart.lock b/stable/fireflyiii/5.4.2/Chart.lock index e3c0249f44..9f8824f08c 100644 --- a/stable/fireflyiii/5.4.2/Chart.lock +++ b/stable/fireflyiii/5.4.2/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.2.4 digest: sha256:9aee99382d64db8c5a6879f05e43a8f1a4a7cbdca841a3d7f9dd5e497a7e63a3 -generated: "2021-08-28T19:53:49.99802946Z" +generated: "2021-08-28T20:04:24.851042018Z" diff --git a/stable/flaresolverr/1.6.5/Chart.lock b/stable/flaresolverr/1.6.5/Chart.lock index 04129373bc..659ed3b1ba 100644 --- a/stable/flaresolverr/1.6.5/Chart.lock +++ b/stable/flaresolverr/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:55.234138019Z" +generated: "2021-08-28T20:04:30.30890178Z" diff --git a/stable/flood/1.6.5/Chart.lock b/stable/flood/1.6.5/Chart.lock index c43ee53aff..3d6ed40688 100644 --- a/stable/flood/1.6.5/Chart.lock +++ b/stable/flood/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:53:59.431396974Z" +generated: "2021-08-28T20:04:34.761900652Z" diff --git a/stable/focalboard/1.6.5/Chart.lock b/stable/focalboard/1.6.5/Chart.lock index b4c634e3e0..0ca63d2c3a 100644 --- a/stable/focalboard/1.6.5/Chart.lock +++ b/stable/focalboard/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:54:03.654797641Z" +generated: "2021-08-28T20:04:39.231156068Z" diff --git a/stable/freeradius/1.4.5/Chart.lock b/stable/freeradius/1.4.5/Chart.lock index 1bb75d07f3..4c2c03e9d0 100644 --- a/stable/freeradius/1.4.5/Chart.lock +++ b/stable/freeradius/1.4.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:07.863224523Z" +generated: "2021-08-28T20:04:43.972458154Z" diff --git a/stable/freshrss/6.8.5/Chart.lock b/stable/freshrss/6.8.5/Chart.lock index 13589772a3..a932c6a889 100644 --- a/stable/freshrss/6.8.5/Chart.lock +++ b/stable/freshrss/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:12.142172493Z" +generated: "2021-08-28T20:04:48.700061834Z" diff --git a/stable/gaps/6.8.5/Chart.lock b/stable/gaps/6.8.5/Chart.lock index 961f029718..3a602718e4 100644 --- a/stable/gaps/6.8.5/Chart.lock +++ b/stable/gaps/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:16.440576063Z" +generated: "2021-08-28T20:04:53.368826313Z" diff --git a/stable/gonic/1.6.5/Chart.lock b/stable/gonic/1.6.5/Chart.lock index de1055b5a7..ae12ce0ef4 100644 --- a/stable/gonic/1.6.5/Chart.lock +++ b/stable/gonic/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:54:20.659749744Z" +generated: "2021-08-28T20:04:58.015474731Z" diff --git a/stable/grocy/6.8.5/Chart.lock b/stable/grocy/6.8.5/Chart.lock index 09b9f8c714..b291148b71 100644 --- a/stable/grocy/6.8.5/Chart.lock +++ b/stable/grocy/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:24.936523481Z" +generated: "2021-08-28T20:05:02.80173501Z" diff --git a/stable/handbrake/6.8.5/Chart.lock b/stable/handbrake/6.8.5/Chart.lock index 277b32d851..8d0435c19f 100644 --- a/stable/handbrake/6.8.5/Chart.lock +++ b/stable/handbrake/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:29.192904664Z" +generated: "2021-08-28T20:05:07.579927147Z" diff --git a/stable/haste-server/1.8.5/Chart.lock b/stable/haste-server/1.8.5/Chart.lock index 9bc954e0be..a359a879ea 100644 --- a/stable/haste-server/1.8.5/Chart.lock +++ b/stable/haste-server/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:33.441547115Z" +generated: "2021-08-28T20:05:12.260413132Z" diff --git a/stable/healthchecks/1.6.5/Chart.lock b/stable/healthchecks/1.6.5/Chart.lock index 8cc8d00bfe..2030f63c0d 100644 --- a/stable/healthchecks/1.6.5/Chart.lock +++ b/stable/healthchecks/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:54:37.72075623Z" +generated: "2021-08-28T20:05:16.89038722Z" diff --git a/stable/heimdall/6.8.5/Chart.lock b/stable/heimdall/6.8.5/Chart.lock index a93432c7ed..7dc3ec445f 100644 --- a/stable/heimdall/6.8.5/Chart.lock +++ b/stable/heimdall/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:41.97431292Z" +generated: "2021-08-28T20:05:21.277854687Z" diff --git a/stable/home-assistant/6.8.5/Chart.lock b/stable/home-assistant/6.8.5/Chart.lock index b87a9627a0..bde65245d5 100644 --- a/stable/home-assistant/6.8.5/Chart.lock +++ b/stable/home-assistant/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:46.228558475Z" +generated: "2021-08-28T20:05:25.931911053Z" diff --git a/stable/hyperion-ng/1.6.5/Chart.lock b/stable/hyperion-ng/1.6.5/Chart.lock index 2e315dfb1e..e1780c9ef5 100644 --- a/stable/hyperion-ng/1.6.5/Chart.lock +++ b/stable/hyperion-ng/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:54:50.400412735Z" +generated: "2021-08-28T20:05:30.625740361Z" diff --git a/stable/jackett/6.8.6/Chart.lock b/stable/jackett/6.8.6/Chart.lock index a7eec123e2..37d45d723f 100644 --- a/stable/jackett/6.8.6/Chart.lock +++ b/stable/jackett/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:54.710125236Z" +generated: "2021-08-28T20:05:35.238216724Z" diff --git a/stable/jellyfin/6.8.5/Chart.lock b/stable/jellyfin/6.8.5/Chart.lock index 0b56b46e7f..c73609fcca 100644 --- a/stable/jellyfin/6.8.5/Chart.lock +++ b/stable/jellyfin/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:54:58.931908304Z" +generated: "2021-08-28T20:05:39.879318684Z" diff --git a/stable/kms/6.8.5/Chart.lock b/stable/kms/6.8.5/Chart.lock index fd6155a93f..f8415ab872 100644 --- a/stable/kms/6.8.5/Chart.lock +++ b/stable/kms/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:03.069048481Z" +generated: "2021-08-28T20:05:44.386820238Z" diff --git a/stable/komga/1.6.5/Chart.lock b/stable/komga/1.6.5/Chart.lock index 17b107a532..c9982f735d 100644 --- a/stable/komga/1.6.5/Chart.lock +++ b/stable/komga/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:55:07.323388961Z" +generated: "2021-08-28T20:05:49.041960459Z" diff --git a/stable/lazylibrarian/6.8.5/Chart.lock b/stable/lazylibrarian/6.8.5/Chart.lock index b1f507eee5..58be5ab4ce 100644 --- a/stable/lazylibrarian/6.8.5/Chart.lock +++ b/stable/lazylibrarian/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:11.579166726Z" +generated: "2021-08-28T20:05:53.469361015Z" diff --git a/stable/librespeed/1.6.5/Chart.lock b/stable/librespeed/1.6.5/Chart.lock index 0993e13817..0042d604e4 100644 --- a/stable/librespeed/1.6.5/Chart.lock +++ b/stable/librespeed/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:55:15.857287951Z" +generated: "2021-08-28T20:05:57.878032732Z" diff --git a/stable/lidarr/6.8.5/Chart.lock b/stable/lidarr/6.8.5/Chart.lock index 1ca2266d08..5f99fe3d56 100644 --- a/stable/lidarr/6.8.5/Chart.lock +++ b/stable/lidarr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:20.115022395Z" +generated: "2021-08-28T20:06:02.374994726Z" diff --git a/stable/littlelink/1.2.5/Chart.lock b/stable/littlelink/1.2.5/Chart.lock index f7aa8c4455..a390858fab 100644 --- a/stable/littlelink/1.2.5/Chart.lock +++ b/stable/littlelink/1.2.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:24.36042495Z" +generated: "2021-08-28T20:06:06.855142727Z" diff --git a/stable/lychee/6.8.5/Chart.lock b/stable/lychee/6.8.5/Chart.lock index 5d66ab134f..56ccb10e8a 100644 --- a/stable/lychee/6.8.5/Chart.lock +++ b/stable/lychee/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:28.656553403Z" +generated: "2021-08-28T20:06:11.557572062Z" diff --git a/stable/mealie/1.8.5/Chart.lock b/stable/mealie/1.8.5/Chart.lock index 9bd67ab799..8abbd66b63 100644 --- a/stable/mealie/1.8.5/Chart.lock +++ b/stable/mealie/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:32.905229959Z" +generated: "2021-08-28T20:06:16.228579335Z" diff --git a/stable/mosquitto/1.8.5/Chart.lock b/stable/mosquitto/1.8.5/Chart.lock index 448a7be5c5..3fc1829eab 100644 --- a/stable/mosquitto/1.8.5/Chart.lock +++ b/stable/mosquitto/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:37.132426174Z" +generated: "2021-08-28T20:06:20.940441178Z" diff --git a/stable/mylar/1.6.5/Chart.lock b/stable/mylar/1.6.5/Chart.lock index 458af48097..eb009b5447 100644 --- a/stable/mylar/1.6.5/Chart.lock +++ b/stable/mylar/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:55:41.438391374Z" +generated: "2021-08-28T20:06:25.605051147Z" diff --git a/stable/navidrome/6.8.6/Chart.lock b/stable/navidrome/6.8.6/Chart.lock index 00da05d980..73492bb592 100644 --- a/stable/navidrome/6.8.6/Chart.lock +++ b/stable/navidrome/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:45.730452286Z" +generated: "2021-08-28T20:06:30.302784686Z" diff --git a/stable/node-red/6.8.5/Chart.lock b/stable/node-red/6.8.5/Chart.lock index ee27575d85..229a43b8c4 100644 --- a/stable/node-red/6.8.5/Chart.lock +++ b/stable/node-red/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:49.948394915Z" +generated: "2021-08-28T20:06:34.960471397Z" diff --git a/stable/nullserv/1.6.5/Chart.lock b/stable/nullserv/1.6.5/Chart.lock index e58ae22d5a..c55580423d 100644 --- a/stable/nullserv/1.6.5/Chart.lock +++ b/stable/nullserv/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:55:54.150206769Z" +generated: "2021-08-28T20:06:39.623184996Z" diff --git a/stable/nzbget/6.8.5/Chart.lock b/stable/nzbget/6.8.5/Chart.lock index 2da04e6038..637253ccc5 100644 --- a/stable/nzbget/6.8.5/Chart.lock +++ b/stable/nzbget/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:55:58.38773177Z" +generated: "2021-08-28T20:06:44.257872044Z" diff --git a/stable/nzbhydra/6.8.6/Chart.lock b/stable/nzbhydra/6.8.6/Chart.lock index a9aefc495a..04b770564e 100644 --- a/stable/nzbhydra/6.8.6/Chart.lock +++ b/stable/nzbhydra/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:02.603382387Z" +generated: "2021-08-28T20:06:48.959846997Z" diff --git a/stable/octoprint/1.6.5/Chart.lock b/stable/octoprint/1.6.5/Chart.lock index a523ea113d..3d62477655 100644 --- a/stable/octoprint/1.6.5/Chart.lock +++ b/stable/octoprint/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:06.882803338Z" +generated: "2021-08-28T20:06:53.610206084Z" diff --git a/stable/omada-controller/1.6.5/Chart.lock b/stable/omada-controller/1.6.5/Chart.lock index 6b49563dd9..ce1ca431dc 100644 --- a/stable/omada-controller/1.6.5/Chart.lock +++ b/stable/omada-controller/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:11.119815527Z" +generated: "2021-08-28T20:06:58.221994177Z" diff --git a/stable/ombi/6.8.6/Chart.lock b/stable/ombi/6.8.6/Chart.lock index 4c37df3026..e4defea379 100644 --- a/stable/ombi/6.8.6/Chart.lock +++ b/stable/ombi/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:15.306080427Z" +generated: "2021-08-28T20:07:02.8887132Z" diff --git a/stable/openldap/1.4.5/Chart.lock b/stable/openldap/1.4.5/Chart.lock index e59e2ffdba..48c5d63ba8 100644 --- a/stable/openldap/1.4.5/Chart.lock +++ b/stable/openldap/1.4.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:19.540789785Z" +generated: "2021-08-28T20:07:07.471030273Z" diff --git a/stable/organizr/6.8.5/Chart.lock b/stable/organizr/6.8.5/Chart.lock index 6161a5aee8..e15af2fd36 100644 --- a/stable/organizr/6.8.5/Chart.lock +++ b/stable/organizr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:23.772288452Z" +generated: "2021-08-28T20:07:12.179291248Z" diff --git a/stable/overseerr/1.6.5/Chart.lock b/stable/overseerr/1.6.5/Chart.lock index d672c20a4d..1b7234d5ab 100644 --- a/stable/overseerr/1.6.5/Chart.lock +++ b/stable/overseerr/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:27.980063878Z" +generated: "2021-08-28T20:07:16.788103306Z" diff --git a/stable/owncast/1.6.5/Chart.lock b/stable/owncast/1.6.5/Chart.lock index f803d9d2b6..0b3d5b4cdc 100644 --- a/stable/owncast/1.6.5/Chart.lock +++ b/stable/owncast/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:32.227574809Z" +generated: "2021-08-28T20:07:21.447864073Z" diff --git a/stable/owncloud-ocis/1.6.6/Chart.lock b/stable/owncloud-ocis/1.6.6/Chart.lock index b98e6658c8..57d7b2a432 100644 --- a/stable/owncloud-ocis/1.6.6/Chart.lock +++ b/stable/owncloud-ocis/1.6.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:36.487735742Z" +generated: "2021-08-28T20:07:26.086167008Z" diff --git a/stable/pgadmin/1.5.5/Chart.lock b/stable/pgadmin/1.5.5/Chart.lock index f46381f797..9e51f00072 100644 --- a/stable/pgadmin/1.5.5/Chart.lock +++ b/stable/pgadmin/1.5.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:40.749608272Z" +generated: "2021-08-28T20:07:30.794820451Z" diff --git a/stable/photoprism/1.6.5/Chart.lock b/stable/photoprism/1.6.5/Chart.lock index 3b7b889135..caad1fc961 100644 --- a/stable/photoprism/1.6.5/Chart.lock +++ b/stable/photoprism/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:45.037662161Z" +generated: "2021-08-28T20:07:35.416489594Z" diff --git a/stable/phpldapadmin/1.5.5/Chart.lock b/stable/phpldapadmin/1.5.5/Chart.lock index d71f2fb678..0850c79bed 100644 --- a/stable/phpldapadmin/1.5.5/Chart.lock +++ b/stable/phpldapadmin/1.5.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:49.318448567Z" +generated: "2021-08-28T20:07:40.050720194Z" diff --git a/stable/piaware/1.6.5/Chart.lock b/stable/piaware/1.6.5/Chart.lock index 0890d9d6cb..37aa50b552 100644 --- a/stable/piaware/1.6.5/Chart.lock +++ b/stable/piaware/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:56:53.441266542Z" +generated: "2021-08-28T20:07:44.701018589Z" diff --git a/stable/plex/5.8.5/Chart.lock b/stable/plex/5.8.5/Chart.lock index 1e784e3a64..d76bd75e32 100644 --- a/stable/plex/5.8.5/Chart.lock +++ b/stable/plex/5.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:56:57.785224057Z" +generated: "2021-08-28T20:07:49.251156621Z" diff --git a/stable/podgrab/4.8.5/Chart.lock b/stable/podgrab/4.8.5/Chart.lock index 17537d4a5a..49d703410a 100644 --- a/stable/podgrab/4.8.5/Chart.lock +++ b/stable/podgrab/4.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:01.992452972Z" +generated: "2021-08-28T20:07:53.813820031Z" diff --git a/stable/postgresql/1.2.5/Chart.lock b/stable/postgresql/1.2.5/Chart.lock index 2c99c0941f..c3398d5df5 100644 --- a/stable/postgresql/1.2.5/Chart.lock +++ b/stable/postgresql/1.2.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:06.271181121Z" +generated: "2021-08-28T20:07:58.412079421Z" diff --git a/stable/pretend-youre-xyzzy/1.6.5/Chart.lock b/stable/pretend-youre-xyzzy/1.6.5/Chart.lock index 16eab8abbf..a06ce16c29 100644 --- a/stable/pretend-youre-xyzzy/1.6.5/Chart.lock +++ b/stable/pretend-youre-xyzzy/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:57:10.603386222Z" +generated: "2021-08-28T20:08:02.964335403Z" diff --git a/stable/protonmail-bridge/1.6.5/Chart.lock b/stable/protonmail-bridge/1.6.5/Chart.lock index a959390dbc..bf575221dd 100644 --- a/stable/protonmail-bridge/1.6.5/Chart.lock +++ b/stable/protonmail-bridge/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:57:14.834420766Z" +generated: "2021-08-28T20:08:07.320414413Z" diff --git a/stable/prowlarr/1.8.6/Chart.lock b/stable/prowlarr/1.8.6/Chart.lock index 2e0cfc9f25..8b7445e74c 100644 --- a/stable/prowlarr/1.8.6/Chart.lock +++ b/stable/prowlarr/1.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:19.109332826Z" +generated: "2021-08-28T20:08:11.905798999Z" diff --git a/stable/pyload/1.6.5/Chart.lock b/stable/pyload/1.6.5/Chart.lock index dc530e8925..f46c4f22ab 100644 --- a/stable/pyload/1.6.5/Chart.lock +++ b/stable/pyload/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:57:23.441956025Z" +generated: "2021-08-28T20:08:16.474141809Z" diff --git a/stable/qbittorrent/6.8.5/Chart.lock b/stable/qbittorrent/6.8.5/Chart.lock index 350a73ce81..6f2ecb26cd 100644 --- a/stable/qbittorrent/6.8.5/Chart.lock +++ b/stable/qbittorrent/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:27.668662894Z" +generated: "2021-08-28T20:08:21.100664625Z" diff --git a/stable/radarr/6.8.5/Chart.lock b/stable/radarr/6.8.5/Chart.lock index 1115b363e6..e455f082f6 100644 --- a/stable/radarr/6.8.5/Chart.lock +++ b/stable/radarr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:31.976828834Z" +generated: "2021-08-28T20:08:25.584984747Z" diff --git a/stable/readarr/6.8.5/Chart.lock b/stable/readarr/6.8.5/Chart.lock index 6a8b6aaac0..f861006a68 100644 --- a/stable/readarr/6.8.5/Chart.lock +++ b/stable/readarr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:36.240654977Z" +generated: "2021-08-28T20:08:30.021454933Z" diff --git a/stable/reg/1.8.5/Chart.lock b/stable/reg/1.8.5/Chart.lock index 9a2ae0f034..e61c10478d 100644 --- a/stable/reg/1.8.5/Chart.lock +++ b/stable/reg/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:40.514149061Z" +generated: "2021-08-28T20:08:34.558734612Z" diff --git a/stable/resilio-sync/1.6.5/Chart.lock b/stable/resilio-sync/1.6.5/Chart.lock index 23cf52f6fd..8998c3f570 100644 --- a/stable/resilio-sync/1.6.5/Chart.lock +++ b/stable/resilio-sync/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:57:44.749666087Z" +generated: "2021-08-28T20:08:39.020741843Z" diff --git a/stable/sabnzbd/6.8.5/Chart.lock b/stable/sabnzbd/6.8.5/Chart.lock index 664c85505a..74aac76e24 100644 --- a/stable/sabnzbd/6.8.5/Chart.lock +++ b/stable/sabnzbd/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:49.014053126Z" +generated: "2021-08-28T20:08:43.502226294Z" diff --git a/stable/ser2sock/1.6.5/Chart.lock b/stable/ser2sock/1.6.5/Chart.lock index 61591153b2..d9682458f6 100644 --- a/stable/ser2sock/1.6.5/Chart.lock +++ b/stable/ser2sock/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:57:53.186510185Z" +generated: "2021-08-28T20:08:48.196354861Z" diff --git a/stable/sonarr/6.8.5/Chart.lock b/stable/sonarr/6.8.5/Chart.lock index f57e1147a9..2ac6141d03 100644 --- a/stable/sonarr/6.8.5/Chart.lock +++ b/stable/sonarr/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:57:57.409272396Z" +generated: "2021-08-28T20:08:52.94185652Z" diff --git a/stable/stash/1.6.5/Chart.lock b/stable/stash/1.6.5/Chart.lock index 9c4a60acca..b46472fece 100644 --- a/stable/stash/1.6.5/Chart.lock +++ b/stable/stash/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:58:01.576073163Z" +generated: "2021-08-28T20:08:57.333219695Z" diff --git a/stable/syncthing/6.8.5/Chart.lock b/stable/syncthing/6.8.5/Chart.lock index 9b2b50a7e0..2d1a468bbc 100644 --- a/stable/syncthing/6.8.5/Chart.lock +++ b/stable/syncthing/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:05.81818571Z" +generated: "2021-08-28T20:09:01.902686955Z" diff --git a/stable/tautulli/6.8.5/Chart.lock b/stable/tautulli/6.8.5/Chart.lock index d6f352881d..7a9dfa9760 100644 --- a/stable/tautulli/6.8.5/Chart.lock +++ b/stable/tautulli/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:10.066229684Z" +generated: "2021-08-28T20:09:06.417812604Z" diff --git a/stable/thelounge/1.8.5/Chart.lock b/stable/thelounge/1.8.5/Chart.lock index 46d563a499..1432a79cd3 100644 --- a/stable/thelounge/1.8.5/Chart.lock +++ b/stable/thelounge/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:14.354468815Z" +generated: "2021-08-28T20:09:10.971960495Z" diff --git a/stable/traefik/6.10.5/Chart.lock b/stable/traefik/6.10.5/Chart.lock index 477582b7e5..68d9b7c8f0 100644 --- a/stable/traefik/6.10.5/Chart.lock +++ b/stable/traefik/6.10.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:18.626970831Z" +generated: "2021-08-28T20:09:15.445426898Z" diff --git a/stable/transmission/6.8.5/Chart.lock b/stable/transmission/6.8.5/Chart.lock index a3baa21b64..91fcefd125 100644 --- a/stable/transmission/6.8.5/Chart.lock +++ b/stable/transmission/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:22.833391219Z" +generated: "2021-08-28T20:09:20.234286032Z" diff --git a/stable/truecommand/6.8.5/Chart.lock b/stable/truecommand/6.8.5/Chart.lock index 15a229b22b..acd09f5713 100644 --- a/stable/truecommand/6.8.5/Chart.lock +++ b/stable/truecommand/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:27.120157433Z" +generated: "2021-08-28T20:09:25.002448635Z" diff --git a/stable/tvheadend/7.8.5/Chart.lock b/stable/tvheadend/7.8.5/Chart.lock index 82425b5adc..715c720e06 100644 --- a/stable/tvheadend/7.8.5/Chart.lock +++ b/stable/tvheadend/7.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:31.348631983Z" +generated: "2021-08-28T20:09:29.639982825Z" diff --git a/stable/unifi/6.8.5/Chart.lock b/stable/unifi/6.8.5/Chart.lock index 2194375ba9..f576575de5 100644 --- a/stable/unifi/6.8.5/Chart.lock +++ b/stable/unifi/6.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:35.610770928Z" +generated: "2021-08-28T20:09:34.264879123Z" diff --git a/stable/unpackerr/1.8.5/Chart.lock b/stable/unpackerr/1.8.5/Chart.lock index 18323e9794..6c5f1ff00a 100644 --- a/stable/unpackerr/1.8.5/Chart.lock +++ b/stable/unpackerr/1.8.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:39.882156694Z" +generated: "2021-08-28T20:09:38.933318028Z" diff --git a/stable/vaultwarden/4.4.2/Chart.lock b/stable/vaultwarden/4.4.2/Chart.lock index 7580b92ecd..da795eb46e 100644 --- a/stable/vaultwarden/4.4.2/Chart.lock +++ b/stable/vaultwarden/4.4.2/Chart.lock @@ -6,4 +6,4 @@ dependencies: repository: https://truecharts.org/ version: 1.2.4 digest: sha256:9aee99382d64db8c5a6879f05e43a8f1a4a7cbdca841a3d7f9dd5e497a7e63a3 -generated: "2021-08-28T19:58:44.901487398Z" +generated: "2021-08-28T20:09:44.394602328Z" diff --git a/stable/xteve/1.6.5/Chart.lock b/stable/xteve/1.6.5/Chart.lock index db8705ae83..d80ce14955 100644 --- a/stable/xteve/1.6.5/Chart.lock +++ b/stable/xteve/1.6.5/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org version: 6.10.7 digest: sha256:5e678239a7d5a0f4cecfd1fa311793fc777b7bd16f7bdb6cce32bbae976041d4 -generated: "2021-08-28T19:58:50.246460247Z" +generated: "2021-08-28T20:09:50.194083515Z" diff --git a/stable/zwavejs2mqtt/6.8.6/Chart.lock b/stable/zwavejs2mqtt/6.8.6/Chart.lock index 30de30ea47..0cee11a17a 100644 --- a/stable/zwavejs2mqtt/6.8.6/Chart.lock +++ b/stable/zwavejs2mqtt/6.8.6/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://truecharts.org/ version: 6.10.7 digest: sha256:15598599ed5351b103a789d4c3ff3eb7c00c0833a74bcc391743dbfb5df6e621 -generated: "2021-08-28T19:58:54.478426381Z" +generated: "2021-08-28T20:09:54.618043254Z"