Skip to content

mattermost values.yaml

domain

Type: string

Default value
"dev.bigbang.mil"

istio.enabled

Type: bool

Default value
false

Description: Toggle istio integration

istio.injection

Type: string

Default value
"disabled"

Description: Istio sidecar injection mode (enabled, disabled, or empty for no label)

istio.mtls

Type: object

Default value
mode: STRICT

Description: Mutual TLS configuration

istio.mtls.mode

Type: string

Default value
"STRICT"

Description: STRICT = Allow only mutual TLS traffic, PERMISSIVE = Allow both plain text and mutual TLS traffic

istio.sidecar

Type: object

Default value
enabled: true
outboundTrafficPolicyMode: REGISTRY_ONLY

Description: Sidecar configuration for Istio

istio.sidecar.enabled

Type: bool

Default value
true

Description: Enable/disable Istio Sidecar resource (restricts outbound traffic)

istio.sidecar.outboundTrafficPolicyMode

Type: string

Default value
"REGISTRY_ONLY"

Description: Outbound traffic policy mode (REGISTRY_ONLY or ALLOW_ANY)

istio.serviceEntries

Type: object

Default value
custom: []

Description: Service Entries Configuration

istio.serviceEntries.custom

Type: list

Default value
[]

Description: List of custom Istio ServiceEntry resources

istio.authorizationPolicies

Type: object

Default value
additionalPolicies: {}
custom: []
enabled: true
generateFromNetpol: true

Description: Authorization Policies Configuration

istio.authorizationPolicies.enabled

Type: bool

Default value
true

Description: Enable/disable the generation of Istio AuthorizationPolicies

istio.authorizationPolicies.generateFromNetpol

Type: bool

Default value
true

Description: Generate AuthorizationPolicies from NetworkPolicy configurations

istio.authorizationPolicies.custom

Type: list

Default value
[]

Description: Custom authorization policies - additional policies added via additionalPolicies

istio.authorizationPolicies.additionalPolicies

Type: object

Default value
{}

Description: Additional authorization policies (map format)

routes

Type: object

Default value
inbound:
  chat:
    enabled: true
    gateways:
    - istio-gateway/public-ingressgateway
    hosts:
    - chat.{{ .Values.domain }}
    port: 8065
    selector:
      app: mattermost
    service: '{{ .Release.Name }}'
outbound:
  mattermost-external:
    enabled: true
    hosts:
    - securityupdatecheck.mattermost.com
    - customers.mattermost.com
    - notices.mattermost.com
    - api.integrations.mattermost.com
    - pdat.matterlytics.com
    - api.github.com
    ports:
    - name: https
      number: 443
      protocol: TLS
  mattermost-sentry:
    enabled: true
    hosts:
    - '*.ingest.us.sentry.io'
    resolution: NONE
  sso:
    enabled: false
    hosts:
    - '{{ include "sso.host" . }}'
    ports:
    - name: https
      number: 443
      protocol: TLS

Description: Routes configuration for bb-common

routes.inbound

Type: object

Default value
chat:
  enabled: true
  gateways:
  - istio-gateway/public-ingressgateway
  hosts:
  - chat.{{ .Values.domain }}
  port: 8065
  selector:
    app: mattermost
  service: '{{ .Release.Name }}'

Description: Inbound routes (creates VirtualService, ServiceEntry, NetworkPolicy, AuthorizationPolicy)

routes.outbound

Type: object

Default value
mattermost-external:
  enabled: true
  hosts:
  - securityupdatecheck.mattermost.com
  - customers.mattermost.com
  - notices.mattermost.com
  - api.integrations.mattermost.com
  - pdat.matterlytics.com
  - api.github.com
  ports:
  - name: https
    number: 443
    protocol: TLS
mattermost-sentry:
  enabled: true
  hosts:
  - '*.ingest.us.sentry.io'
  resolution: NONE
sso:
  enabled: false
  hosts:
  - '{{ include "sso.host" . }}'
  ports:
  - name: https
    number: 443
    protocol: TLS

Description: Outbound routes (creates ServiceEntry for egress traffic)

routes.outbound.mattermost-external

Type: object

