Skip to main content
helm chart · dgraph

Dgraph

Helm chart for deploying dgraph datastore

Latest version
v0.0.4
Chart type
Data source
Requires
Helm 3+

Install

Add the zop.dev chart repository, then install dgraph into your cluster.

helm repo add zopdev https://helm.zop.dev
helm repo update
helm install my-dgraph zopdev/dgraph --version v0.0.4

This Helm chart deploys a Dgraph cluster on Kubernetes, including Dgraph Zero and Dgraph Alpha components. Below is a detailed guide to the configuration options available.


Prerequisites

  • Kubernetes 1.18+
  • Helm 3.0+

Add Helm Repository

Add the Helm repository by running:

Terminal window
helm repo add zopdev https://helm.zop.dev
helm repo update

For more details, see the Helm Repository Documentation.


Install Helm Chart

To deploy the dgraph Helm chart, use the following command:

Terminal window
helm install [RELEASE_NAME] zopdev/dgraph

Replace [RELEASE_NAME] with your desired release name. Example:

Terminal window
helm install my-dgraph zopdev/dgraph

You can override default values during installation by providing a values.yaml file.

Refer to the Helm Install Documentation for further details.


Uninstall Helm Chart

To remove the dgraph Helm chart and associated resources, run:

Terminal window
helm uninstall [RELEASE_NAME]

Example:

Terminal window
helm uninstall my-dgraph

Check the Helm Uninstall Documentation for more information.


Configuration

The table below outlines the essential configuration options. For a complete list, refer to the values.yaml file.

Helm Chart Configuration

InputTypeDescriptionDefault
global.image.repositoryStringThe Dgraph Docker image repository.dgraph/dgraph
global.image.tagStringThe Dgraph image tag.v23.0.0
global.debugBoolEnables debug logging for Dgraph.false
global.serviceAccountStringService account for Dgraph pods.default

Zero Configuration

InputTypeDescriptionDefault
zero.replicasIntNumber of Dgraph Zero replicas.3
zero.resources.requests.cpuStringCPU request for Zero pods.250m
zero.resources.requests.memoryStringMemory request for Zero pods.512Mi
zero.persistence.enabledBoolEnables persistence for Zero pods.true
zero.persistence.storageClassStringStorage class for Zero persistence.""
zero.service.typeStringService type for Zero pods.ClusterIP
zero.tls.enabledBoolEnables TLS for Zero communication.false

Alpha Configuration

InputTypeDescriptionDefault
alpha.replicasIntNumber of Dgraph Alpha replicas.3
alpha.resources.requests.cpuStringCPU request for Alpha pods.500m
alpha.resources.requests.memoryStringMemory request for Alpha pods.1Gi
alpha.persistence.enabledBoolEnables persistence for Alpha pods.true
alpha.persistence.storageClassStringStorage class for Alpha persistence.""
alpha.acl.enabledBoolEnables ACL for securing Alpha endpoints.false
alpha.encryption.enabledBoolEnables encryption at rest for Alpha data.false
alpha.service.typeStringService type for Alpha pods.ClusterIP
alpha.tls.enabledBoolEnables TLS for Alpha communication.false

Example values.yaml

Terminal window
global:
image:
repository: dgraph/dgraph
tag: v23.0.0
debug: false
serviceAccount: default
zero:
replicas: 3
resources:
requests:
cpu: 250m
memory: 512Mi
persistence:
enabled: true
storageClass: ""
service:
type: ClusterIP
tls:
enabled: false
alpha:
replicas: 3
resources:
requests:
cpu: 500m
memory: 1Gi
persistence:
enabled: true
storageClass: ""
acl:
enabled: false
encryption:
enabled: false
service:
type: ClusterIP
tls:
enabled: false

Features

  • Simplifies Dgraph cluster deployment on Kubernetes.
  • Configurable Dgraph Zero and Dgraph Alpha replicas.
  • Supports TLS, encryption, and ACL for secure deployments.
  • Persistent Volume support for data durability.
  • Customizable resource requests and limits for scalability.

Pod Scheduling

nodeSelector, tolerations and affinity are passed straight through to the pod spec. All three are empty by default and render nothing, so leaving them unset changes nothing for an existing release.

They apply to both the zero and alpha StatefulSets.

Together they place the workload on a dedicated node pool — the nodeSelector picks the pool, the toleration gets past its taint:

Terminal window
nodeSelector:
workload: stateful
tolerations:
- key: workload
operator: Equal
value: stateful
effect: NoSchedule

affinity takes a full Affinity object. Note that setting it replaces the chart’s default soft pod-anti-affinity (which spreads replicas across nodes) rather than merging with it — restate the anti-affinity alongside your own rules if you still want it.


Contributing

We welcome contributions to improve this Helm chart. Please refer to the CONTRIBUTING.md file for contribution guidelines.


Code of Conduct

To maintain a healthy and collaborative community, please adhere to our Code of Conduct.


License

This project is licensed under the LICENSE. Please review it for terms of use.


Connection Config

  • DGRAPH_HOST : Hostname or service name for the Dgraph Alpha service.
  • DGRAPH_RPC_PORT : Port for gRPC (RPC) connections to Dgraph. Defaults to 9080.
  • DGRAPH_HTTP_PORT : HTTP port for Dgraph’s API. Defaults to 8080.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·