{"id":43851831,"url":"https://github.com/acryldata/datahub-helm","last_synced_at":"2026-03-11T07:09:31.947Z","repository":{"id":37182214,"uuid":"382478569","full_name":"acryldata/datahub-helm","owner":"acryldata","description":"Repository of helm charts for deploying DataHub on a Kubernetes cluster","archived":false,"fork":false,"pushed_at":"2026-03-06T00:48:25.000Z","size":1471,"stargazers_count":203,"open_issues_count":13,"forks_count":268,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-03-06T04:51:45.259Z","etag":null,"topics":["datahub","hacktoberfest","hacktoberfest2021","helm","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Mustache","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acryldata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-02T22:37:13.000Z","updated_at":"2026-03-02T17:06:26.000Z","dependencies_parsed_at":"2023-11-29T04:27:35.920Z","dependency_job_id":"076eabfa-e4aa-4ca4-ba52-ec5d202d1359","html_url":"https://github.com/acryldata/datahub-helm","commit_stats":null,"previous_names":[],"tags_count":360,"template":false,"template_full_name":null,"purl":"pkg:github/acryldata/datahub-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acryldata%2Fdatahub-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acryldata%2Fdatahub-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acryldata%2Fdatahub-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acryldata%2Fdatahub-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acryldata","download_url":"https://codeload.github.com/acryldata/datahub-helm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acryldata%2Fdatahub-helm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30373618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datahub","hacktoberfest","hacktoberfest2021","helm","kubernetes"],"created_at":"2026-02-06T07:18:03.569Z","updated_at":"2026-03-11T07:09:31.942Z","avatar_url":"https://github.com/acryldata.png","language":"Mustache","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DataHub Kubernetes Helm Charts\n[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/datahub)](https://artifacthub.io/packages/search?repo=datahub)\n\n## Introduction\n[This repo](https://github.com/acryldata/datahub-helm) provides\nthe Kubernetes [Helm](https://helm.sh/) charts for deploying\n[Datahub](https://github.com/datahub-project/datahub) and it's dependencies\n(Elasticsearch, optionally Neo4j, MySQL, and Kafka) on a Kubernetes cluster.\n\n## Setup\n1. Set up a kubernetes cluster\n   - In a cloud platform of choice like [Amazon EKS](https://aws.amazon.com/eks), \n     [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine), \n     and [Azure Kubernetes Service](https://azure.microsoft.com/en-us/services/kubernetes-service/) OR\n   - In local environment using [Minikube](https://minikube.sigs.k8s.io/docs/). \n     Note, more than 7GB of RAM is required to run Datahub and it's dependencies \n2. Install the following tools: \n   - [kubectl](https://kubernetes.io/docs/tasks/tools/) to manage kubernetes resources\n   - [helm](https://helm.sh/docs/intro/install/) to deploy the resources based on helm charts. \n     Note, we only support Helm 3.\n   \n## Components\nDatahub consists of 4 main components: [GMS](https://datahubproject.io/docs/metadata-service/), \n[MAE Consumer](https://datahubproject.io/docs/metadata-jobs/mae-consumer-job) (optional), \n[MCE Consumer](https://datahubproject.io/docs/metadata-jobs/mce-consumer-job) (optional), and \n[Frontend](https://datahubproject.io/docs/datahub-frontend). Kubernetes deployment \nfor each of the components are defined as subcharts under the main \n[Datahub](https://github.com/acryldata/datahub-helm/tree/master/charts/datahub) \nhelm chart.\n\nThe main components are powered by 4 external dependencies:\n- Kafka\n- Local DB (MySQL, Postgres, MariaDB)\n- Search Index (Elasticsearch)\n- Graph Index (Supports either Elasticsearch or Neo4j)\n\nThe dependencies must be deployed before deploying Datahub. We created a separate \n[chart](https://github.com/acryldata/datahub-helm/tree/master/charts/prerequisites) \nfor deploying the dependencies with example configuration. They could also be deployed \nseparately on-prem or leveraged as managed services.\n\n## Quickstart\nAssuming kubectl context points to the correct kubernetes cluster, first create kubernetes secrets that contain MySQL and Neo4j passwords. \n\n```(shell)\nkubectl create secret generic mysql-secrets --from-literal=mysql-root-password=datahub --from-literal=mysql-password=datahub\nkubectl create secret generic neo4j-secrets --from-literal=neo4j-password=datahub --from-literal=NEO4J_AUTH=neo4j/datahub\n```\n\nThe above commands sets the passwords to \"datahub\" as an example. Change to any password of choice. \n\nAdd datahub helm repo by running the following\n\n```(shell)\nhelm repo add datahub https://helm.datahubproject.io/\n```\n\nThen, deploy the dependencies by running the following\n\n```(shell)\nhelm install prerequisites datahub/datahub-prerequisites\n```\n\nNote, the above uses the default configuration defined [here](https://github.com/acryldata/datahub-helm/blob/master/charts/prerequisites/values.yaml). You can change any of the configuration and deploy by running the following command. \n\n```(shell)\nhelm install prerequisites datahub/datahub-prerequisites --values \u003c\u003cpath-to-values-file\u003e\u003e\n```\n\nRun `kubectl get pods` to check whether all the pods for the dependencies are running. \nYou should get a result similar to below.\n\n```\nNAME                                               READY   STATUS      RESTARTS   AGE\nelasticsearch-master-0                             1/1     Running     0          62m\nprerequisites-cp-schema-registry-cf79bfccf-kvjtv   2/2     Running     1          63m\nprerequisites-kafka-0                              1/1     Running     2          62m\nprerequisites-mysql-0                              1/1     Running     1          62m\nprerequisites-neo4j-0                              1/1     Running     0          52m\nprerequisites-zookeeper-0                          1/1     Running     0          62m\n```\n\ndeploy Datahub by running the following\n\n```(shell)\nhelm install datahub datahub/datahub\n```\n\nValues in [values.yaml](https://github.com/acryldata/datahub-helm/blob/master/charts/datahub/values.yaml) \nhave been preset to point to the dependencies deployed using the [prerequisites](https://github.com/acryldata/datahub-helm/tree/master/charts/prerequisites) \nchart with release name \"prerequisites\". If you deployed the helm chart using a different release name, update the quickstart-values.yaml file accordingly before installing. \n\nRun `kubectl get pods` to check whether all the datahub pods are running. You should get a result similar to below.\n\n```\nNAME                                               READY   STATUS      RESTARTS   AGE\ndatahub-acryl-datahub-actions-58b676f77c-c6pfx     1/1     Running     0          4m2s\ndatahub-datahub-frontend-84c58df9f7-5bgwx          1/1     Running     0          4m2s\ndatahub-datahub-gms-58b676f77c-c6pfx               1/1     Running     0          4m2s\ndatahub-datahub-mae-consumer-7b98bf65d-tjbwx       1/1     Running     0          4m3s\ndatahub-datahub-mce-consumer-8c57d8587-vjv9m       1/1     Running     0          4m2s\ndatahub-elasticsearch-setup-job-8dz6b              0/1     Completed   0          4m50s\ndatahub-kafka-setup-job-6blcj                      0/1     Completed   0          4m40s\ndatahub-mysql-setup-job-b57kc                      0/1     Completed   0          4m7s\nelasticsearch-master-0                             1/1     Running     0          97m\nprerequisites-cp-schema-registry-cf79bfccf-kvjtv   2/2     Running     1          99m\nprerequisites-kafka-0                              1/1     Running     2          97m\nprerequisites-mysql-0                              1/1     Running     1          97m\nprerequisites-neo4j-0                              1/1     Running     0          88m\nprerequisites-zookeeper-0                          1/1     Running     0          97m\n```\n\nYou can run the following to expose the frontend locally. Note, you can find the pod name using the command above. \nIn this case, the datahub-frontend pod name was `datahub-datahub-frontend-84c58df9f7-5bgwx`. \n\n```(shell)\nkubectl port-forward \u003cdatahub-frontend pod name\u003e 9002:9002\n```\n\nYou should be able to access the frontend via http://localhost:9002. \n\nOnce you confirm that the pods are running well, you can set up ingress for datahub-frontend \nto expose the 9002 port to the public.\n\n## Default Credentials\n\nThere are a few keys and credentials created as part of the deployment using randomized values. They can be overridden using various configuration parameters.\n\nAlso consider changing the default credentials used by any of the underlying data stores pulled in by the companion helm chart for\nthe prerequisites. Refer to the upstream helm charts or point to your own managed data stores for these components.\n\n### DataHub Login\n\nFor controlling the default admin password, see the following [configuration](charts/datahub/values.yaml#L36).\n\n### Encryption Key\n\nUsed by the Play framework and GMS to encrypt secrets at the application level, this can be configured [here](charts/datahub/values.yaml#L579).\n\n### Token Signing Key\n\nUsed to sign tokens for authentication, see configuration [here](charts/datahub/values.yaml#L605).\n\n### Token Service Salt\nUsed to mix with tokens before signing/verifying tokens [here](charts/datahub/values.yaml#L1019)\n\n## Contributing\n\nWe welcome contributions from the community. Please refer to our [Contributing Guidelines](CONTRIBUTING.md) for more details. \n\n## Community\n\nJoin our [slack workspace](https://slack.datahubproject.io) for discussions and important announcements. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facryldata%2Fdatahub-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facryldata%2Fdatahub-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facryldata%2Fdatahub-helm/lists"}