Installing the Grafbase Enterprise Platform

The Grafbase Enterprise Platform is distributed as a Helm chart that can be installed on any Kubernetes cluster. Please contact sales to get the needed credentials to access the charts and container images.

Before you start the installation, make sure you have the following prerequisites:

  • A Kubernetes cluster with at least 4 CPU and 8 GB of memory.
  • Helm 3 installed on your local machine.
  • Helmfile installed on your local machine.
  • Kubernetes CLI installed on your local machine.

The Grafbase Helm chart is hosted on our private repository. To install the Grafbase Enterprise Platform, you need to add the repository to your Helm configuration:

helm registry login helm.grafbase.com --username <username> --password-stdin

The next step is to create a kubernetes namespace for the enterprise platform. When done, you can start defining the helmfile configuration:

releases: - name: enterprise-platform chart: oci://helm.grafbase.com/enterprise-platform/unstable/enterprise-platform version: <version> namespace: default createNamespace: true values: - ./values.yaml.gotmpl secrets: - ./secrets.yaml

The values.yaml.gotmpl and secrets.yaml files should be created in the same directory as the helmfile configuration. The values.yaml.gotmpl file should contain the configuration for the Grafbase Enterprise Platform, and the secrets.yaml file should contain the secrets for the platform.

The first thing is to define the services that you want to install to the Grafbase Enterprise Platform cluster. To start, you can enable all services to play with the cluster:

global: zitadel: enabled: true postgres: enabled: true clickhouse: enabled: true minio: enabled: true kafka: enabled: true telemetrySink: enabled: true otelCollector: enabled: true dashboard: enabled: true

In a production environment, you might want to disable some services that you don't need. In general it is advised to have at least the following services enabled:

  • API: The Grafbase API that provides a GraphQL interface to interact with the platform. (configuration values)
  • Dashboard: The Grafbase Dashboard that allows you to manage your federated graph from the browser. (configuration values)
  • TelemetrySink: The telemetry sink that collects telemetry data from the platform. (configuration values)
  • OtelCollector: The OpenTelemetry collector that aggregates telemetry data from Kafka to ClickHouse. (configuration values)
  • Zitadel: The identity provider for the platform (configuration values)

Additionally, you might want to enable the following services:

By default, the Grafbase CLI uses the Grafbase Cloud Platform. To use the Grafbase Enterprise Platform, you need to configure the CLI to use your platform. You can do this by defining the URL to your local installation in the CLI login command:

grafbase login --url https://<your-enterprise-platform-url>

After logging in, you can use the CLI to interact with your Grafbase Enterprise Platform installation.

The Grafbase Gateway uses the Enterprise Platform for two things

  • To fetch the latest graph from the Graph Delivery Network.
  • To store the telemetry data for the analytics and tracing dashboards.

Currently the Graph Delivery Network is not yet implemented for self-hosted instances, so you need to deploy the latest federated graph with the Grafbase Gateway. You must change the telemetry sink URL by setting the GRAFBASE_OTEL_URL environment variable in the Grafbase Gateway deployment to the URL of the Telemetry Sink chart.