Deploy with Helm (production-ish)¶
This guide shows how to deploy with Helm (production-ish) in a reliable, repeatable way.
Who this is for¶
- Platform engineers deploying
recsys-serviceto Kubernetes - Teams running artifact/manifest mode with external Postgres + S3/MinIO
Goal¶
Install recsys-service and optionally a recsys-pipelines CronJob. Postgres and MinIO are disabled by default so you can bring your own.
Prereqs¶
- Helm 3 +
kubectl - A Postgres database (or enable the chart’s bundled Postgres for local demos)
- An S3-compatible bucket (or enable the chart’s bundled MinIO for local demos)
Steps¶
1) Install (BYO Postgres + S3)¶
RECSYS_ARTIFACT_MANIFEST_TEMPLATE='s3://recsys-artifacts/registry/current/{tenant}/{surface}/manifest.json'
helm install recsys ./charts/recsys \
--set api.env.DATABASE_URL='postgres://user:pass@db:5432/recsys?sslmode=disable' \
--set api.env.RECSYS_ARTIFACT_MANIFEST_TEMPLATE="${RECSYS_ARTIFACT_MANIFEST_TEMPLATE}" \
--set api.env.RECSYS_ARTIFACT_S3_ENDPOINT='s3.example.com' \
--set api.env.RECSYS_ARTIFACT_S3_ACCESS_KEY='***' \
--set api.env.RECSYS_ARTIFACT_S3_SECRET_KEY='***'
2) Local demo (enable bundled Postgres + MinIO)¶
# kind
./scripts/helm_local.sh --kind
# minikube
./scripts/helm_local.sh --minikube
3) Enable pipelines CronJob¶
helm upgrade --install recsys ./charts/recsys \
--set pipelines.enabled=true \
--set pipelines.schedule='0 2 * * *'
The CronJob reads pipelines.configJson from a ConfigMap. Override it in values.yaml for your tenant, surfaces, and storage endpoints.
Verify¶
kubectl get deploy,svc,cronjob
kubectl logs deploy/recsys-api
Pitfalls¶
- The chart uses the
DATABASE_URLenv var as defined inapi/.env.example. - If you disable bundled Postgres/MinIO, you must provide external endpoints.
- The pipelines job requires object store + registry configured in its config.
Read next¶
- Operational invariants (pipelines safety model): Pipelines operational invariants (safety model)
- Artifacts and manifest lifecycle: Artifacts and manifest lifecycle (pipelines → service)
- Production readiness checklist: Production readiness checklist (RecSys suite)