Deployment
All components are deployed to ZAD (RIG/Quattro/rijksapps) via GitHub Actions. Docker images are pushed to GitHub Container Registry (GHCR).
How deployment works
On pull request
When a PR is opened or updated:
- Changed components are detected automatically
- Docker images are built and pushed to
ghcr.io/minbzk/regelrecht-{component}:sha-{commit} - A preview deployment named
pr{N}is created on ZAD - The PR gets a comment with preview URLs
Only changed components are rebuilt. The editor is always built (it is the primary interface).
On merge to main
When a PR merges to main, production deployment runs:
- All changed components are rebuilt with the merge commit SHA
- Components are deployed to the
regelrechtdeployment on ZAD - Production URLs update within minutes
On PR close
The preview deployment and its GHCR images are cleaned up automatically.
Deployed components
| Component | Image | Production URL |
|---|---|---|
| Editor | regelrecht-editor | editor.regelrecht.rijks.app |
| Admin | regelrecht-admin | harvester-admin.regelrecht.rijks.app |
| Harvester Worker | regelrecht-harvester-worker | (no web UI) |
| Enrich Worker | regelrecht-enrich-worker | (no web UI) |
| Lawmaking | regelrecht-lawmaking | lawmaking.regelrecht.rijks.app |
| Landing | regelrecht-landing | regelrecht.rijks.app |
| Docs | regelrecht-docs | docs.regelrecht.rijks.app |
| Grafana | regelrecht-grafana | grafana.regelrecht.rijks.app |
ZAD CLI
Use zad-cli to manage deployments directly:
bash
# Install
uv tool install git+https://github.com/RijksICTGilde/zad-cli.git
# List deployments
zad deployment list
# Get logs
zad logs --deployment regelrecht --lines 50
# Add a new component
zad component add landing \
--image ghcr.io/minbzk/regelrecht-landing:latest \
--deployment regelrecht \
--port 8000 \
--service publish-on-webConfigure ZAD_API_KEY and ZAD_PROJECT_ID in .env.
Required secrets
RIG_API_KEY- API key for ZAD Operations Manager (configured in GitHub repository secrets)GITHUB_TOKEN- used for GHCR image pushes (provided automatically by GitHub Actions)
Further reading
- CI/CD Pipeline - the continuous integration checks that run before deployment
- Contributing - the PR workflow that triggers deployment