Data Platform/Systems/Growthbook
We run an instance of GrowthBook intended to facilitate the following aspects of Wikimedia's experimentation platform Test Kitchen:
- Configuration of experiments, replacing Test Kitchen User Interface (TK UI).
- Analysis of experiments, replacing Test Kitchen Automated Analytics (TK AA).
The instance is self-hosted and uses FerretDB (open source MongoDB alternative) for data storage.
Readiness checklist
Paste the following into a Phabricator task for updating/upgrading:
Staging: [ ] Loads, can log in [ ] Connections still work (Data Source > Presto Analytics Test Hive|Iceberg > View SQL Explorer) [ ] Can query `SELECT 1` in Presto Analytics Test Hive [ ] Can query `SELECT 1` in Presto Analytics Test Iceberg [ ] No requests to third parties introduced (use Network tab in your browser's Developer Tools to verify) Production: [ ] Any currently running experiment's results are successfully refreshed (use Update button)
Mainly this helps us verify that the new build still works with our setup which uses the Presto connector with Kerberos authentication.
Instances
| Attribute | Value |
|---|---|
| Owner | DPE SRE |
| Kubernetes Cluster | dse-k8s-eqiad
|
| Kubernetes Namespace | growthbook-next
|
| Chart | https://gerrit.wikimedia.org/r/plugins/gitiles/operations/deployment-charts/+/master/charts/growthbook |
| Helmfiles | https://gerrit.wikimedia.org/r/plugins/gitiles/operations/deployment-charts/+/master/helmfile.d/dse-k8s-services/growthbook-next/helmfile.yaml |
| Docker image | https://gitlab.wikimedia.org/repos/data-engineering/growthbook/ |
| Internal service DNS | growthbook-next.discovery.wmnet
|
| Public service URL | https://growthbook-next.wikimedia.org |
| Logs | {{{logsUrl}}} |
| Metrics | {{{metricsDashboardUrl}}} |
| Monitors | {{{monitorsUrl}}} |
| Application documentation | https://docs.growthbook.io/ |
| Paging | false |
| Deployment Phabricator ticket | https://phabricator.wikimedia.org/T405749 |
| Attribute | Value |
|---|---|
| Owner | DPE SRE |
| Kubernetes Cluster | dse-k8s-eqiad
|
| Kubernetes Namespace | growthbook
|
| Chart | https://gerrit.wikimedia.org/r/plugins/gitiles/operations/deployment-charts/+/master/charts/growthbook |
| Helmfiles | https://gerrit.wikimedia.org/r/plugins/gitiles/operations/deployment-charts/+/master/helmfile.d/dse-k8s-services/growthbook/helmfile.yaml |
| Docker image | https://gitlab.wikimedia.org/repos/data-engineering/growthbook/ |
| Internal service DNS | growthbook.discovery.wmnet
|
| Public service URL | https://growthbook.wikimedia.org |
| Logs | {{{logsUrl}}} |
| Metrics | {{{metricsDashboardUrl}}} |
| Monitors | {{{monitorsUrl}}} |
| Application documentation | https://docs.growthbook.io/ |
| Paging | false |
| Deployment Phabricator ticket | https://phabricator.wikimedia.org/T405749 |
Requesting Access
Our GrowthBook installations work with 3 distinct levels of access, mapped to 3 distinct LDAP groups:
| LDAP group | GrowthBook Role | Description |
|---|---|---|
| growthbook-readonly | Read Only | Can only observe data and experiments in a read-only fashion. This would be the bulk of user seats, and is the default role. |
| growhtbook-customelevatedaccess | CustomElevatedAccess | Meant for people who need to drive experiment and data analysis configuration. It's expected this will usually be A/B test fluent people with software/data/research engineer/scientist/analyst titles |
| growthbook-admin | Admin | Full R/W access to all growthbook features and settings |
Note: the Read Only and Admin roles are directly defined in Growthbook upstream and associated permissions are detailed here https://docs.growthbook.io/account/user-permissions#permissions.
The CustomElevatedAccess role has all of the Read Only permissions and the following permissions:
- Experiments Full Access
- Create, edit, and delete experiments
- Run Queries
- Execute queries against data sources. Required to refresh experiment results. Does not include SQL Explorer access.
- Metrics Full Access
- Create, edit, and delete regular metrics (does not include Fact Metrics)
- Fact Tables Full Access
- Create, edit, and delete fact tables, metrics, and filters.
- Fact Metrics Full Access
- Create, edit, and delete fact metrics and filters.
- Tags Full Access
- Create, edit, and delete tags
To get access to either of these roles, a user should go to https://idm.wikimedia.org/permissions and request access. A member of Experiment Platform Team (or other GrowthBook Admin if no Experiment Platform Team member is available) will review the request.