A full-stack Spring Boot + PostgreSQL + Docker + GitHub Webhook-based application to track CI/CD pipeline events. Integrates with Grafana for visualizing build metrics and Prometheus for alerting.
- GitHub Webhook listener (
/webhook/github
) - Tracks events: repo name, branch, trigger type, build status, duration, timestamp
- RESTful API endpoints (in development)
- PostgreSQL storage for persistence
- Docker Compose-based local deployment
- Gradle automation: clean build without tests
- Tunnel-ready: expose
localhost
using Loophole or Cloudflare Tunnel - Future: Grafana dashboards, Prometheus alerts
Layer | Tool/Framework |
---|---|
Backend | Spring Boot (Java 21) |
Database | PostgreSQL 15 |
Container | Docker + Docker Compose |
Monitoring | Prometheus + Grafana |
Deployment | GitHub Actions |
. ├── src │ └── main/java/com/divyaranjansahoo/metrics_reporter │ ├── controller │ ├── model │ └── repository ├── docker-compose.yml ├── Dockerfile ├── build.gradle.kts ├── settings.gradle.kts ├── loophole.exe ├── req.sh ├── help.md ├── dbconfig.sql ├── README.md └── .github/workflows/devopsflow.yml
- Docker + Docker Compose
- Java 21
- Gradle
./gradlew clean build -x test
docker-compose up --build
npm install -g @loophole/cloud
loophole http 8080 --hostname div.loophole.site
cloudflared tunnel --url http://localhost:8080
✅ On every push:
- Clean & build Gradle project (skip tests)
- Trigger Docker Compose locally (requires Docker CLI on runner)
- (Optional) Auto-deploy webhook listener for testing
📂 See ./github/workflows/full-devops-flow.yml
(WIP)
- PostgreSQL + Spring Boot setup
- Docker Compose integration
- Webhook endpoint (
/webhook/github
) - Parse real GitHub payload
- Create REST endpoints (GET builds, stats)
- Grafana dashboards (event trends)
- Prometheus alerting on anomalies
- Optional: Kafka or Redis for async ingestion
Divyaranjan Sahoo
🌐 Portfolio
📫 LinkedIn
🐱 GitHub
MIT License – Use freely, modify smartly, credit kindly.