From 26324c1825798a1e4d58d96f7f9c6bc451d98810 Mon Sep 17 00:00:00 2001 From: Ruben Hensen Date: Mon, 16 Sep 2024 12:56:13 +0200 Subject: [PATCH] Remove mailu --- apps/templates/mailu-folder.yaml | 19 - mailu/helm-mailu.yaml | 41 - mailu/mailu-es.yaml | 17 - mailu/values.yaml | 2999 ------------------------------ 4 files changed, 3076 deletions(-) delete mode 100644 apps/templates/mailu-folder.yaml delete mode 100644 mailu/helm-mailu.yaml delete mode 100644 mailu/mailu-es.yaml delete mode 100644 mailu/values.yaml diff --git a/apps/templates/mailu-folder.yaml b/apps/templates/mailu-folder.yaml deleted file mode 100644 index b5c31e8..0000000 --- a/apps/templates/mailu-folder.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: mailu-folder -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: mailu - destination: - server: https://kubernetes.default.svc - namespace: mailu - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true - prune: true \ No newline at end of file diff --git a/mailu/helm-mailu.yaml b/mailu/helm-mailu.yaml deleted file mode 100644 index 0ea1c25..0000000 --- a/mailu/helm-mailu.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: helm-mailu - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true - prune: true - project: default - sources: - - chart: mailu - repoURL: https://mailu.github.io/helm-charts/ - targetRevision: 2.1.1 - helm: - valueFiles: - - $values/mailu/values.yaml - - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - ref: values - destination: - server: https://kubernetes.default.svc - namespace: mailu - ignoreDifferences: - - group: "" - kind: Secret - name: helm-mailu-secret - namespace: mailu - jqPathExpressions: - - .data - - group: "" - kind: Secret - name: mailu-roundcube - namespace: mailu - jqPathExpressions: - - .data \ No newline at end of file diff --git a/mailu/mailu-es.yaml b/mailu/mailu-es.yaml deleted file mode 100644 index 17e5e4a..0000000 --- a/mailu/mailu-es.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: mailu-es -spec: - refreshInterval: "15s" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: mailu-init-pass - data: - - secretKey: password - remoteRef: - key: mailu-init-pass - property: password - diff --git a/mailu/values.yaml b/mailu/values.yaml deleted file mode 100644 index 7391c9b..0000000 --- a/mailu/values.yaml +++ /dev/null @@ -1,2999 +0,0 @@ -# ## Default values for mailu. - -# ## @section Global parameters -# ## Global common parameters (see Bitnamis common chart) -# ## @param global.imageRegistry Global container image registry -# ## @param global.imagePullSecrets Global container image pull secret -# ## @param global.storageClass Global storageClass to use for persistent volumes -# global: -# imageRegistry: "" -# imagePullSecrets: [] -# storageClass: "" - -# database: -# ## @param global.database.roundcube.database Name of the roundcube database -# ## @param global.database.roundcube.username Username to use for the roundcube database -# ## @param global.database.roundcube.password Password to use for the roundcube database -# ## @param global.database.roundcube.existingSecret Name of an existing secret to use for the roundcube database -# ## @param global.database.roundcube.existingSecretPasswordKey Name of the key in the existing secret to use for the roundcube database password -# roundcube: -# database: roundcube -# username: roundcube -# password: "" -# existingSecret: "" -# existingSecretPasswordKey: "" - -# ## @section Common parameters - -# ## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set) -# kubeVersion: "" -# ## @param nameOverride String to partially override mailu.fullname include (will maintain the release name) -# nameOverride: "" -# ## @param fullnameOverride String to fully override mailu.fullname template -# fullnameOverride: "" -# ## @param commonLabels Add labels to all the deployed resources -# commonLabels: {} -# ## @param commonAnnotations Add annotations to all the deployed resources -# commonAnnotations: {} - -# ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# ## @param tolerations Tolerations for pod assignment -# tolerations: [] - -# ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# ## @param affinity Affinity for pod assignment -# affinity: {} - -# ## @param imageRegistry Container registry to use for all Mailu images -# imageRegistry: ghcr.io - -# ## @section Mailu parameters - -# ## e.g.: -# ## hostnames: -# ## - mail.example.com -# ## - imap.example.com -# ## @param hostnames List of hostnames to generate certificates and ingresses for. The first will be used as primary mail hostname. -hostnames: - - mail.hensen.io - -# ## e.g.: -# ## domain: example.com -# ## @param domain Mail domain name. See https://github.com/Mailu/Mailu/blob/master/docs/faq.rst#what-is-the-difference-between-domain-and-hostnames -domain: "hensen.io" - -# ## e.g.: -# ## secretKey: chang3m3! -# ## @param secretKey The secret key is required for protecting authentication cookies and must be set individually for each deployment -# ## If empty, a random secret key will be generated and saved in a secret -# secretKey: "" - -# ## e.g.: -# ## existingSecret: mailu-secret -# ## @param existingSecret Name of the existing secret to retrieve the secretKey. -# ## The secret has to contain the secretKey value under the `secret-key` key. -# existingSecret: "" - -# ## @param timezone Timezone to use for the containers -# timezone: "Etc/UTC" - -# ## e.g.: -# ## initialAccount: -# ## username: mailadmin -# ## domain: mydomain.com -# ## password: "" -# ## existingSecret: mailu-secret -# ## -# ## @param initialAccount.enabled Enable the creation of the initial account -# ## @param initialAccount.username Username of the initial account -# ## @param initialAccount.domain Domain of the initial account -# ## @param initialAccount.password Password of the initial account; ignored if using existing secret; if empty, a random password will be generated and saved in a secret -# ## @param initialAccount.existingSecret Name of the existing secret to retrieve the initial account's password -# ## @param initialAccount.existingSecretPasswordKey Name of the key in the existing secret to use for the initial account's password -# ## @param initialAccount.mode How to treat the creationg of the initial account. Possible values: "create", "update" or "ifmissing" -initialAccount: - enabled: true - username: "admin" - domain: "hensen.io" - # password: "" - existingSecret: "mailu-init-pass" - existingSecretPasswordKey: "password" - mode: "update" - -# ## @param api.enabled Enable the API interface -# ## @param api.token Token to use for the API interface - if empty, a random token will be generated and saved in a secret -# ## @param api.existingSecret Name of the existing secret to retrieve the API token - if set, the token will be ignored -# ## @param api.existingSecretTokenKey Name of the key in the existing secret to use for the API token -# ## @param api.webPath Path for the API interface -# api: -# enabled: false -# token: "" -# existingSecret: "" -# existingSecretTokenKey: "api-token" -# webPath: "/api" - -# ## @param subnet Change this if you're using different address ranges for pods (IPv4) -# subnet: 10.42.0.0/16 - -# ## @param subnet6 Change this if you're using different address ranges for pods (IPv6) -# subnet6: "" - -# networkPolicy: -# ## @param networkPolicy.enabled Enable network policy -# enabled: false - -# ## @param networkPolicy.ingressController.namespace Namespace where the ingress controller is deployed -# ## @param networkPolicy.ingressController.podSelector Selector for the ingress controller pods -# ingressController: -# namespace: ingress-nginx -# podSelector: | -# matchLabels: -# app.kubernetes.io/name: ingress-nginx -# app.kubernetes.io/instance: ingress-nginx -# app.kubernetes.io/component: controller - -# ## @param mailuVersion Override Mailu version to be deployed (tag of mailu images). Defaults to `Chart.AppVersion` - must be master or a version >= 2.0 -# mailuVersion: "" - -# ## @param logLevel default log level. can be overridden globally or per service -# logLevel: WARNING - -# ## @param postmaster local part of the postmaster email address (Mailu will use @$DOMAIN as domain part) -postmaster: postmaster - -# ## @param recipientDelimiter The delimiter used to separate local part from extension in recipient addresses -# recipientDelimiter: "+" - -# ## @param dmarc.rua Local part of the DMARC report email address (Mailu will use @$DOMAIN as domain part) -# ## @param dmarc.ruf Local part of the DMARC failure report email address (Mailu will use @$DOMAIN as domain part) -# dmarc: -# rua: "" -# ruf: "" - -# limits: -# ## @param limits.messageSizeLimitInMegabytes Maximum size of an email in megabytes -# messageSizeLimitInMegabytes: 50 - -# ## Configuration to prevent brute-force attacks. See the documentation for further information: https://mailu.io/master/configuration.html -# ## @param limits.authRatelimit.ip Sets the `AUTH_RATELIMIT_IP` environment variable in the `admin` pod -# ## @param limits.authRatelimit.ipv4Mask Sets the `AUTH_RATELIMIT_IP_V4_MASK` environment variable in the `admin` pod -# ## @param limits.authRatelimit.ipv6Mask Sets the `AUTH_RATELIMIT_IP_V6_MASK` environment variable in the `admin` pod -# ## @param limits.authRatelimit.user Sets the `AUTH_RATELIMIT_USER` environment variable in the `admin` pod -# ## @param limits.authRatelimit.exemptionLength Sets the `AUTH_RATELIMIT_EXEMPTION_LENGTH` environment variable in the `admin` pod -# ## @param limits.authRatelimit.exemption Sets the `AUTH_RATELIMIT_EXEMPTION` environment variable in the `admin` pod -# authRatelimit: -# ip: 60/hour -# ipv4Mask: 24 -# ipv6Mask: 56 -# user: 100/day -# exemptionLength: 86400 -# exemption: "" - -# # Configuration to reduce outgoing spam in case of a compromised account. See the documentation for further information: https://mailu.io/1.9/configuration.html?highlight=MESSAGE_RATELIMIT -# ## @param limits.messageRatelimit.value Sets the `MESSAGE_RATELIMIT` environment variable in the `admin` pod -# ## @param limits.messageRatelimit.exemption Sets the `MESSAGE_RATELIMIT_EXEMPTION` environment variable in the `admin` pod -# messageRatelimit: -# value: 200/day -# exemption: "" - -# ## Mailu external relay configuration -# ## Example: -# ## externalRelay: -# ## host: "[domain.tld]:port" -# ## username: username -# ## password: SECRET -# ## # username and password can also be stored as secret: -# ## existingSecret: external-relay-secret -# ## usernameKey: username -# ## passwordKey: password -# ## networks: ["10.0.0.0/24", "2001:db8::/32"] -# ## @param externalRelay.host Hostname of the external relay -# ## @param externalRelay.username Username for the external relay -# ## @param externalRelay.password Password for the external relay -# ## @param externalRelay.existingSecret Name of the secret containing the username and password for the external relay; if set, username and password will be ignored -# ## @param externalRelay.usernameKey Key in the secret containing the username for the external relay -# ## @param externalRelay.passwordKey Key in the secret containing the password for the external relay -# ## @param externalRelay.networks List of networks that are allowed to use Mailu as external relay -# externalRelay: -# host: "" -# username: "" -# password: "" -# existingSecret: "" -# usernameKey: "relay-username" -# passwordKey: "relay-password" -# networks: [] - -# ## @param clusterDomain Kubernetes cluster domain name -# clusterDomain: cluster.local - -# ## @param credentialRounds Number of rounds to use for password hashing -# credentialRounds: 12 - -# ## @param sessionCookieSecure Controls the secure flag on the cookies of the administrative interface. -# ## It should only be turned off if you intend to access it over plain HTTP. -# sessionCookieSecure: true - -# ## @param authRequireTokens Require tokens for authentication -# authRequireTokens: false - -# ## @param sessionTimeout Maximum amount of time in seconds between requests before a session is invalidated -# sessionTimeout: 3600 - -# ## @param permanentSessionLifetime Maximum amount of time in seconds a session can be kept alive for if it hasn’t timed-out -# permanentSessionLifetime: 2592000 - -# ## @param letsencryptShortchain Controls whether we send the ISRG Root X1 certificate in TLS handshakes. -# ## This is required for android handsets older than 7.1.1 but slows down the performance of modern devices. -# letsencryptShortchain: false - -# ## @param customization.siteName Website name -# ## @param customization.website URL of the website -# ## @param customization.logoUrl Sets a URL for a custom logo. This logo replaces the Mailu logo in the topleft of the main admin interface. -# ## @param customization.logoBackground Sets a custom background colour for the brand logo in the top left of the main admin interface. -# customization: -# siteName: "Mailu" -# website: "https://mailu.io" -# logoUrl: "" -# logoBackground: "" - -# ## @param welcomeMessage.enabled Enable welcome message -# ## @param welcomeMessage.subject Subject of the welcome message -# ## @param welcomeMessage.body Body of the welcome message -# welcomeMessage: -# enabled: true -# subject: "Welcome to Mailu" -# body: "Welcome to Mailu, your new email service. Please change your password and update your profile." - -# ## @param wildcardSenders List of user emails that can send emails from any address -# wildcardSenders: [] - -# ## @param tls.outboundLevel Sets the `OUTBOUND_TLS_LEVEL` environment variable -# ## @param tls.deferOnError Sets the `DEFER_ON_TLS_ERROR` environment variable -# ## @param tls.inboundEnforce Sets the `INBOUND_TLS_ENFORCE` environment variable -# tls: -# outboundLevel: "" -# deferOnError: "" -# inboundEnforce: "" - -# ## @section Storage parameters - -# ## If deploying mariadb or postgresql from this chart (see `mariadb.enabled` and `postgresql.enabled`), -# ## the username, password and database name for the `mailu` database needs to be configured in the respective sections. -# ## If using an external database, the `mailu` database needs to be created manually and the credentials need to be configured here. -# ## The `roundcube` database needs to be configured under the `global.database` section. -# ## If using the built-in MariaDB or PostgreSQL, the `roundcube` database will be created automatically. -# externalDatabase: -# ## @param externalDatabase.enabled Set to true to use an external database -# enabled: false - -# ## @param externalDatabase.type Type of the external database for mailu and roundcube (`mysql`/`postgresql`) -# ## Use `mysql` for MariaDB -# type: "" - -# ## @param externalDatabase.host Hostname of the database -# host: "" - -# ## @param externalDatabase.port Port of the database -# port: 3306 - -# ## @param externalDatabase.database Name of the database -# database: mailu - -# ## @param externalDatabase.username Username to use for the database -# username: mailu - -# ## @param externalDatabase.password Password to use for the database -# password: "" - -# ## @param externalDatabase.existingSecret Name of the secret containing the database credentials -# existingSecret: "" - -# ## @param externalDatabase.existingSecretDatabaseKey Key in the secret containing the database name -# existingSecretDatabaseKey: "database" - -# ## @param externalDatabase.existingSecretUsernameKey Key in the secret containing the database username -# existingSecretUsernameKey: "username" - -# ## @param externalDatabase.existingSecretPasswordKey Key in the secret containing the database password -# existingSecretPasswordKey: "password" - -# externalRedis: -# ## @param externalRedis.enabled Set to true to use an external Redis instance (ignored if `redis.enabled` is true) -# enabled: false - -# ## @param externalRedis.host Hostname of the external Redis instance -# host: "" - -# ## @param externalRedis.port Port of the external Redis instance -# port: 6379 - -# ## @param externalRedis.adminQuotaDbId Redis database ID for the quota storage on the admin pod -# adminQuotaDbId: 1 - -# ## @param externalRedis.adminRateLimitDbId Redis database ID for the rate limit storage on the admin pod -# adminRateLimitDbId: 2 - -# ## @param externalRedis.rspamdDbId Redis database ID for the rspamd storage on the rspamd pod -# ## Changing this value does nothing as the option is not configurable in rspamd pod yet -# ## ref: https://rspamd.com/doc/configuration/redis.html#available-redis-options -# rspamdDbId: 0 - -# ## @param database.mysql.roundcubePassword DEPRECATED - DO NOT USE: Password for the roundcube database -# ## @param database.postgresql.roundcubePassword DEPRECATED - DO NOT USE: Password for the roundcube database -# database: -# mysql: -# roundcubePassword: "" -# postgresql: -# roundcubePassword: "" - -# ## MariaDB chart configuration -# ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/mariadb -# mariadb: -# ## @param mariadb.enabled Enable MariaDB deployment -# enabled: false - -# ## @param mariadb.architecture MariaDB architecture. Allowed values: standalone or replication -# architecture: standalone - -# ## @param mariadb.auth.rootPassword Password for the `root` user. Ignored if existing secret is provided. -# ## @param mariadb.auth.database Name for a custom database to create -# ## @param mariadb.auth.username Name for a custom user to create -# ## @param mariadb.auth.password Password for the new user. Ignored if existing secret is provided -# ## @param mariadb.auth.existingSecret Use existing secret for password details (`auth.rootPassword`, `auth.password`, `auth.replicationPassword` -# ## will be ignored and picked up from this secret). The secret has to contain the keys `mariadb-root-password`, `mariadb-replication-password` -# ## and `mariadb-password` -# auth: -# rootPassword: "" -# database: mailu -# username: mailu -# password: "" -# existingSecret: "" - -# ## Enable persistence using Persistent Volume Claims -# ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ -# ## -# ## @param mariadb.primary.persistence.enabled Enable persistence using PVC -# ## @param mariadb.primary.persistence.storageClass PVC Storage Class for MariaDB volume -# ## If defined, storageClassName: -# ## If set to "-", storageClassName: "", which disables dynamic provisioning -# ## If undefined (the default) or set to null, no storageClassName spec is -# ## set, choosing the default provisioner. (gp2 on AWS, standard on -# ## GKE, AWS & OpenStack) -# ## @param mariadb.primary.persistence.accessMode PVC Access Mode for MariaDB volume -# ## @param mariadb.primary.persistence.size PVC Storage Request for MariaDB volume -# primary: -# persistence: -# enabled: false -# storageClass: "" -# accessMode: ReadWriteOnce -# size: 8Gi - -# ## @skip mariadb.primary.extraEnvVars -# ## Array with extra environment variables, used to create the initial `roundcube` database; DO NOT EDIT; see `global.database` instead -# extraEnvVars: | -# - name: ROUNDCUBE_DB_PW -# valueFrom: -# secretKeyRef: -# name: {{ include "mailu.database.roundcube.secretName" . }} -# key: {{ include "mailu.database.roundcube.secretKey" . }} -# - name: ROUNDCUBE_DB_NAME -# value: {{ include "mailu.database.roundcube.name" . }} -# - name: ROUNDCUBE_DB_USER -# value: {{ include "mailu.database.roundcube.username" . }} - -# ## @skip mariadb.initdbScripts.create_roundcube_database.sh -# ## DO NOT EDIT Script to create the roundcube database -# initdbScripts: -# create_roundcube_database.sh: | -# #!/bin/bash -# # set -o errexit -# # set -o nounset -# # set -o pipefail -# echo "Checking for DB initialisation" -# if [ -S /opt/bitnami/mariadb/tmp/mysql.sock ]; then -# echo "Running DB initialisation..." -# /opt/bitnami/mariadb/bin/mysql --user="root" --password="${MARIADB_ROOT_PASSWORD}" < -# ## If set to "-", storageClassName: "", which disables dynamic provisioning -# ## If undefined (the default) or set to null, no storageClassName spec is -# ## set, choosing the default provisioner. (gp2 on AWS, standard on -# ## GKE, AWS & OpenStack) -# ## @param postgresql.primary.persistence.accessMode PVC Access Mode for PostgreSQL volume -# ## @param postgresql.primary.persistence.size PVC Storage Request for PostgreSQL volume -# primary: -# ## @skip postgresql.primary.extraEnvVars -# ## Array with extra environment variables, used to create the initial `roundcube` database; DO NOT EDIT; see `global.database` instead -# extraEnvVars: | -# - name: ROUNDCUBE_DB_PW -# valueFrom: -# secretKeyRef: -# name: {{ include "mailu.database.roundcube.secretName" . }} -# key: {{ include "mailu.database.roundcube.secretKey" . }} -# - name: ROUNDCUBE_DB_NAME -# value: {{ include "mailu.database.roundcube.name" . }} -# - name: ROUNDCUBE_DB_USER -# value: {{ include "mailu.database.roundcube.username" . }} - -# initdb: -# ## @skip postgresql.primary.initdb.scripts.create_roundcube_database.sh -# ## DO NOT EDIT Script to create the roundcube database -# scripts: -# create_roundcube_database.sh: | -# #!/bin/bash -# # set -o errexit -# # set -o nounset -# # set -o pipefail -# info "Running DB initialisation..." -# info "Creating database ${ROUNDCUBE_DB_NAME}..." -# echo "CREATE DATABASE \"$ROUNDCUBE_DB_NAME\"" | postgresql_execute "" "postgres" "$POSTGRES_POSTGRES_PASSWORD" -# info "Creating user ${ROUNDCUBE_DB_USER}" -# echo "CREATE ROLE \"${ROUNDCUBE_DB_USER}\" WITH LOGIN CREATEDB PASSWORD '${ROUNDCUBE_DB_PW}';" | postgresql_execute "" "postgres" "$POSTGRES_POSTGRES_PASSWORD" -# info "Granting access to \"${ROUNDCUBE_DB_USER}\" to the database \"${ROUNDCUBE_DB_NAME}\"" -# echo "GRANT ALL PRIVILEGES ON DATABASE \"${ROUNDCUBE_DB_NAME}\" TO \"${ROUNDCUBE_DB_USER}\"\;" | postgresql_execute "" "postgres" "$POSTGRES_POSTGRES_PASSWORD" -# echo "ALTER DATABASE \"${ROUNDCUBE_DB_NAME}\" OWNER TO \"${ROUNDCUBE_DB_USER}\"\;" | postgresql_execute "" "postgres" "$POSTGRES_POSTGRES_PASSWORD" -# info "Setting ownership for the 'public' schema database \"${ROUNDCUBE_DB_NAME}\" to \"${ROUNDCUBE_DB_USER}\"" -# echo "ALTER SCHEMA public OWNER TO \"${ROUNDCUBE_DB_USER}\"\;" | postgresql_execute "$ROUNDCUBE_DB_NAME" "postgres" "$POSTGRES_POSTGRES_PASSWORD" - -# persistence: -# enabled: false -# storageClass: "" -# accessMode: ReadWriteOnce -# size: 8Gi - -# ## @param persistence.single_pvc Setings for a single volume for all apps. -# ## Set single_pvc: false to use a per app volume and set the properties in .persistence (ex. admin.persistence) -# ## @param persistence.size Size of the persistent volume claim (for single PVC) -# ## @param persistence.accessModes Access mode of backing PVC (for single PVC) -# ## @param persistence.annotations Annotations for the PVC (for single PVC) -# ## @param persistence.hostPath Path to mount the volume at on the host -# ## @param persistence.existingClaim Name of existing PVC (for single PVC) -# ## @param persistence.storageClass Storage class of backing PVC (for single PVC) -# ## @param persistence.claimNameOverride Override the name of the PVC (for single PVC) -persistence: - single_pvc: true - size: 100Gi - accessModes: [ReadWriteOnce] - # annotations: {} - # hostPath: "" - # existingClaim: "" - # storageClass: "" - # claimNameOverride: "" - -# ## @section Ingress settings - -# ## Set external ingress config -ingress: -# ## @param ingress.enabled Enable external ingress - enabled: true - -# ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) -# ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster . -# ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/ - ingressClassName: "nginx" - -# ## @param ingress.pathType Ingress path type - pathType: ImplementationSpecific - -# ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) -# apiVersion: "" - -# ## @param ingress.path Default path for the ingress record - path: / - -# ## @param ingress.annotations [object] Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. -# ## Use this parameter to set the required annotations for cert-manager, see -# ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations -# ## e.g: -# ## annotations: -# ## kubernetes.io/ingress.class: nginx -# ## cert-manager.io/cluster-issuer: cluster-issuer-name - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - -# ## @param ingress.tls Enable TLS configuration for the hosts defined at `hostnames` parameter -# ## TLS certificates will be retrieved from a TLS secret with name: `{{ printf "%s-certificates" (include "mailu.fullname" . ) }}` -# ## You can: -# ## - Use the `ingress.secrets` parameter to create this TLS secret -# ## - Rely on cert-manager to create it by setting the corresponding annotations -# ## - Rely on Helm to create self-signed certificates by setting `ingress.tls=true` and `ingress.certManager=false` - tls: true - -# ## @param ingress.existingSecret Name of an existing Secret containing the TLS certificates for the Ingress -# ## If empty, the expected secret name will be `{{ printf "%s-certificates" (include "mailu.fullname" . ) }}` -# existingSecret: "" - -# ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm -# selfSigned: false - -# ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record -# ## e.g: -# ## extraHosts: -# ## - name: mailu.local -# ## path: / -# extraHosts: [] - -# ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host -# ## e.g: -# ## extraPaths: -# ## - path: /* -# ## backend: -# ## serviceName: ssl-redirect -# ## servicePort: use-annotation -# extraPaths: [] - -# ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record -# ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls -# ## e.g: -# ## extraTls: -# ## - hosts: -# ## - mailu.local -# ## secretName: mailu.local-tls -# extraTls: [] - -# ## @param ingress.secrets Custom TLS certificates as secrets -# ## NOTE: 'key' and 'certificate' are expected in PEM format -# ## NOTE: 'name' should line up with a 'secretName' set further up -# ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates -# ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days (if `ingress.selfSigned=true`) -# ## It is also possible to create and manage the certificates outside of this helm chart -# ## Please see README.md for more information -# ## e.g: -# ## secrets: -# ## - name: mailu.local-tls -# ## key: |- -# ## -----BEGIN RSA PRIVATE KEY----- -# ## ... -# ## -----END RSA PRIVATE KEY----- -# ## certificate: |- -# ## -----BEGIN CERTIFICATE----- -# ## ... -# ## -----END CERTIFICATE----- -# secrets: [] - -# ## @param ingress.extraRules Additional rules to be covered with this ingress record -# ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules -# ## e.g: -# ## extraRules: -# ## - host: mailu.local -# ## http: -# ## path: / -# ## backend: -# ## service: -# ## name: example-svc -# ## port: -# ## name: http -# extraRules: [] - -# ## @param ingress.realIpHeader Sets the value of `REAL_IP_HEADER` environment variable in the `front` pod -# realIpHeader: X-Forwarded-For - -# ## @param ingress.realIpFrom Sets the value of `REAL_IP_FROM` environment variable in the `front` pod -# realIpFrom: "" - -# ## @param ingress.tlsFlavorOverride Overrides the value of `TLS_FLAVOR` environment variable in the `front` pod -# ## This is normally auto-detected, only change it if you know what you are doing. -# tlsFlavorOverride: "" - -# ## @param ingress.proxyProtocol.pop3 Enable PROXY protocol for POP3 (110/tcp) -# ## @param ingress.proxyProtocol.pop3s Enable PROXY protocol for POP3S (995/tcp) -# ## @param ingress.proxyProtocol.imap Enable PROXY protocol for IMAP (143/tcp) -# ## @param ingress.proxyProtocol.imaps Enable PROXY protocol for IMAPS (993/tcp) -# ## @param ingress.proxyProtocol.smtp Enable PROXY protocol for SMTP (25/tcp) -# ## @param ingress.proxyProtocol.smtps Enable PROXY protocol for SMTPS (465/tcp) -# ## @param ingress.proxyProtocol.submission Enable PROXY protocol for Submission (587/tcp) -# ## @param ingress.proxyProtocol.manageSieve Enable PROXY protocol for ManageSieve (4190/tcp) -# ## Enabling any of these requires to have ingress.realIpFrom set -# proxyProtocol: -# pop3: false -# pop3s: false -# imap: false -# imaps: false -# smtp: false -# smtps: false -# submission: false -# manageSieve: false - -# ## @section Proxy auth configuration -# ## ref: https://mailu.io/master/configuration.html#header-authentication-using-an-external-proxy -# proxyAuth: -# ## @param proxyAuth.whitelist Comma separated list of CIDRs of proxies to trust for authentication -# whitelist: "" - -# ## @param proxyAuth.header HTTP header containing the email address of the user to authenticate -# header: "X-Auth-Email" - -# ## @param proxyAuth.create Whether non-existing accounts should be auto-created -# create: "false" - -# ## @section Frontend load balancer for non-HTTP(s) services -front: -# ## @param front.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param front.image.repository Pod image repository -# ## @param front.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param front.image.pullPolicy Pod image pull policy - image: - repository: mailu/nginx -# tag: "" - pullPolicy: IfNotPresent - -# ## front.controller.kind Deployment only supported for now -# # controller: -# # kind: Deployment - -# ## @param front.hostPort.enabled Expose front mail ports via hostPort - hostPort: - enabled: true - -# ## Expose front mail ports via external service (ClusterIP or LoadBalancer) -# ## @param front.externalService.enabled Expose front mail ports via external service (ClusterIP or LoadBalancer) -# ## @param front.externalService.type Service type (ClusterIP or LoadBalancer) -# ## @param front.externalService.externalTrafficPolicy Service externalTrafficPolicy (Cluster or Local) -# ## @param front.externalService.loadBalancerIP Service loadBalancerIP -# ## @param front.externalService.annotations Service annotations -# ## @param front.externalService.ports.pop3 Expose POP3 port - 110/tcp -# ## @param front.externalService.ports.pop3s Expose POP3 port (TLS) - 995/tcp -# ## @param front.externalService.ports.imap Expose IMAP port - 143/tcp -# ## @param front.externalService.ports.imaps Expose IMAP port (TLS) - 993/tcp -# ## @param front.externalService.ports.smtp Expose SMTP port - 25/tcp -# ## @param front.externalService.ports.smtps Expose SMTP port (TLS) - 465/tcp -# ## @param front.externalService.ports.submission Expose Submission port - 587/tcp -# ## @param front.externalService.ports.manageSieve Expose ManageSieve port - 4190/tcp -# externalService: -# enabled: false -# type: ClusterIP -# ## Example for LoadBalancer: -# ## type: LoadBalancer -# loadBalancerIP: "" -# externalTrafficPolicy: Local -# annotations: {} -# ports: -# pop3: false -# pop3s: true -# imap: false -# imaps: true -# smtp: true -# smtps: true -# submission: false -# manageSieve: true - -# ## @param front.kind Kind of resource to create for the front (`Deployment` or `DaemonSet`) - kind: Deployment - -# ## @param front.replicaCount Number of front replicas to deploy (only for `Deployment` kind) - replicaCount: 1 - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param front.resources.limits The resources limits for the container -# ## @param front.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 200m -# ## memory: 200Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 100Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param front.livenessProbe.enabled Enable livenessProbe -# ## @param front.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param front.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param front.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param front.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param front.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param front.readinessProbe.enabled Enable readinessProbe -# ## @param front.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param front.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param front.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param front.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param front.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 1 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param front.startupProbe.enabled Enable startupProbe -# ## @param front.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param front.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param front.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param front.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param front.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 30 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## @param front.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param front.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param front.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param front.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param front.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param front.podSecurityContext.enabled Enabled pods' Security Context -# ## @param front.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param front.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param front.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param front.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param front.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param front.affinity Affinity for front pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param front.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param front.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param front.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param front.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param front.service.annotations Admin service annotations -# annotations: {} - -# ## @param front.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param front.updateStrategy.type Strategy to use to update Pods -# ## `Recreate` or `RollingUpdate` if `front.kind=Deployment` -# ## `OnDelete` or `RollingUpdate` if `front.kind=DaemonSet` -# updateStrategy: -# type: RollingUpdate - -# ## @param front.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param front.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param front.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param front.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param front.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param front.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section Admin parameters -admin: -# ## @param admin.enabled Enable access to the admin interface - enabled: true - -# ## @param admin.uri URI to access the admin interface - uri: /admin - -# ## @param admin.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param admin.image.repository Pod image repository -# ## @param admin.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param admin.image.pullPolicy Pod image pull policy - image: - repository: mailu/admin - # tag: "" - pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param admin.persistence.size Pod pvc size -# ## @param admin.persistence.storageClass Pod pvc storage class -# ## @param admin.persistence.accessModes Pod pvc access modes -# ## @param admin.persistence.claimNameOverride Pod pvc name override -# ## @param admin.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param admin.resources.limits The resources limits for the container -# ## @param admin.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 500Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 25Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param admin.livenessProbe.enabled Enable livenessProbe -# ## @param admin.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param admin.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param admin.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param admin.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param admin.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param admin.readinessProbe.enabled Enable readinessProbe -# ## @param admin.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param admin.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param admin.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param admin.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param admin.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param admin.startupProbe.enabled Enable startupProbe -# ## @param admin.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param admin.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param admin.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param admin.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param admin.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## @param admin.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param admin.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param admin.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param admin.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param admin.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param admin.podSecurityContext.enabled Enabled pods' Security Context -# ## @param admin.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param admin.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param admin.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param admin.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param admin.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param admin.affinity Affinity for admin pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param admin.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param admin.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param admin.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param admin.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param admin.service.annotations Admin service annotations -# annotations: {} - -# ## @param admin.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param admin.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param admin.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param admin.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param admin.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param admin.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param admin.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param admin.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section Redis parameters -# ## Redis chart configuration -# ## for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis -redis: -# ## @param redis.enabled Enable redis deployment through the redis subchart - enabled: true - -# ## @param redis.architecture Redis architecture. Allowed values: `standalone` or `replication` - architecture: standalone - -# ## @param redis.auth.enabled DON'T CHANGE THIS VALUE. Mailu doesn't support Redis authentication - auth: - enabled: false - - master: -# ## @param redis.master.enabled DON'T CHANGE THIS VALUE. Enable redis master - enabled: true - -# ## @param redis.master.count Number of redis master replicas - count: 1 - -# ## @param redis.master.persistence.enabled Enable persistence using Persistent Volume Claims -# ## @param redis.master.persistence.size Pod pvc size -# ## @param redis.master.persistence.storageClass Pod pvc storage class -# ## @param redis.master.persistence.accessModes Pod pvc access modes -# ## @param redis.master.persistence.annotations Pod pvc annotations -# ## @param redis.master.persistence.existingClaim Pod pvc existing claim; necessary if using single_pvc -# ## @param redis.master.persistence.subPath Subpath in PVC; necessary if using single_pvc (set it to `/redis`) -# persistence: -# enabled: true -# size: 8Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# existingClaim: "" -# subPath: "" -# annotations: {} - -# ## @param redis.replica.count Number of redis replicas (only if `redis.architecture=replication`) -# ## Don't forget to configure replicas persistence if changing this value -# replica: -# count: 0 - -# ## @section Postfix parameters -postfix: -# ## @param postfix.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param postfix.image.repository Pod image repository -# ## @param postfix.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param postfix.image.pullPolicy Pod image pull policy - image: - repository: mailu/postfix -# tag: "" - pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param postfix.persistence.size Pod pvc size -# ## @param postfix.persistence.storageClass Pod pvc storage class -# ## @param postfix.persistence.accessModes Pod pvc access modes -# ## @param postfix.persistence.claimNameOverride Pod pvc name override -# ## @param postfix.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param postfix.resources.limits The resources limits for the container -# ## @param postfix.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 2Gi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 500m -# ## memory: 2Gi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param postfix.livenessProbe.enabled Enable livenessProbe -# ## @param postfix.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param postfix.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param postfix.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param postfix.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param postfix.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param postfix.readinessProbe.enabled Enable readinessProbe -# ## @param postfix.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param postfix.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param postfix.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param postfix.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param postfix.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param postfix.startupProbe.enabled Enable startupProbe -# ## @param postfix.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param postfix.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param postfix.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param postfix.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param postfix.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: true - failureThreshold: 30 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## @param postfix.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param postfix.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param postfix.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param postfix.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param postfix.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param postfix.podSecurityContext.enabled Enabled pods' Security Context -# ## @param postfix.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param postfix.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param postfix.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param postfix.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param postfix.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param postfix.affinity Affinity for postfix pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param postfix.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param postfix.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param postfix.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param postfix.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param postfix.service.annotations Admin service annotations -# annotations: {} - -# ## @param postfix.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param postfix.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param postfix.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param postfix.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param postfix.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param postfix.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param postfix.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param postfix.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @param postfix.overrides Enable postfix overrides -# ## More info here: https://mailu.io/master/faq.html#how-can-i-override-settings -# ## Example: -# ## overrides: -# ## postfix.cf: | -# ## my_variable = my_value -# overrides: {} - -# ## @section Dovecot parameters -dovecot: -# ## @param dovecot.enabled Enable dovecot - enabled: true - -# ## @param dovecot.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param dovecot.image.repository Pod image repository -# ## @param dovecot.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param dovecot.image.pullPolicy Pod image pull policy - image: - repository: mailu/dovecot -# tag: "" - pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param dovecot.persistence.size Pod pvc size -# ## @param dovecot.persistence.storageClass Pod pvc storage class -# ## @param dovecot.persistence.accessModes Pod pvc access modes -# ## @param dovecot.persistence.claimNameOverride Pod pvc name override -# ## @param dovecot.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param dovecot.resources.limits The resources limits for the container -# ## @param dovecot.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 500Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 25Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param dovecot.livenessProbe.enabled Enable livenessProbe -# ## @param dovecot.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param dovecot.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param dovecot.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param dovecot.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param dovecot.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param dovecot.readinessProbe.enabled Enable readinessProbe -# ## @param dovecot.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param dovecot.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param dovecot.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param dovecot.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param dovecot.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param dovecot.startupProbe.enabled Enable startupProbe -# ## @param dovecot.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param dovecot.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param dovecot.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param dovecot.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param dovecot.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - -# ## @param dovecot.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param dovecot.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param dovecot.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param dovecot.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param dovecot.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param dovecot.podSecurityContext.enabled Enabled pods' Security Context -# ## @param dovecot.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param dovecot.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param dovecot.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param dovecot.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param dovecot.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param dovecot.affinity Affinity for dovecot pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param dovecot.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param dovecot.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param dovecot.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param dovecot.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param dovecot.service.annotations Admin service annotations -# annotations: {} - -# ## @param dovecot.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param dovecot.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param dovecot.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param dovecot.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param dovecot.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param dovecot.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param dovecot.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param dovecot.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @param dovecot.overrides Enable dovecot overrides -# ## Example: -# ## overrides: -# ## dovecot.conf: | -# ## # More info here: https://mailu.io/1.8/kubernetes/mailu/index.html#dovecot -# ## mail_nfs_index = yes -# ## mail_nfs_storage = yes -# ## mail_fsync = always -# ## mmap_disable = yes -# ## mail_max_userip_connections=100 -# overrides: {} - -# ## @param dovecot.compression Maildir compression algorithm (gz, bz2, lz4, zstd) -# compression: "" - -# ## @param dovecot.compressionLevel Maildir compression level (1-9) -# compressionLevel: 6 - -# ## @section rspamd parameters -rspamd: -# ## @param rspamd.enabled Enable rspamd - enabled: true -# ## @param rspamd.overrides Enable rspamd overrides -# ## More info here: https://mailu.io/master/faq.html#how-can-i-override-settings -# ## Example: -# ## overrides: -# ## fileA.conf: | -# ## obj { -# ## key = value; -# ## } -# overrides: {} - -# ## @param rspamd.antivirusAction Action to take when an virus is detected. Possible values: `reject` or `discard` - antivirusAction: "discard" - -# ## @param rspamd.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param rspamd.image.repository Pod image repository -# ## @param rspamd.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param rspamd.image.pullPolicy Pod image pull policy - image: - repository: mailu/rspamd -# tag: "" - pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param rspamd.persistence.size Pod pvc size -# ## @param rspamd.persistence.storageClass Pod pvc storage class -# ## @param rspamd.persistence.accessModes Pod pvc access modes -# ## @param rspamd.persistence.claimNameOverride Pod pvc name override -# ## @param rspamd.persistence.annotations Pod pvc annotations -# persistence: -# size: 1Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param rspamd.resources.limits The resources limits for the container -# ## @param rspamd.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 200m -# ## memory: 200Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 100m -# ## memory: 100Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param rspamd.livenessProbe.enabled Enable livenessProbe -# ## @param rspamd.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param rspamd.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param rspamd.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param rspamd.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param rspamd.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param rspamd.readinessProbe.enabled Enable readinessProbe -# ## @param rspamd.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param rspamd.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param rspamd.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param rspamd.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param rspamd.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## give it 15 minutes for initial rule compilation -# ## @param rspamd.startupProbe.enabled Enable startupProbe -# ## @param rspamd.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param rspamd.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param rspamd.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param rspamd.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param rspamd.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: true - failureThreshold: 90 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## @param rspamd.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param rspamd.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param rspamd.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param rspamd.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param rspamd.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param rspamd.podSecurityContext.enabled Enabled pods' Security Context -# ## @param rspamd.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param rspamd.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param rspamd.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param rspamd.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param rspamd.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param rspamd.affinity Affinity for rspamd pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param rspamd.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param rspamd.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param rspamd.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param rspamd.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param rspamd.service.annotations Admin service annotations -# annotations: {} - -# ## @param rspamd.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param rspamd.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param rspamd.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param rspamd.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param rspamd.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param rspamd.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param rspamd.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param rspamd.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section clamav parameters -clamav: -# ## @param clamav.enabled Enable ClamAV - enabled: true - -# ## @param clamav.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param clamav.image.repository Pod image repository -# ## @param clamav.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param clamav.image.pullPolicy Pod image pull policy -# ## @param clamav.image.registry Pod image registry (specific for clamav as it is not part of the mailu organization) - image: - repository: clamav/clamav-debian - tag: 1.2.0-6 - pullPolicy: IfNotPresent - registry: docker.io - -# ## Pod persistence (if not using single_pvc) -# persistence: -# ## @param clamav.persistence.enabled Enable persistence using PVC -# enabled: true - -# ## @param clamav.persistence.size Pod pvc size -# size: 2Gi - -# ## @param clamav.persistence.storageClass Pod pvc storage class -# storageClass: "" - -# ## @param clamav.persistence.accessModes Pod pvc access modes -# accessModes: [ReadWriteOnce] - -# ## @param clamav.persistence.annotations Pod pvc annotations -# annotations: {} - -# ## @param clamav.persistence.labels Pod pvc labels -# labels: {} - -# ## @param clamav.persistence.selector Additional labels to match for the PVC -# ## e.g: -# ## selector: -# ## matchLabels: -# ## app: my-app -# selector: {} - -# ## @param clamav.persistence.dataSource Custom PVC data source -# dataSource: {} - -# ## @param clamav.persistence.existingClaim Use a existing PVC which must be created manually before bound -# ## NOTE: requires clamav.persistence.enabled: true -# existingClaim: "" - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param clamav.resources.limits The resources limits for the container -# ## @param clamav.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 1 -# ## memory: 2Gi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 1 -# ## memory: 1Gi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param clamav.livenessProbe.enabled Enable livenessProbe -# ## @param clamav.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param clamav.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param clamav.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param clamav.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param clamav.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param clamav.readinessProbe.enabled Enable readinessProbe -# ## @param clamav.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param clamav.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param clamav.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param clamav.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param clamav.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## give it 15 minutes for initial rule compilation -# ## @param clamav.startupProbe.enabled Enable startupProbe -# ## @param clamav.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param clamav.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param clamav.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param clamav.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param clamav.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 60 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## @param clamav.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param clamav.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param clamav.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param clamav.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param clamav.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param clamav.podSecurityContext.enabled Enabled pods' Security Context -# ## @param clamav.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param clamav.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param clamav.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param clamav.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param clamav.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param clamav.affinity Affinity for clamav pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# ## clamav must share a volume with rspamd. This is usually enforced by the volume itself (RWO). If you use RWM volumes and want to -# ## have clamav running on the same node, add the following affinity rule: -# ## affinity: -# ## podAffinity: -# ## requiredDuringSchedulingIgnoredDuringExecution: -# ## - labelSelector: -# ## matchExpressions: -# ## - key: app.kubernetes.io/component -# ## operator: In -# ## values: -# ## - rspamd -# ## topologyKey: kubernetes.io/hostname -# affinity: {} - -# ## @param clamav.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param clamav.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param clamav.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param clamav.service.annotations Admin service annotations -# annotations: {} - -# ## @param clamav.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param clamav.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param clamav.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param clamav.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param clamav.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param clamav.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param clamav.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param clamav.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section webmail parameters -webmail: -# ## @param webmail.enabled Enable deployment of Roundcube webmail - enabled: true - -# ## @param webmail.uri URI to access Roundcube webmail - uri: /webmail - -# ## @param webmail.type Type of webmail to deploy (`roundcube` or `snappymail`) - type: roundcube - -# ## @param webmail.roundcubePlugins List of Roundcube plugins to enable - roundcubePlugins: - - archive - - zipdownload - - markasjunk - - managesieve - - enigma - - carddav - - mailu - -# ## @param webmail.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param webmail.image.repository Pod image repository -# ## @param webmail.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param webmail.image.pullPolicy Pod image pull policy - image: - repository: mailu/webmail - # tag: "" - pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param webmail.persistence.size Pod pvc size -# ## @param webmail.persistence.storageClass Pod pvc storage class -# ## @param webmail.persistence.accessModes Pod pvc access modes -# ## @param webmail.persistence.claimNameOverride Pod pvc name override -# ## @param webmail.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param webmail.resources.limits The resources limits for the container -# ## @param webmail.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 200m -# ## memory: 200Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 100m -# ## memory: 100Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webmail.livenessProbe.enabled Enable livenessProbe -# ## @param webmail.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param webmail.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param webmail.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param webmail.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param webmail.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webmail.readinessProbe.enabled Enable readinessProbe -# ## @param webmail.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param webmail.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param webmail.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param webmail.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param webmail.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webmail.startupProbe.enabled Enable startupProbe -# ## @param webmail.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param webmail.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param webmail.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param webmail.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param webmail.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - -# ## @param webmail.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param webmail.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param webmail.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param webmail.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param webmail.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param webmail.podSecurityContext.enabled Enabled pods' Security Context -# ## @param webmail.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param webmail.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param webmail.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param webmail.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param webmail.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param webmail.affinity Affinity for webmail pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param webmail.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param webmail.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param webmail.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param webmail.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param webmail.service.annotations Admin service annotations -# annotations: {} - -# ## @param webmail.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param webmail.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param webmail.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param webmail.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param webmail.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param webmail.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param webmail.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param webmail.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section webdav parameters -# webdav: -# ## @param webdav.enabled Enable deployment of WebDAV server (using Radicale) -# enabled: false - -# ## @param webdav.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param webdav.image.repository Pod image repository -# ## @param webdav.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param webdav.image.pullPolicy Pod image pull policy -# image: -# repository: mailu/radicale -# tag: "" -# pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param webdav.persistence.size Pod pvc size -# ## @param webdav.persistence.storageClass Pod pvc storage class -# ## @param webdav.persistence.accessModes Pod pvc access modes -# ## @param webdav.persistence.claimNameOverride Pod pvc name override -# ## @param webdav.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param webdav.resources.limits The resources limits for the container -# ## @param webdav.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 500Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 25Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webdav.livenessProbe.enabled Enable livenessProbe -# ## @param webdav.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param webdav.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param webdav.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param webdav.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param webdav.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -# livenessProbe: -# enabled: true -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webdav.readinessProbe.enabled Enable readinessProbe -# ## @param webdav.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param webdav.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param webdav.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param webdav.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param webdav.readinessProbe.successThreshold Success threshold for readinessProbe -# readinessProbe: -# enabled: true -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param webdav.startupProbe.enabled Enable startupProbe -# ## @param webdav.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param webdav.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param webdav.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param webdav.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param webdav.startupProbe.successThreshold Success threshold for startupProbe -# startupProbe: -# enabled: false -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## @param webdav.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param webdav.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param webdav.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param webdav.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param webdav.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param webdav.podSecurityContext.enabled Enabled pods' Security Context -# ## @param webdav.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param webdav.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param webdav.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param webdav.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param webdav.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param webdav.affinity Affinity for webdav pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param webdav.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param webdav.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param webdav.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param webdav.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param webdav.service.annotations Admin service annotations -# annotations: {} - -# ## @param webdav.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param webdav.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param webdav.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param webdav.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param webdav.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param webdav.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param webdav.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param webdav.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section fetchmail parameters -# fetchmail: -# ## @param fetchmail.enabled Enable deployment of fetchmail -# enabled: false - -# ## @param fetchmail.delay Delay between fetchmail runs -# delay: 600 - -# ## @param fetchmail.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param fetchmail.image.repository Pod image repository -# ## @param fetchmail.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param fetchmail.image.pullPolicy Pod image pull policy -# image: -# repository: mailu/fetchmail -# tag: "" -# pullPolicy: IfNotPresent - -# ## Pod persistence (if not using single_pvc) -# ## @param fetchmail.persistence.size Pod pvc size -# ## @param fetchmail.persistence.storageClass Pod pvc storage class -# ## @param fetchmail.persistence.accessModes Pod pvc access modes -# ## @param fetchmail.persistence.claimNameOverride Pod pvc name override -# ## @param fetchmail.persistence.annotations Pod pvc annotations -# persistence: -# size: 20Gi -# storageClass: "" -# accessModes: [ReadWriteOnce] -# claimNameOverride: "" -# annotations: {} - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param fetchmail.resources.limits The resources limits for the container -# ## @param fetchmail.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 200m -# ## memory: 200Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 100m -# ## memory: 100Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param fetchmail.livenessProbe.enabled Enable livenessProbe -# ## @param fetchmail.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param fetchmail.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param fetchmail.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param fetchmail.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param fetchmail.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -# livenessProbe: -# enabled: true -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param fetchmail.readinessProbe.enabled Enable readinessProbe -# ## @param fetchmail.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param fetchmail.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param fetchmail.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param fetchmail.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param fetchmail.readinessProbe.successThreshold Success threshold for readinessProbe -# readinessProbe: -# enabled: true -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param fetchmail.startupProbe.enabled Enable startupProbe -# ## @param fetchmail.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param fetchmail.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param fetchmail.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param fetchmail.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param fetchmail.startupProbe.successThreshold Success threshold for startupProbe -# startupProbe: -# enabled: false -# failureThreshold: 3 -# initialDelaySeconds: 10 -# periodSeconds: 10 -# successThreshold: 1 -# timeoutSeconds: 1 - -# ## @param fetchmail.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param fetchmail.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param fetchmail.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param fetchmail.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param fetchmail.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param fetchmail.podSecurityContext.enabled Enabled pods' Security Context -# ## @param fetchmail.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param fetchmail.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param fetchmail.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param fetchmail.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param fetchmail.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param fetchmail.affinity Affinity for fetchmail pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param fetchmail.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param fetchmail.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param fetchmail.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param fetchmail.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param fetchmail.service.annotations Admin service annotations -# annotations: {} - -# ## @param fetchmail.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param fetchmail.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param fetchmail.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param fetchmail.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param fetchmail.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param fetchmail.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param fetchmail.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param fetchmail.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section OLETools parameters -oletools: -# ## @param oletools.enabled Enable OLETools - enabled: true - -# ## @param oletools.logLevel Override default log level -# logLevel: "" - -# ## Pod image -# ## @param oletools.image.repository Pod image repository -# ## @param oletools.image.tag Pod image tag (defaults to mailuVersion if set, otherwise Chart.AppVersion) -# ## @param oletools.image.pullPolicy Pod image pull policy - image: - repository: mailu/oletools -# tag: "" - pullPolicy: IfNotPresent - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param oletools.resources.limits The resources limits for the container -# ## @param oletools.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 500Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 25Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param oletools.livenessProbe.enabled Enable livenessProbe -# ## @param oletools.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param oletools.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param oletools.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param oletools.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param oletools.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param oletools.readinessProbe.enabled Enable readinessProbe -# ## @param oletools.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param oletools.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param oletools.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param oletools.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param oletools.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param oletools.startupProbe.enabled Enable startupProbe -# ## @param oletools.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param oletools.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param oletools.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param oletools.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param oletools.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## @param oletools.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param oletools.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param oletools.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param oletools.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param oletools.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param oletools.podSecurityContext.enabled Enabled pods' Security Context -# ## @param oletools.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param oletools.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param oletools.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param oletools.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param oletools.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param oletools.affinity Affinity for oletools pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param oletools.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param oletools.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param oletools.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param oletools.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param oletools.service.annotations oletools service annotations -# annotations: {} - -# ## @param oletools.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param oletools.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param oletools.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param oletools.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param oletools.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param oletools.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param oletools.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param oletools.extraContainers Add additional containers to the pod -# extraContainers: [] - -# ## @section Tika parameters -tika: -# ## @param tika.enabled Enable OLETools - enabled: true - -# ## @param tika.logLevel Override default log level -# logLevel: "" - -# ## @param tika.languages Array of languages to enable (sets the FULL_TEXT_SEARCH environment variable); "off" to disable -# ## See https://doc.dovecot.org/settings/plugin/fts-plugin/#fts-languages for all available languages - languages: - - en - -# ## Pod image -# ## @param tika.image.repository Pod image repository -# ## @param tika.image.tag Pod image tag -# ## @param tika.image.pullPolicy Pod image pull policy -# ## @param tika.image.registry Pod image registry (specific for tika as it is not part of the mailu organization) - image: - repository: apache/tika - tag: 2.9.2.1-full - pullPolicy: IfNotPresent - registry: docker.io - -# ## Pod resource requests and limits -# ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ -# ## We usually recommend not to specify default resources and to leave this as a conscious -# ## choice for the user. This also increases chances charts run on environments with little -# ## resources, such as Minikube. If you do want to specify resources, uncomment the following -# ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -# ## @param tika.resources.limits The resources limits for the container -# ## @param tika.resources.requests The requested resources for the container -# ## -# resources: -# ## Example: -# ## limits: -# ## cpu: 500m -# ## memory: 500Mi -# limits: {} -# ## Examples: -# ## requests: -# ## cpu: 25m -# ## memory: 25Mi -# requests: {} - -# ## Liveness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param tika.livenessProbe.enabled Enable livenessProbe -# ## @param tika.livenessProbe.failureThreshold Failure threshold for livenessProbe -# ## @param tika.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -# ## @param tika.livenessProbe.periodSeconds Period seconds for livenessProbe -# ## @param tika.livenessProbe.successThreshold Success threshold for livenessProbe -# ## @param tika.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe - livenessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Readiness probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param tika.readinessProbe.enabled Enable readinessProbe -# ## @param tika.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -# ## @param tika.readinessProbe.periodSeconds Period seconds for readinessProbe -# ## @param tika.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -# ## @param tika.readinessProbe.failureThreshold Failure threshold for readinessProbe -# ## @param tika.readinessProbe.successThreshold Success threshold for readinessProbe - readinessProbe: - enabled: true - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## Startup probe values -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes -# ## @param tika.startupProbe.enabled Enable startupProbe -# ## @param tika.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -# ## @param tika.startupProbe.periodSeconds Period seconds for startupProbe -# ## @param tika.startupProbe.timeoutSeconds Timeout seconds for startupProbe -# ## @param tika.startupProbe.failureThreshold Failure threshold for startupProbe -# ## @param tika.startupProbe.successThreshold Success threshold for startupProbe - startupProbe: - enabled: false - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - -# ## @param tika.podLabels Add extra labels to pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -# podLabels: {} - -# ## @param tika.podAnnotations Add extra annotations to the pod -# ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -# podAnnotations: {} - -# ## ref: https://kubernetes.io/docs/user-guide/node-selection/ -# ## @param tika.nodeSelector Node labels selector for pod assignment -# nodeSelector: {} - -# ## @param tika.initContainers Add additional init containers to the pod -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ -# ## e.g: -# ## initContainers: -# ## - name: your-image-name -# ## image: your-image -# ## imagePullPolicy: Always -# ## command: ['sh', '-c', 'echo "hello world"'] -# initContainers: [] - -# ## @param tika.priorityClassName Pods' priorityClassName -# priorityClassName: "" - -# ## @param tika.podSecurityContext.enabled Enabled pods' Security Context -# ## @param tika.podSecurityContext.fsGroup Set pods' Security Context fsGroup -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# podSecurityContext: -# enabled: false -# fsGroup: 1001 - -# ## @param tika.containerSecurityContext.enabled Enabled containers' Security Context -# ## @param tika.containerSecurityContext.runAsUser Set containers' Security Context runAsUser -# ## @param tika.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot -# ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -# containerSecurityContext: -# enabled: false -# runAsUser: 1001 -# runAsNonRoot: false - -# ## @param tika.terminationGracePeriodSeconds In seconds, time given to the pod to terminate gracefully -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -# terminationGracePeriodSeconds: 2 - -# ## @param tika.affinity Affinity for tika pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -# affinity: {} - -# ## @param tika.tolerations Tolerations for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -# tolerations: [] - -# ## @param tika.revisionHistoryLimit Configure the revisionHistoryLimit of the deployment -# ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#revision-history-limit -# revisionHistoryLimit: 3 - -# ## @param tika.hostAliases Pod pod host aliases -# ## ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -# hostAliases: [] - -# ## @param tika.schedulerName Name of the k8s scheduler (other than default) -# ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -# schedulerName: "" - -# # Service parameters -# service: -# ## @param tika.service.annotations tika service annotations -# annotations: {} - -# ## @param tika.topologySpreadConstraints Topology Spread Constraints for pod assignment -# ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -# topologySpreadConstraints: [] - -# ## Strategy to use to update Pods -# ## @param tika.updateStrategy.type Can be set to RollingUpdate or OnDelete -# updateStrategy: -# type: RollingUpdate - -# ## @param tika.extraEnvVars Extra environment variable to pass to the running container -# ## For example: -# ## extraEnvVars: -# ## - name: MY_ENV_VAR -# ## value: env_var_value -# extraEnvVars: [] - -# ## @param tika.extraEnvVarsCM Name of existing ConfigMap containing extra environment variables to mount in the pod -# extraEnvVarsCM: "" - -# ## @param tika.extraEnvVarsSecret Name of existing Secret containing extra environment variables to mount in the pod -# extraEnvVarsSecret: "" - -# ## @param tika.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the pod -# extraVolumeMounts: [] - -# ## @param tika.extraVolumes Optionally specify extra list of additional volumes for the pod(s) -# extraVolumes: [] - -# ## @param tika.extraContainers Add additional containers to the pod -# extraContainers: []