{"id":20936887,"url":"https://github.com/datafold/helm-charts","last_synced_at":"2026-04-09T15:03:46.795Z","repository":{"id":207734704,"uuid":"719953291","full_name":"datafold/helm-charts","owner":"datafold","description":"Official helm charts for deploying datafold into k8s","archived":false,"fork":false,"pushed_at":"2026-04-01T09:28:31.000Z","size":1017,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-01T11:35:43.448Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go Template","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/datafold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-17T09:00:38.000Z","updated_at":"2026-04-01T09:28:22.000Z","dependencies_parsed_at":"2023-12-06T14:28:39.938Z","dependency_job_id":"d1587ef8-a962-4464-a9c9-cf3e36363922","html_url":"https://github.com/datafold/helm-charts","commit_stats":null,"previous_names":["datafold/helm-charts"],"tags_count":343,"template":false,"template_full_name":null,"purl":"pkg:github/datafold/helm-charts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datafold%2Fhelm-charts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datafold%2Fhelm-charts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datafold%2Fhelm-charts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datafold%2Fhelm-charts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datafold","download_url":"https://codeload.github.com/datafold/helm-charts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datafold%2Fhelm-charts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31316629,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-11-18T22:28:51.566Z","updated_at":"2026-04-02T21:23:44.428Z","avatar_url":"https://github.com/datafold.png","language":"Go Template","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Getting started\n\nOfficial helm charts for deploying Datafold into Kubernetes.\n\n## Prerequisites: Deploy Temporal and PostgreSQL\n\nDatafold depends on Temporal for workflow orchestration, which in turn requires\na PostgreSQL database. **Both must be deployed and healthy before deploying\nDatafold itself.**\n\nFollow the instructions in [Temporal and PostgreSQL Prerequisites](docs/temporal-prerequisites.md)\nto deploy these dependencies. Datafold provides this guide to help you get\nstarted, but note that Temporal, PostgreSQL, and the Zalando Postgres Operator\nare third-party components -- Datafold's support is scoped to the Datafold\napplication, not the underlying dependencies.\n\nOnce Temporal and PostgreSQL are running, proceed with the Datafold deployment\nbelow.\n\n## Preferred Method: Deploy with Datafold Operator\n\nThe recommended way to deploy Datafold is using our operator, which provides a simpler and more manageable deployment experience.\n\n### Prerequisites\n\nYou'll need two files from Datafold:\n- `datafold-operator-secrets.yaml` - Contains application secrets and configuration\n- `datafold-docker-secret.yaml` - Contains Docker registry credentials\n\n### Step 1: Create Namespace\n\nCreate a namespace for your Datafold deployment:\n\n```shell\nkubectl create namespace datafold-apps\nkubectl config set-context --current --namespace=datafold-apps\n```\n\n### Step 2: Deploy Docker Secrets\n\nDeploy the Docker registry secret to allow pulling private Datafold images:\n\n```shell\nkubectl apply -f datafold-docker-secret.yaml\n```\n\n### Step 3: Configure and Deploy Application Secrets\n\nUpdate the `datafold-operator-secrets.yaml` file with your specific configuration (namespace, keys,\nemail server password, etc.) and deploy it:\n\n```shell\nkubectl apply -f datafold-operator-secrets.yaml\n```\n\n### Step 4: Add Helm Repository\n\nAdd the Datafold Helm repository:\n\n```shell\nhelm repo add datafold https://charts.datafold.com\nhelm repo update\n```\n\n### Step 5: Deploy the Operator\n\nDeploy the Datafold operator using the datafold-manager chart:\n\n```shell\nhelm upgrade --install datafold-manager datafold/datafold-manager \\\n  --namespace datafold-apps \\\n  --set namespace.name=datafold-apps\n```\n\n### Step 6: Create DatafoldApplication\n\nCreate a `DatafoldApplication` custom resource to define your Datafold deployment. See the `examples/` directory for configuration templates:\n\n```shell\nkubectl apply -f examples/datafold-application-full.yaml\n```\n\nThe operator will automatically deploy and manage your Datafold application based on the `DatafoldApplication` specification.\n\n### Configuration Examples\n\nThe `examples/` directory contains various `DatafoldApplication` configuration templates for different deployment scenarios:\n\n- `datafold-application-full.yaml` - Complete production configuration with all components\n- `datafold-application-minimal.yaml` - Minimal configuration for development/testing\n- `datafold-application-aws-lb.yaml` - AWS-specific configuration with load balancer\n- `datafold-application-gcp-lb.yaml` - GCP-specific configuration with load balancer\n- `datafold-application-signoz.yaml` - Configuration with OpenTelemetry monitoring (e.g., Signoz, SignalFX)\n- `datafold-application-datadog.yaml` - Configuration with Datadog monitoring\n\nChoose the example that best matches your environment and customize it as needed.\n\n### Getting the Latest Application Version\n\nTo fetch the most recent version of the Datafold application from the portal, you can use the following curl command:\n\n```bash\ncurl -L https://portal.datafold.com/operator/v1/config \\\n     --header \"Content-Type: application/json\" \\\n     --header \"Authorization: Bearer YOUR_API_KEY\" \\\n     | jq -r '.version'\n```\n\nReplace `YOUR_API_KEY` with your actual API key from the `datafold-operator-secrets.yaml` file. The command will return the latest version string that you can use in your `DatafoldApplication` configuration.\n\n**Note**: If you're using a custom portal URL (different from `https://portal.datafold.com`), replace the URL in the command accordingly.\n\n## Alternative Method: Direct Helm Charts Deployment\n\nFor users who prefer the traditional Helm charts approach or need more direct control over the deployment.\nThis method is significantly harder and more complex.\n\n### Prepare your shell environment\n\nWe will run a couple of commands where we want the kubernetes operations to execute\nin the same namespace. We will set that namespace name in a shell environment variable,\nso we use the same value consistently.\n\nYou can change `datafold` into any other namespace name you like.\n\n```shell\nkubectl create namespace datafold\nkubectl config set-context --current --namespace=datafold\n```\n\n### Receive a json key to pull images\n\nOur images are stored on a private registry. You can request a JSON key to be used\nto pull those images. Install that json key as follows, paying attention to the\nvalues of docker-server and you have the correct namespace targeted in your context.\n\n```\nkubectl create secret docker-registry datafold-docker-secret \\\n  --docker-server=us-docker.pkg.dev \\\n  --docker-username=_json_key \\\n  --docker-password=\"$(cat ~/json-key-file.json)\" \\\n  --docker-email=support@datafold.com\n```\n\n### Create a values.yaml file\n\nThe helm chart requires a complete `values.yaml` file that merges configuration from multiple sources. You can use our example as a starting point:\n\n```shell\n# Copy and customize the example values file\ncp examples/old-method-values-example.yaml values.yaml\n\n# Edit values.yaml with your specific configuration:\n# - Update serverName, clusterName, and other global settings\n# - Configure your database connection details\n# - Set up AWS load balancer ARNs and target groups\n# - Adjust resource limits and worker counts as needed\n```\n\nThe example file is based on a real dedicated cloud deployment and includes all necessary configuration sections.\n\n### Install from our helm repo\n\nMake sure to use the latest release from the helm-charts from our release list:\n\nhttps://github.com/datafold/helm-charts/releases\n\n```shell\nhelm repo add datafold https://charts.datafold.com\nhelm repo update\nhelm upgrade --install datafold datafold/datafold \\\n  --values values.yaml\n\n## Development and Validation\n\n### Kubeconform Validation\n\nThis repository includes kubeconform validation to ensure Helm charts conform to the Kubernetes API schema. You can run validation locally using the jeeves tool:\n\n```bash\n# Install dependencies\npip install -r jeeves/requirements.txt\n\n# Set environment variables (optional - wrapper commands set these automatically)\nexport DATAFOLD_K8S_SECRETFILE=\"./dev/secrets.yaml\"\nexport DATAFOLD_K8S_CONFIGFILE=\"./dev/config.yaml\"\nexport DATAFOLD_DEPLOY_NAME=\"datafold-test\"\nexport TAG=\"latest\"\n\n# Run kubeconform validation for different cloud providers\n# AWS Configuration (automatically sets environment variables and infra file)\n./j dev kubeconform run --cloud-provider aws --strict\n\n# GCP Configuration (automatically sets environment variables and infra file)\n./j dev kubeconform run --cloud-provider gcp --strict\n\n# Azure Configuration (automatically sets environment variables and infra file)\n./j dev kubeconform run --cloud-provider azure --strict\n\n# Custom validation parameters\n./j dev kubeconform run --cloud-provider aws --kubernetes-version \"1.29.0\" --output-format \"json\"\n./j dev kubeconform run --cloud-provider gcp --skip-list \"CustomResourceDefinition,ValidatingWebhookConfiguration\"\n./j dev kubeconform run --cloud-provider azure --strict false\n```\n\nThe validation runs automatically on pull requests for all three cloud providers (AWS, GCP, Azure) to ensure your charts work correctly across different Kubernetes environments.\n\nFor more information about jeeves and available commands, see [jeeves/README.md](jeeves/README.md).\n```\n\n### Local dev install\n\nhelm upgrade --install datafold-operator charts/datafold-operator \\\n  --namespace datafold-apps \\\n  --set namespace.name=datafold-apps\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatafold%2Fhelm-charts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatafold%2Fhelm-charts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatafold%2Fhelm-charts/lists"}