Skip to content

defenseunicorns/uds-package-mattermost

Repository files navigation

🏭 UDS Mattermost Package

Latest Release Build Status OpenSSF Scorecard

This package is designed for use as part of a UDS Software Factory bundle deployed on UDS Core.

Tip

To add additional environment variables to Mattermost you can do so by overriding the extraEnv key in the uds-mattermost-config chart.

overrides:
  mattermost:
    uds-mattermost-config:
      values:
        - path: "extraEnv"
          value:
            MY_ENV_VAR: "an env var value"

Prerequisites

Mattermost requires two dependencies, postgres and s3 compatible object storage. Wiring Mattermost to your dependencies is done primarily via helm values, which will require the use of a bundle created with uds-cli.

Postgres

Postgres configuration is setup in the uds-mattermost-config chart and should be done via bundle overrides (variables or values) like the below:

    overrides:
      mattermost:
        uds-mattermost-config:
          values:
            - path: "postgres.host"
              value: "postgresql.dev-postgres.svc.cluster.local"

The full list of override config can be found in the values under postgres here. In addition a zarf var is exposed for DB_PASSWORD for convenience if using import/exports in your bundle.

S3 Compatible Object Storage

Object storage configuration is setup in the uds-mattermost-config chart and should be done via bundle overrides (variables or values) like the below:

    overrides:
      mattermost:
        uds-mattermost-config:
          values:
            - path: "objectStorage.endpoint"
              value: "minio.dev-minio.svc.cluster.local:9000"

The full list of override config can be found in the values under objectStorage here. In addition zarf vars are exposed for ACCESS_KEY and SECRET_KEY for convenience if using import/exports in your bundle.

To use IRSA make sure to NOT set the two key variables and add the appropriate role ARN annotation to the service account via an override to serviceAccount.annotations. As an example:

    overrides:
      mattermost:
        mattermost-enterprise-edition:
          values:
            - path: "serviceAccount.annotations.irsa/role-arn"
              value: "arn:aws:iam::123456789:role/mattermost-role"

Flavors

Flavor Description Example Creation
upstream Uses upstream images within the package. zarf package create . -f upstream
registry1 Uses images from registry1.dso.mil within the package. zarf package create . -f registry1

Releases

The released packages can be found in ghcr.

UDS Tasks (for local dev and CI)

*For local dev, this requires you install uds-cli

Tip: To get a list of tasks to run you can use uds run --list!

Contributing

Please see the CONTRIBUTING.md