This repo contains a complete system for deploying the Pollster real-time polling backend on Kubernetes using Helm, Redis, PostgreSQL, and Istio service mesh.
- API Server (FastAPI / Django)
- WebSocket Gateway
- Redis (Streams, Pub/Sub, Hashes)
- PostgreSQL
- Worker Pool (Aggregator, Milestone, Notification)
- Grafana + Prometheus monitoring
- Jaeger + Kiali (via Istio)
make deployThis will:
- Start Minikube
- Build Docker images
- Install Istio
- Deploy the Pollster system with Helm
- Enable observability (Grafana, Prometheus, Jaeger, Kiali)
| Tool | Port | Description |
|---|---|---|
| Grafana | 3000 | Dashboards (CPU, Redis, etc.) |
| Prometheus | 9090 | Metrics scraping engine |
| Jaeger | 16686 | Distributed tracing |
| Kiali | 20001 | Istio traffic topology & graph |
All components are deployed to a namespace called pollster with Istio sidecar injection enabled.
make cleanDestroys the cluster and removes all resources.