How vaibhav0643/project_k8s-voting-app works
This repository combines a two-option voting application with a Kind/Kubernetes deployment guide. A voter submits through the Flask app; votes pass through Redis to a .NET worker, which stores them in Postgres. The Node.js result service reads the stored votes and streams scores to the results UI. The README also documents Argo CD GitOps deployment, cluster access, and Prometheus/Grafana monitoring. Runtime links are grounded in sampled source; deployment and operational links reflect README claims. The tree has no Postgres manifest or monitoring configuration, so those implementation details are not mapped.
Main entry points: Program.cs Vote Worker · server.js Result Service · index.html Vote UI · app.py Vote App
Components 15
Vote Processing
- Redis Queue
- Vote Worker
worker/Program.cs - Postgres
Live Results
- Result Service
result/server.js - Results UI
result/views/app.js
Cluster Deployment
- Argo CD
- Kubernetes Manifests
k8s-specifications - Kind Config
kind-cluster/config.yml - Kubernetes Cluster
Cluster Operations
- Kubernetes Dashboard
kind-cluster/dashboard-adminuser.yml - Prometheus and Grafana
Other components
- Voter
- Git Repository
Connections 14
- Voter → Vote UI: uses
- Vote UI → Vote App: submits vote
- Vote App → Redis Queue: enqueues vote
- Vote Worker → Redis Queue: dequeues vote
- Vote Worker → Postgres: writes vote
- Result Service → Postgres: queries counts
- Result Service → Results UI: streams scores
- Voter → Results UI: views results
- Git Repository → Argo CD: provides revision
- Argo CD → Kubernetes Manifests: syncs manifests
- Kubernetes Manifests → Kubernetes Cluster: declares workloads
- Kind Config → Kubernetes Cluster: configures cluster
- Kubernetes Dashboard → Kubernetes Cluster: configures access
- Prometheus and Grafana → Kubernetes Cluster: monitors