From d0c9436c978d8a93f0c33138a452db5c67d6350c Mon Sep 17 00:00:00 2001
From: Branden Cobb <cobb_branden@bah.com>
Date: Thu, 19 Aug 2021 22:20:46 +0000
Subject: [PATCH] Mattermost Resource Request and Limits

---
 chart/values.yaml                           |  2 +-
 charter/packages/mattermost/Architecture.md | 30 +++++++--------------
 2 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/chart/values.yaml b/chart/values.yaml
index ec88e95f30..b46960a82b 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -919,7 +919,7 @@ addons:
     git:
       repo: https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost.git
       path: "./chart"
-      tag: "0.1.7-bb.1"
+      tag: "0.1.8-bb.1"
 
     # -- Flux reconciliation overrides specifically for the Mattermost Package
     flux: {}
diff --git a/charter/packages/mattermost/Architecture.md b/charter/packages/mattermost/Architecture.md
index f793d58673..6af1e04aae 100644
--- a/charter/packages/mattermost/Architecture.md
+++ b/charter/packages/mattermost/Architecture.md
@@ -90,41 +90,31 @@ The Mattermost Operator ships by default with health checks on the address `/api
 
 ## High Availability
 
-**Important Note:** Mattermost by default handles scaling and what it interprets as your needs based upon the users it is configured for. See this note from the Mattermost Operator:
-
-```plaintext
-Size defines the size of the Mattermost. This is typically
-specified in number of users. This will override replica and resource
-requests/limits appropriately for the provided number of users.
-values of resources. Accepted values are: 100users, 1000users, 5000users,
-10000users, and 250000users. If replicas and resource requests/limits
-are not specified, and Size is not provided the configuration for
-5000users will be applied. Setting ''Replicas'', ''Scheduling.Resources'',
-''FileStore.Replicas'', ''FileStore.Resource'', ''Database.Replicas'',
-or ''Database.Resources'' will override the values set by Size.
-Setting new Size will override previous values regardless if set
-by Size or manually.
-```
+**To allow for defining replica count and resource requests/limits, `users` is set to `null` by default. Changing this will negate these values and mattermost may not run due to OPA Gatekeeper constraints.**
 
-To update the "size" (`users` value) for Mattermost, you need to override the default of 100 in your values (note you do not need to include the word `users` since Big Bang handles this for you), as an example to set 1000:
+To set a replica count greater than 1 requires an enterprise license, and can be configured like the following example:
 
 ```yaml
 addons:
   mattermost:
     values:
-      users: 1000
+      enterprise:
+        enabled: true
+      replicaCount: 3
 ```
 
-To override Mattermost's handling of replicas and explicitly set replicas you can specify this workaround in your values:
+**Setting a user value is not supported due to OPA constraint issues**
+
+If you want to use Mattermost's user/size value you will need to handle OPA violations and exceptions yourself since this is **not BB supported.** If all of these considerations have been accounted for and you still want to deploy with Mattermost's user sizing it can be done by setting the value as in this example:
 
 ```yaml
 addons:
   mattermost:
     values:
-      users: null
-      replicaCount: 3
+      users: 1000
 ```
 
+
 ## Single Sign On (SSO)
 
 SSO is built in for Mattermost and Big Bang uses the [Gitlab SSO integration](https://docs.mattermost.com/deployment/sso-gitlab.html) as its implementation since this option is available at the free tier. Mattermost also provides OAuth and SAML integration as paid features for its [enterprise tiers](#licensing) if you wish to use those.
-- 
GitLab