FigJam Diagram: OpenDonor — Blood Donor CRM Architecture (expires 2026-04-13)
OpenDonor is a Django-based CRM for managing blood donor records, appointments, and notifications.
Deployment Status: OpenDonor is NOT currently deployed to this cluster. The application is developed in the
ZoltyMat/opendonorrepo, which contains its own Kubernetes manifests. There are nokubernetes/apps/opendonor/manifests in this repo. Harbor images exist (production/opendonor-backend) but deployment is managed externally.
| Repo | ZoltyMat/opendonor |
| Dev schedule | Active development Thursdays and Fridays |
| Status | ~3,379 tests passing. TOTP, PDF generation, dashboard implemented. |
| Component | Image | Purpose |
|---|---|---|
| opendonor-backend | harbor.k3s.../production/opendonor-backend:sha-<commit> |
Django REST API + admin |
| opendonor-celery-worker | Same image, celery entrypoint | Async task processing |
| opendonor-celery-beat | Same image, beat entrypoint | Scheduled task triggers |
| PostgreSQL | postgres:16-alpine |
Primary data store |
| Redis | redis:7-alpine |
Celery broker + cache |
Builds push to harbor.k3s.../staging/opendonor-backend, promoted to production/ after Trivy scan passes.
Deploy workflow: .github/workflows/deploy-opendonor.yml (in the opendonor repo)
Exposes /metrics via django-prometheus. When deployed, ServiceMonitor label: release: prometheus.