Skip to content

Helm Chart

DAG provides an official Helm chart for deploying the server to Kubernetes.

Installation

sh
helm repo add zyno-io https://zyno-io.github.io/charts
helm repo update
helm install dag zyno-io/dag

Migrations

Database migrations run automatically on install and upgrade via a Helm pre-install/pre-upgrade hook. No manual migration step is needed.

Values

Image

ValueDefaultDescription
image.repositoryghcr.io/zyno-io/dag/serverContainer image
image.tagChart appVersionImage tag
image.pullPolicyIfNotPresentPull policy
imagePullSecrets[]Image pull secrets
replicaCount1Number of replicas

PostgreSQL

ValueDefaultDescription
postgres.hostDatabase host
postgres.port5432Database port
postgres.userdagDatabase user
postgres.passwordDatabase password
postgres.databasedagDatabase name
postgres.sslfalseEnable SSL for database connections
postgres.sslRejectUnauthorizedtrueReject unauthorized SSL certificates

Application Config

ValueDefaultDescription
config.appEnvproductionApplication environment
config.deployMonitorTimeoutSecs300Timeout for monitoring Kubernetes deployments
config.cryptoSecretSecret key for encryption (must be 32 characters)

Networking

ValueDefaultDescription
service.typeClusterIPService type
service.port3000Service port
ingress.enabledfalseEnable ingress
ingress.classNameIngress class name
ingress.hosts[]Ingress hosts
ingress.tls[]Ingress TLS config

Deployment

ValueDefaultDescription
deployment.resources{}CPU/memory
deployment.nodeSelector{}Node selector
deployment.tolerations[]Tolerations
deployment.affinity{}Affinity rules
deployment.podAnnotations{}Pod annotations
deployment.podLabels{}Pod labels

Example

yaml
postgres:
  host: postgres.default.svc.cluster.local
  password: my-secret-password

config:
  cryptoSecret: my-32-character-secret-key-here!

ingress:
  enabled: true
  className: nginx
  hosts:
    - host: dag.example.com
      paths:
        - path: /
          pathType: Prefix
  tls:
    - secretName: dag-tls
      hosts:
        - dag.example.com