# Default values for a mailserver.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

#####################################################
# General settings valid for all pods
#####################################################
# $affinityLabel - the key of the node label for affinity stickiness
# $environment     - the node label value for key "mailserver/environment" to stick the pod to a certain node in your cluster
# $imagePullPolicy - The image pull policy used in the pods
affinityLabel: &default_affinity_label "mailserver/environment"
environment: &default_environment "production"
imagePullPolicy: &default_pull_policy "IfNotPresent"

########################################################################################
# MariaDB settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/mariadb/values.yaml
########################################################################################
mariadb:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues:
    - *default_environment
  environment: *default_environment
  secret:
    name: ""
    passwordKey: password
  rootPassword: "my-db-root-password"

########################################################################################
# Postfix settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/postfix/values.yaml
########################################################################################
postfix:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues: 
    - *default_environment
  volumeClaims:
    mailboxes: "mailserver-mailboxes"
    spool: "mailserver-spool"
  service:
    ipFamilyPolicy: SingleStack
    externalTrafficPolicy: Local
    externalIPs: 
    - "your-external-ip"
  dbHostname: "mailserver-mariadb"
  dbName: "mailserver_mail"
  dbSecret:
    name: ""
    usernameKey: username
    passwordKey: password
    setupPasswordKey: setupPassword
  dbUser: "postfix"
  dbPassword: "my-db-postfix-password"
  dbSetupPassword: "my-db-root-password"
  defaultDomain: "my-domain.tld"
  serverName: "my-mailserver"
  origin: "my-domain.tld"
  enableDkim: true
  tlsAdminEmail: "tls-admin@my-domain.tld"
  tlsCreateSecret: true
  tlsCertificateChain: ""
  tlsCertificate: ""
  tlsKey: ""

########################################################################################
# Amavis settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/amavis/values.yaml
########################################################################################
amavis:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues: 
    - *default_environment
  defaultDomain: "my-domain.tld"
  virusAdminEmail: "virus-admin@my-domain.tld"
  volumeClaims:
    virusmails: "mailserver-virusmails"

########################################################################################
# OpenDKIM settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/opendkim/values.yaml
########################################################################################
opendkim:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues: 
    - *default_environment
  defaultDomain: "my-domain.tld"
  dbHostname: "mailserver-mariadb"
  dbName: "mailserver_opendkim"
  dbSecret:
    name: ""
    usernameKey: username
    passwordKey: password
    setupPasswordKey: setupPassword
  dbUser: "opendkim"
  dbPassword: "my-db-opendkim-password"
  dbSetupPassword: "my-db-root-password"

###########################################################################################
# PostfixAdmin settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/postfixadmin/values.yaml
###########################################################################################
postfixadmin:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues: 
    - *default_environment
  dbHostname: "mailserver-mariadb"
  dbName: "mailserver_mail"
  dbSecret:
    name: ""
    usernameKey: username
    passwordKey: password
  dbUser: "postfixadmin"
  dbPassword: "my-db-postfix-password"
  mailserverHostname: "mailserver-postfix"
  setupSecret:
    name: ""
    key: password
  abuseEmail: "abuse@my-domain.tld"
  hostmasterEmail: "hostmaster@my-domain.tld"
  postmasterEmail: "postmaster@my-domain.tld"
  webmasterEmail: "webmaster@my-domain.tld"

########################################################################################
# Roundcube settings
# see: https://github.com/technicalguru/helm-repo/blob/master/src/roundcube/values.yaml
########################################################################################
roundcube:
  enabled: true
  image:
    pullPolicy: *default_pull_policy
  affinity:
    enabled: true
    nodeLabel: *default_affinity_label
    nodeValues: 
    - *default_environment
  dbHostname: "mailserver-mariadb"
  dbName: "mailserver_roundcube"
  dbSecret:
    name: ""
    usernameKey: username
    passwordKey: password
  dbUser: "roundcube"
  dbPassword: "my-db-roundcube-password"
  defaultDomain: "my-domain.tld"
  desSecret:
    name: ""
    key: desKey
  desKey: ""