Deployments
Configuration
All deployments are declared in prefect.yaml, located at the root of the .prefect/ directory.
- Working directory:
/.prefect - Work pool:
default - Each deployment entry specifies a
name,entrypoint(file:function),description,work_pool,parameters, and an optionalschedule. - Schedules use Africa/Kigali timezone cron expressions.
Run Types
The run_type parameter controls the ingestion window for each deployment.
| run_type | Behavior |
|---|---|
monthly | Ingests the previous calendar month |
weekly | Ingests the previous 7 days |
historical | Full backfill from earliest available date |
For historical runs, set hmis_data_start_date: null and hmis_data_end_date: null in deployment parameters. Prefect will backfill from the earliest date available in the source system.
Production Deployment
Prefect runs on Kubernetes in production.
- The
prefectHelm chart lives ininfra/kube-cluster/charts/prefect/. - It deploys the Prefect server and workers.
- CI/CD is handled by
.github/workflows/prefect.yaml, which builds the Docker image, pushes it to ECR (prefectrepository), and triggers the deployment.
Last updated on