Skip to content

Deploying to OpenShift / Kubernetes

The real Dockerfile (multi-stage: Angular build → .NET build → runtime, port 5200) lives at Dockerfile. A full Helm chart is available under charts/hodor — it creates a Deployment, Service, an OpenShift Route (or Ingress on plain Kubernetes), a PersistentVolumeClaim for /data (pipelines + Data Protection keys), and a Secret for the database password, JWT key, OIDC client secret and SMTP password:

helm install hodor charts/hodor \
  --set database.provider=Postgres \
  --set database.connectionString="Host=postgres;Database=hodor;Username=hodor;Password=..." \
  --set defaultAdmin.password="ChangeMe123!"

See charts/hodor/README.md for the full set of values, including how to point at your own Secret (existingSecret) or enable SMTP run notifications (email.enabled=true) or Microsoft Teams notifications (teams.enabled=true, teams.webhookUrl=…). Teams posts run outcomes (including any data-quality warnings) to one channel's incoming webhook, on the same per-pipeline opt-in as email.

Security

  • Use Windows authentication (Trusted_Connection=True) for on-prem SQL Server — .hodor files will contain no secrets and can be checked into git safely.
  • CORS is open by default in development. Restrict with AllowedOrigins in production.
  • Report vulnerabilities via SECURITY.md.

Licence and contributing

Hodor is licenced under EUPL-1.2 — see LICENSE. Contributions are welcome from everyone. See CONTRIBUTING.md.