Default value
enabled: true
hosts:
- securityupdatecheck.mattermost.com
- customers.mattermost.com
- notices.mattermost.com
- api.integrations.mattermost.com
- pdat.matterlytics.com
- api.github.com
ports:
- name: https
  number: 443
  protocol: TLS

Description: Mattermost external services (update checks, notices, integrations, analytics)

routes.outbound.mattermost-sentry

Type: object

Default value
enabled: true
hosts:
- '*.ingest.us.sentry.io'
resolution: NONE

Description: Mattermost Sentry Integration

routes.outbound.sso

Type: object

Default value
enabled: false
hosts:
- '{{ include "sso.host" . }}'
ports:
- name: https
  number: 443
  protocol: TLS

Description: SSO provider service entry (enables SSO authentication in REGISTRY_ONLY mode)

ingress

Type: object

Default value
annotations: {}
enabled: false
host: ''
tlsSecret: ''

Description: Specification to configure an Ingress with Mattermost

monitoring.enabled

Type: bool

Default value
false

monitoring.namespace

Type: string

Default value
"monitoring"

monitoring.serviceMonitor.enabled

Type: bool

Default value
false

monitoring.serviceMonitor.scheme

Type: string

Default value
"http"

monitoring.serviceMonitor.tlsConfig

Type: object

Default value
{}

networkPolicies.enabled

Type: bool

Default value
false

networkPolicies.ingress.to.mattermost:8067

Type: object

Default value
from:
  k8s:
    monitoring/prometheus: true

Description: Mattermost metrics ingress from monitoring

networkPolicies.ingress.to.minio:9000

Type: object

