Overview of the datahub-mae-consumer Helm chart
masterdatahub-mae-consumer Helm chart is a subchart used to deploy the DataHub Metadata Abstraction Engine (MAE) consumer component within a DataHub deployment. The current chart version is 0.2.0.repository·master·Indexed 41 days ago
https://github.com/acryldata/datahub-helmHelm charts for deploying DataHub and its required infrastructure, including Kafka, Elasticsearch, MySQL, and PostgreSQL, on Kubernetes clusters. Includes configuration for the Generalized Metadata Service (GMS), frontend HPA settings, ingestion cronjobs, and global service endpoints.
datahub-mae-consumer Helm chart is a subchart used to deploy the DataHub Metadata Abstraction Engine (MAE) consumer component within a DataHub deployment. The current chart version is 0.2.0.This document serves as the comprehensive reference for all configurable values within the DataHub Helm chart. It covers global configurations, Elasticsearch settings, semantic search, and object storage.
Important Version Defaults (v1.7.0):
global.datahub.systemUpdate.zdu.enable: Defaults to true. When enabled (ZDU_STAGE_20), scale-down operations are suppressed while ZDU is active.global.datahub.i18n.enabled: Defaults to true.global.datahub.encryptionKey.callerGuardMode: Defaults to ENFORCE. In this mode, browser/user-PAT secret decryption is blocked. To bypass this, use datahub-actions with system credentials.datahub-gms.theme_v2.toggeable: Defaults to false (enables V2-only UI).global.datahub.objectStorage instead of the legacy global.datahub.gms.s3 configuration.datahub-ingestion-cron Helm chart is designed to deploy DataHub's metadata-ingestion framework. It specifically includes support for Kerberos authentication, allowing for scheduled ingestion tasks within a Kubernetes environment.datahub-frontend Helm chart is a subchart used to deploy the DataHub frontend component within a Kubernetes cluster. It is part of the larger DataHub Helm deployment suite.DataHub is deployed as a set of subcharts under the main datahub Helm chart.
The components rely on the following infrastructure, which should be deployed via the datahub-prerequisites chart or managed externally:
Semantic search enables vector similarity search, allowing users to find entities based on meaning rather than just keywords.
Requirements:
document entity type is officially supported.Key Configuration Parameters:
global.datahub.semantic_search.enabled: Set to true to enable.global.datahub.semantic_search.enabledEntities: Comma-separated list of entity types (default: "document").global.datahub.semantic_search.vectorDimension: CRITICAL. This must exactly match your embedding model's output dimension. Mismatches will cause semantic search to fail.Dimension Reference:
text-embedding-3-large: 3072text-embedding-3-small: 1536Cohere/Bedrock: 1024The Entity Graph Cache is an opt-in GMS-only feature for caching domain/container/glossary hierarchies and group membership.
Usage Notes:
false).ENTITY_GRAPH_CACHE_ENABLED=true on datahub-gms.Configuration:
global.datahub.entity_graph_cache.enabled: Boolean to enable/disable.global.datahub.entity_graph_cache.configJson: An optional JSON string used as an overlay at startup. This sets ENTITY_GRAPH_CACHE_CONFIG_JSON on GMS to configure parameters like per-graph bounds and population.intervalSeconds.Follow these steps to perform a standard deployment using the DataHub Helm charts. This assumes your kubectl context is already pointing to the target cluster.
Create secrets for MySQL and Neo4j passwords. The example below uses datahub as the password; replace this with your preferred credentials.
Add the official repository to your Helm client.
Deploy the required dependencies (Kafka, MySQL, Elasticsearch, etc.) using the datahub-prerequisites chart. You can use default values or provide a custom --values file.
Install the main DataHub chart. Note that the default values.yaml in the datahub chart is pre-configured to look for dependencies deployed with the release name prerequisites. If you used a different release name for the prerequisites, you must update your configuration accordingly.
Once all pods are Running, use kubectl port-forward to access the UI locally on port 9002.
# 1. Create secrets
kubectl create secret generic mysql-secrets --from-literal=mysql-root-password=datahub --from-literal=mysql-password=datahub
kubectl create secret generic neo4j-secrets --from-literal=neo4j-password=datahub --from-literal=NEO4J_AUTH=neo4j/datahub
# 2. Add repo
helm repo add datahub https://helm.datahubproject.io/
# 3. Install prerequisites
helm install prerequisites datahub/datahub-prerequisites
# Or with custom values:
# helm install prerequisites datahub/datahub-prerequisites --values <path-to-values-file>
# 4. Install DataHub
helm install datahub datahub/datahub
# 5. Port forward frontend (replace <pod-name> with your actual frontend pod name)
kubectl port-forward <datahub-frontend-pod-name> 9002:9002The datahub-ingestion-cron subchart allows you to schedule automated DataHub ingestion tasks using Kubernetes CronJobs. You define multiple ingestion tasks within the crons map, where each key in the map becomes the name of a unique CronJob.
Every cron job requires a recipe. You can provide the recipe in two ways:
crons.recipe.configmapName to specify the name and crons.recipe.fileName to specify the key within that ConfigMap.crons.recipe.fileContent (if supported by your deployment logic).crons.schedule: A standard Cron expression (e.g., "0 0 * * *" for daily at midnight) that determines when the ingestion runs.crons.command: An array of strings defining the command to run. By default, it executes datahub ingest -c /etc/recipe/<fileName> based on your recipe configuration.crons.env and crons.envFromSecrets: Used to inject environment variables or secrets required for the ingestion process (e.g., credentials).crons.resources: Define CPU and memory requests/limits for the ingestion pods.crons.concurrencyPolicy: Controls how concurrent executions are handled (e.g., Allow, Forbid, or Replace).crons:
my-snowflake-ingestion:
schedule: "@daily"
recipe:
configmapName: "ingestion-recipes"
fileName: "snowflake-recipe.yaml"
resources:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 200m
memory: 512MiThe datahub-prerequisites Helm chart installs the necessary components required to run DataHub.
To install with the default configuration, add the DataHub Helm repository and install the chart using the following commands:
helm repo add datahub https://helm.datahubproject.io
helm install datahub datahub/datahub-prerequisitesIf you need to customize the installation, create a values.yaml file with your specific configurations and provide it during installation using the --values flag.
To install DataHub using the official Helm chart with default configurations, add the DataHub repository to your Helm client and run the install command. If you need to customize the installation, provide a custom values.yaml file using the --values flag.
# Add the DataHub Helm repository
helm repo add datahub https://helm.datahubproject.io
# Install DataHub with default configuration
helm install datahub datahub/datahub
# Install DataHub with custom configuration
helm install datahub datahub/datahub --values <path-to-values-file>Semantic search enables vector similarity search, allowing users to find entities based on semantic meaning rather than just keyword matching.
Prerequisites:
Note: This is a beta feature. Currently, only the document entity type is officially supported.