Getting Started
Prerequisites
- A Kubernetes cluster with either FluxCD or plain Helm
- An IAC Git repository for storing Helm charts
- PostgreSQL 16+
Install the Server
Helm (Recommended)
Add the chart repository and install:
helm repo add zyno-io https://zyno-io.github.io/charts
helm repo update
helm install dag zyno-io/dag \
--set postgres.host=your-pg-host \
--set postgres.password=your-pg-password \
--set config.cryptoSecret=your-crypto-secretDatabase migrations run automatically on install and upgrade via a Helm hook. See Helm Chart for the full list of configurable values, or refer to Server Configuration for details on each setting.
Docker
docker pull ghcr.io/zyno-io/dag/server:latest
docker run -p 3000:3000 \
-e APP_ENV=production \
-e PG_HOST=your-pg-host \
-e PG_DATABASE=dag \
-e PG_USER=dag \
-e PG_PASSWORD_SECRET=your-pg-password \
-e CRYPTO_SECRET=your-crypto-secret \
ghcr.io/zyno-io/dag/server:latestRun migrations before starting the server (and after each upgrade):
docker run --rm \
-e PG_HOST=your-pg-host -e PG_DATABASE=dag -e PG_USER=dag -e PG_PASSWORD_SECRET=your-pg-password \
ghcr.io/zyno-io/dag/server:latest \
node dist/bootstrap.js migration:runFrom Source
git clone https://github.com/zyno-io/dag.git
cd dag
yarn install
yarn workspace @zyno-io/dag-shared build
yarn workspace @zyno-io/dag buildRun migrations before starting the server (and after each upgrade):
node packages/server/dist/bootstrap.js migration:runThen start the server:
node packages/server/dist/bootstrap.js server:startRequires Node.js 22+ and PostgreSQL 16+. See Server Configuration for the required environment variables.
Install the CLI
The CLI (dag-deploy) runs in your CI pipeline.
Docker (for CI containers)
docker pull ghcr.io/zyno-io/dag/cli:latestnpm
npm install -g @zyno-io/dag-cliSetup
1. Deploy the Server
Follow the installation steps above to get the DAG server running.
2. Set Up an IAC Repository
Configure the Git repository where DAG will push Helm charts. You'll need a repository URL and an access token with write permissions. See IAC Repositories.
3. Set Up a Cluster
Register the Kubernetes cluster DAG will monitor for deployment status. This involves creating a service account with the right permissions and extracting its token and CA certificate. See Clusters.
4. Create an App
Register your application and map its branches to IAC paths, clusters, and Helm configurations. See Creating Apps.
5. Deploy from CI
Add dag-deploy to your CI pipeline:
dag-deploy ./chart \
--server https://dag.example.com \
--deploy-version $CI_COMMIT_SHAThe CLI will auto-detect your CI environment (GitLab CI or GitHub Actions), submit the chart, and stream deployment status in real time.
See CI Integration for complete pipeline examples.