## Roundcube Docker image image: roundcube/roundcubemail:{{ .Chart.AppVersion }}-fpm-alpine ## ImagePullPolicy for Roundcube Docker image imagePullPolicy: IfNotPresent ## RBAC Role Based Access Control for resources rbac: # Specifies whether RBAC resources should be created create: false rules: [] ## Enable RBAC rules # - apiGroups: # - myApiGroups # resourceNames: # - myResourceNames # resources: # - myResources # verbs: # - use ## Service Account for Deployment serviceAccount: # Specifies whether ServiceAccount resource should be created create: false # The name of the ServiceAccount to use. # If not set and create is true, a name is generated using a template name: "" additionalLabels: {} additionalAnnotations: {} ## Roundcube Core Configuration config: ## DES Key for session encryption. ## Will be generated randomly if not set. desKey: ## User interface default language. defaultLanguage: en_US ## Allow for custom skin installation skins: classic: enabled: false composerPackage: name: roundcube/classic version: 1.6.0 larry: enabled: false composerPackage: name: roundcube/larry version: 1.6.1 ## custom skin example #custom: # enabled: true # composerPackage: # name: custom (defaults to roundcube/{{ skin name }}) # version: 1.0 (defaults to rounddube version) ## User interface default skin. defaultSkin: elastic ## Plugin configuration plugins: ## https://github.com/roundcube/roundcubemail/blob/master/plugins/managesieve/config.inc.php.dist managesieve: enabled: false config: host: "%h:4190" useTls: true ## Context menu plugin: Adds context menus with common tasks to various parts of Roundcube ## https://packagist.org/packages/johndoh/contextmenu ## Example for a dynamically installed plugin (via composer) contextmenu: ## Enabled installing and loading the plugin. enabled: false ## composer package information composerPackage: name: "johndoh/contextmenu" version: "3.3" ## Maximum allowed upload file size (e.g., for attachmentes). ## Do not forget to adjust ingress accordingly, e.g., by adding the following annotation: ## nginx.ingress.kubernetes.io/proxy-body-size: 25m uploadMaxFilesize: 25M ## Custom Roundcube configuration parameters customRoundcubeConfig: | /* * Custom Roundcube Configuration values * Check https://github.com/roundcube/roundcubemail/wiki/Configuration for available options. */ // $config['skin_logo'] = ""; // $config['support_url'] = "https://roundcube.net/"; ## Custom configuration for PHP interpreter customPhpConfig: | ## Configure custom memory limit for PHP # memory_limit=128M ## Custom configuration for PHP-FPM ## Comment lines with semicolumn (;) in this file ## don't use pound (#) to comment lines customPhpFpmConfig: | ;pm.max_children=200 ;pm.status_path=/status ## Configure database creation/usage database: ## Which database source should be used ## Supported values: ## * external: Do not create a database, but use an existing external database. See `externalDatabase` for further configuration. ## * zalando-postgres: Request a database to be created by Zalando Postgres operator (https://github.com/zalando/postgres-operator, operator needs to be preinstalled) source: external ## Number of database cluster instances to be launched ## (only applicable for source=zalando-postgres) instances: ## Size of the volume to be created for the database volumeSize: 5Gi ## Name of the StorageClass to be used for the volume storageClassName: ## Configuration for an external database (not deployed within this chart) ## When working with a NetworkPolicy, add an egress rule to networkPolicy.egress.additionalRules to allow access to the database. externalDatabase: ## Type of the external database. supported: mysql, pgsql, sqlite type: pgsql ## Hostname of the external database server host: postgres13.postgres ## Port number of the external database server port: 5432 ## Database name name: roundkube ## Username for the external database server user: roundkube ## Password for the external database server password: roundkube ## IMAP settings imap: ## Hostname or IP address of your IMAP server host: mail.allarddcs.nl ## IMAP port. Default ports depending on encryption setting: ## 143 - none, STARTTLS ## 993 - SSL/TLS (recommended) port: 143 ## Transport encryption. Please change port accordingly. Allowed values: ## none - no encryption ## starttls - use STARTTLS ## ssltls - use SSL/TLS (recommended) encryption: starttls ## SMTP settings smtp: ## Hostname or IP address of your SMTP server host: mail.allarddcs.nl ## SMTP port. Default ports depending on encryption setting: ## 25 - none ## 465 - SSL/TLS ## 587 - STARTTLS (recommended) port: 587 ## Transport encryption. Please change port accordingly. Allowed values: ## none - no encryption ## starttls - use STARTTLS ## ssltls - use SSL/TLS (recommended) encryption: starttls ## SMTP username (use "%u" tp use IMAP username) username: "%u" ## SMTP password (use "%p" tp use IMAP password) password: "%p" ## Additional configuration for the ConfigMap resource configMap: ## Additional labels for the ConfigMap resource additionalLabels: {} ## Additional annotations for the ConfigMap resource additionalAnnotations: {} ## Additional configuration for the Secret resource secret: ## Additional labels for the Secret resource additionalLabels: {} ## Additional annotations for the Secret resource additionalAnnotations: {} ## Additional configuration for the Deployment resource deployment: ## Number of instances of Roundcube to be started replicas: 1 ## Deployment strategy (see https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/#DeploymentSpec) strategy: ## Deployment strategy type type: RollingUpdate ## Roundcube container's HTTP port port: 80 ## Define additional ImagePullSecrets. imagePullSecrets: ## You can refer to existing ImagePullSecrets as follows: # - name: my-custom-secret ## Additional labels for the Deployment resource additionalLabels: {} ## Additional annotations for the Deployment resource additionalAnnotations: {} ## Pod affinity rule preset (see https://docs.bitnami.com/tutorials/assign-pod-nodes-helm-affinity-rules/) podAffinityPreset: "" ## Pod anti affinity rule preset (see https://docs.bitnami.com/tutorials/assign-pod-nodes-helm-affinity-rules/) podAntiAffinityPreset: hard ## Custom affinity rules (overrides podAffinityPreset and podAntiAffinityPreset) affinity: {} ## Configure resource allocation and limits # resources: # requests: # memory: "256Mi" # cpu: "1000m" # limits: # memory: "256Mi" # cpu: "1000m" ## Allow defining custom actions to be executed before deploying main container (e.g.: to prepare database) initContainers: [] # - name: init # image: alpine:3 # command: [sh, -c] # args: # - echo "Hello, world!" > /mnt/extra-storage/test # volumeMounts: # - name: extra-storage # mountPath: /mnt/extra-storage ## Additional volume mounts for the Deployment resource additionalVolumeMounts: [] # - name: extra-storage # mountPath: /mnt/extra-storage ## Additional volumes for the Deployment resource additionalVolumes: [] # - name: extra-storage # emptyDir: {} ## Additional environment variables for the Deployment resource additionalEnv: [] # - name: MY_ENV_VAR # value: value containers: nginx: image: nginx:1.25.4 imagePullPolicy: IfNotPresent ## Additional configuration for the Service resource service: ## Service port for HTTP port: 80 ## Additional labels for the Service resource additionalLabels: {} ## Additional annotations for the Service resource additionalAnnotations: {} ## https://kubernetes.io/docs/concepts/services-networking/dual-stack/ ipFamilyPolicy: PreferDualStack ## Ingress resource configuration ingress: ## Enable Ingress resource enabled: true ## Whether deploy https or plain http ingress useTLS: true class: host: roundcube.allarddcs.nl path: "/" pathType: ImplementationSpecific Classname: nginx ## TLS settings tls: ## Configure secret name, e.g., to re-use an existing secret secretName: ## Additional labels for the Ingress resource additionalLabels: {} ## Additional annotations for the Ingress resource additionalAnnotations: {} ## PodDisruptionBudget configuration pdb: ## Enable PodDisruptionBudget enabled: true minAvailable: 1 maxUnavailable: "" ## Additional labels for the PodDisruptionBudget resource additionalLabels: {} ## Additional annotations for the PodDisruptionBudget resource additionalAnnotations: {} ## NetworkPolicy configuration ## A NetworkPolicy can prevent unauthorized access to remote hosts on network level. ## By default, if enabled, the NetworkPolicy allows to connect to any IP with the IMAP and SMTP ports configured above. ## This also applies for the managesieve plugin, if enabled. ## More information on network policies: https://kubernetes.io/docs/concepts/services-networking/network-policies/ networkPolicy: ## Create a NetworkPolicy resource enabled: false ## Egress policies for Roundcube environment egress: ## IMAP related Egress policies imap: ## Explicitely configure allowed peers for the IMAP connection. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#networkpolicypeer-v1-networking-k8s-io for all possible options. peers: - ipBlock: cidr: 0.0.0.0/0 ## SMTP related Egress policies smtp: ## Explicitely configure allowed peers for the SMTP connection. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#networkpolicypeer-v1-networking-k8s-io for all possible options. peers: - ipBlock: cidr: 0.0.0.0/0 ## managesieve related Egress policies managesieve: ## Explicitely configure allowed peers for the managesieve connection. Will only be used if managesieve plugin is enabled. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#networkpolicypeer-v1-networking-k8s-io for all possible options. peers: - ipBlock: cidr: 0.0.0.0/0 ## Add additional, custom egress rules. ## See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#networkpolicyegressrule-v1-networking-k8s-io. additionalRules: [] ## Example rule for a zalando postgres cluster called "shared-postgres" in namespace "postgres" # - to: # - namespaceSelector: # matchLabels: # kubernetes.io/metadata.name: postgres # - podSelector: # matchLabels: # cluster-name: shared-postgres # ports: # - port: 5432 # protocol: TCP ## Additional labels for the NetworkPolicy additionalLabels: {} ## Additional annotations for the NetworkPolicy additionalAnnotations: {}