Skip to content

Product Analytics Kubernetes Architecture

This document outlines how the product analytics stack is deployed and managed internally for GitLab’s customers.

Product Analytics is hosted in the following GKE clusters:

  • pre-gitlab-gke (Development)
  • gstg-gitlab-gke (Staging) - Note: Not yet deployed
  • gprd-gitlab-gke (Production) - Note: Not yet deployed

All clusters are accessible via the GCP Console.

For direct Kubernetes API access to the clusters, follow this guide on setting up direct access.

How to Update the Analytics-Stack Deployment Chart

Section titled “How to Update the Analytics-Stack Deployment Chart”

The product analytics chart is deployed to GKE via the gitlab-helmfiles repository, which can be found here.

The analytics-stack chart values file is located in the same repository here.

To update the Helm chart version used by the gitlab-helmfiles repository, modify the chart version here.

Before merging or updating the chart, ensure that the release has been published in the public analytics-stack repository, which can be found here.

The product analytics chart uses GitLab’s Vault External Secrets provider to ensure that no confidential values are publicly available.

All analytics values can be modified using the Vault UI or programmatically with Vault credentials. An example of the pre-gitlab-gke Vault values can be found here. Once the values have been added to your Vault, you can add/edit the values.yaml.gotmpl file. Once deployed, the external-secrets operator will ensure that the secret exists in the desired namespace for your deployment.