Default value
from:
  k8s:
    minio-operator/*: true
podSelector:
  matchLabels:
    app: minio

Description: Minio ingress from minio-operator

networkPolicies.ingress.to.minio-metrics

Type: object

Default value
from:
  k8s:
    monitoring/prometheus: true
podSelector:
  matchLabels:
    app: minio
    v1.min.io/tenant: mattermost-minio

Description: Minio metrics ingress from monitoring

networkPolicies.egress.definitions.storage-subnets

Type: object

Default value
to:
- ipBlock:
    cidr: 0.0.0.0/0
    except:
    - 169.254.169.254/32

Description: Storage subnets for S3-compatible storage (override in Big Bang)

networkPolicies.egress.definitions.sentry-subnets.to[0].ipBlock.cidr

Type: string

Default value
"34.102.210.18/32"

networkPolicies.egress.definitions.sentry-subnets.to[1].ipBlock.cidr

Type: string

Default value
"34.160.81.0/32"

networkPolicies.egress.definitions.sentry-subnets.ports[0].port

Type: int

Default value
443

networkPolicies.egress.definitions.sentry-subnets.ports[0].protocol

Type: string

Default value
"TCP"

networkPolicies.egress.from.mattermost

Type: object

Default value
to:
  definition:
    sentry-subnets: true
  k8s:
    logging/elasticsearch:9200:
      podSelector:
        matchLabels:
          common.k8s.elastic.co/type: elasticsearch

Description: Mattermost app egress (external integrations, updates, elasticsearch, etc.)

networkPolicies.egress.from.wait-job

Type: object

Default value
podSelector:
  matchLabels:
    job-name: '{{ .Release.Name }}-wait-job'
to:
  definition:
    kubeAPI: true

Description: Wait job egress to kubeAPI

networkPolicies.egress.from.minio

Type: object

Default value
to:
  definition:
    kubeAPI: true
    storage-subnets: true
  k8s:
    minio-operator/minio-operator:4222: true

Description: Minio egress to minio-operator and storage

networkPolicies.egress.from.minio.to.definition

Type: object

Default value
kubeAPI: true
storage-subnets: true

Description: Minio egress to storage subnets (for external S3-compatible storage)

networkPolicies.egress.from.update-check

Type: object

Default value
podSelector:
  matchLabels:
    app: mattermost-update-check
to:
  cidr:
    0.0.0.0/0: true

Description: Update check job egress

networkPolicies.egress.from.tempo

Type: object

Default value
to:
  k8s:
    tempo/tempo:9411: true

Description: Tempo egress (when istio injection is enabled)

networkPolicies.additionalPolicies

Type: list

Default value
[]

sso.enabled

Type: bool

Default value
false

sso.client_id

Type: string

Default value
"platform1_a8604cc9-f5e9-4656-802d-d05624370245_bb8-mattermost"

sso.client_secret

Type: string

Default value
"nothing"

sso.auth_endpoint

Type: string

Default value
"https://login.dso.mil/auth/realms/baby-yoda/protocol/openid-connect/auth"

sso.token_endpoint

Type: string

Default value
"https://login.dso.mil/auth/realms/baby-yoda/protocol/openid-connect/token"

sso.user_api_endpoint

Type: string

Default value
"https://login.dso.mil/auth/realms/baby-yoda/protocol/openid-connect/userinfo"

sso.enable_sign_up_with_email

Type: bool

Default value
false

sso.enable_sign_in_with_email

Type: bool

Default value
false

sso.enable_sign_in_with_username

Type: bool

Default value
false

image.name

Type: string

Default value
"registry1.dso.mil/ironbank/opensource/mattermost/mattermost"

image.tag

Type: string

Default value
"11.10.0"

image.imagePullPolicy

Type: string

Default value
"IfNotPresent"

global.imagePullSecrets[0].name

Type: string

Default value
"private-registry"

replicaCount

Type: int

Default value
1

users

Type: string

Default value
nil

enterprise.enabled

Type: bool

Default value
false

enterprise.existingSecret

Type: string

Default value
""

Description: Existing Kubernetes secret containing the Mattermost enterprise license under the key license

enterprise.license

Type: string

Default value
""

Description: Mattermost enterprise license content. When set, Helm creates a managed secret automatically.

nameOverride

Type: string

Default value
""

updateJob.disabled

Type: bool

Default value
true

Description: Must be disabled when Istio injected

updateJob.labels

Type: object

Default value
{}

updateJob.annotations

Type: object

Default value
{}

resources.limits.cpu

Type: int

Default value
2

resources.limits.memory

Type: string

Default value
"4Gi"

resources.requests.cpu

Type: int

Default value
2

resources.requests.memory

Type: string

Default value
"4Gi"

affinity

Type: object

Default value
{}

nodeSelector

Type: object

Default value
{}

tolerations

Type: object

Default value
{}

mattermostEnvs

Type: object

Default value
{}

existingSecretEnvs

Type: object

Default value
{}

volumes

Type: object

Default value
{}

volumeMounts

Type: object

Default value
{}

podLabels

Type: object

Default value
{}

Description: Pod labels for Mattermost server pods

podAnnotations

Type: object

Default value
{}

Description: Pod annotations for Mattermost server pods

securityContext

Type: object

Default value
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 2000

Description: securityContext for Mattermost server pods

containerSecurityContext

Type: object

Default value
capabilities:
  drop:
  - ALL
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 2000

Description: containerSecurityContext for Mattermost server containers

minio.install

Type: bool

Default value
false

minio.service.nameOverride

Type: string

Default value
"minio.mattermost.svc.cluster.local"

minio.upstream.tenant.name

Type: string

Default value
"mattermost-minio"

minio.upstream.tenant.pools[0].name

Type: string

Default value
"pool-0"

minio.upstream.tenant.pools[0].labels.app

Type: string

Default value
"minio"

minio.upstream.tenant.pools[0].labels.”app.kubernetes.io/name”

Type: string

Default value
"minio"

minio.upstream.tenant.configSecret.name

Type: string

Default value
"minio-creds-secret"

minio.upstream.tenant.buckets[0].name

Type: string

Default value
"mattermost"

minio.waitJob.enabled

Type: bool

Default value
false

postgresql.install

Type: bool

Default value
false

postgresql.global.security.allowInsecureImages

Type: bool

Default value
true

Description: Allow registry1.dso.mil in lieu of the default bitnami registry

postgresql.image.registry

Type: string

Default value
"registry1.dso.mil/ironbank"

postgresql.image.repository

Type: string

Default value
"opensource/postgres/postgresql"

postgresql.image.tag

Type: string

Default value
"18.4"

postgresql.image.pullSecrets[0]

Type: string

Default value
"private-registry"

postgresql.auth.username

Type: string

Default value
"mattermost"

postgresql.auth.password

Type: string

Default value
"bigbang"

postgresql.auth.database

Type: string

Default value
"mattermost"

postgresql.fullnameOverride

Type: string

Default value
"mattermost-postgresql"

postgresql.primary.extraVolumes[0].name

Type: string

Default value
"run-postgresql"

postgresql.primary.extraVolumes[0].emptyDir

Type: object

Default value
{}

postgresql.primary.extraVolumeMounts[0].name

Type: string

Default value
"run-postgresql"

postgresql.primary.extraVolumeMounts[0].mountPath

Type: string

Default value
"/run/postgresql"

postgresql.securityContext.fsGroup

Type: int

Default value
26

postgresql.containerSecurityContext.runAsUser

Type: int

Default value
26

postgresql.containerSecurityContext.runAsNonRoot

Type: bool

Default value
true

postgresql.containerSecurityContext.capabilities.drop[0]

Type: string

Default value
"ALL"

postgresql.volumePermissions.securityContext.capabilities.drop[0]

Type: string

Default value
"ALL"

postgresql.pgHbaConfiguration

Type: string

Default value
"local all all md5\nhost all all all md5"

database.secret

Type: string

Default value
""

database.readinessCheck.disableDefault

Type: bool

Default value
true

database.readinessCheck.image

Type: string

Default value
"registry1.dso.mil/ironbank/opensource/postgres/postgresql:18.4"

database.readinessCheck.command[0]

Type: string

Default value
"/bin/sh"

database.readinessCheck.command[1]

Type: string

Default value
"-c"

database.readinessCheck.command[2]

Type: string

Default value
"until pg_isready --dbname=\"$DB_CONNECTION_CHECK_URL\"; do echo waiting for database; sleep 5; done;"

database.readinessCheck.env[0].name

Type: string

Default value
"DB_CONNECTION_CHECK_URL"

database.readinessCheck.env[0].valueFrom.secretKeyRef.key

Type: string

Default value
"DB_CONNECTION_CHECK_URL"

database.readinessCheck.env[0].valueFrom.secretKeyRef.name

Type: string

Default value
"{{ .Values.database.secret | default (printf \"%s-dbcreds\" (include \"mattermost.fullname\" .)) }}"

fileStore.secret

Type: string

Default value
""

fileStore.url

Type: string

Default value
""

fileStore.bucket

Type: string

Default value
""

fileStore.roleARN

Type: string

Default value
""

elasticsearch.enabled

Type: bool

Default value
false

elasticsearch.connectionurl

Type: string

Default value
"https://logging-ek-es-http.logging.svc.cluster.local:9200"

elasticsearch.username

Type: string

Default value
""

elasticsearch.password

Type: string

Default value
""

elasticsearch.enableindexing

Type: bool

Default value
true

elasticsearch.indexprefix

Type: string

Default value
"mm-"

elasticsearch.skiptlsverification

Type: bool

Default value
true

elasticsearch.bulkindexingtimewindowseconds

Type: int

Default value
3600

elasticsearch.sniff

Type: bool

Default value
false

elasticsearch.enablesearching

Type: bool

Default value
true

elasticsearch.enableautocomplete

Type: bool

Default value
true

openshift

Type: bool

Default value
false

resourcePatch

Type: object

Default value
{}

bbtests.enabled

Type: bool

Default value
false

bbtests.cypress.artifacts

Type: bool

Default value
true

bbtests.cypress.envs.cypress_url

Type: string

Default value
"http://mattermost.mattermost.svc.cluster.local:8065"

bbtests.cypress.envs.cypress_mm_email

Type: string

Default value
"test@bigbang.dev"

bbtests.cypress.envs.cypress_mm_user

Type: string

Default value
"bigbang"

bbtests.cypress.envs.cypress_mm_password

Type: string

Default value
"Bigbang#123"

bbtests.cypress.envs.cypress_waittime

Type: string

Default value
"5000"

bbtests.cypress.envs.cypress_tnr_username

Type: string

Default value
"cypress"

bbtests.cypress.envs.cypress_tnr_password

Type: string

Default value
"tnr_w!G33ZyAt@C8"

waitJob.enabled

Type: bool

Default value
true

waitJob.permissions.apiGroups[0]

Type: string

Default value
"installation.mattermost.com"

waitJob.permissions.resources[0]

Type: string

Default value
"mattermosts"