OpsSentinel is a lightweight, GitHub-native CI/CD observability platform designed to provide real-time failure insights and centralized visibility across all your repositories. Stop digging through logs and scattered notifications—get a unified view of your pipeline health in one place.
- Real-Time Pipeline Tracking: Listens to GitHub
workflow_runevents to track pipeline states as they change. - Centralized Dashboard: A high-density, "Palantir-style" UI that indicates CI failures and successes at a glance.
- Multi-Channel Alerting: Instant notifications routed to Email, Slack, and Microsoft Teams on failures.
- Secure by Design: Built-in verification of GitHub webhook signatures via HMAC SHA256.
- Seamless Auth: Integrated GitHub OAuth login flow for secure access.
- Flexible Storage: Supports both SQLite for quick starts and PostgreSQL for production-grade deployments.
- Docker Ready: Fully containerized stack for one-command deployment.
OpsSentinel is built with a modern, decoupled architecture:
- Frontend: React (Vite) with a data-dense, dark-themed UI.
- Backend: Node.js (Express) handling webhooks, authentication, and notifications.
- Database: SQLite (default) or PostgreSQL.
- Integrations: GitHub Webhooks & GitHub OAuth.
The fastest way to get OpsSentinel running is using Docker Compose.
-
Clone the repository:
git clone https://github.com/hacrex/OpsSentinel.git cd OpsSentinel -
Configure Environment: Copy
.env.exampleto.envand fill in your GitHub OAuth and Webhook secrets.cp .env.example .env
-
Launch the stack:
docker-compose up --build -d
- Dashboard:
http://localhost - API:
http://localhost:3001
cd backend
npm install
# Ensure your .env is configured
node src/server.jscd frontend
npm install
npm run dev| Variable | Description | Required |
|---|---|---|
GITHUB_CLIENT_ID |
GitHub OAuth App Client ID | Yes |
GITHUB_CLIENT_SECRET |
GitHub OAuth App Client Secret | Yes |
GITHUB_WEBHOOK_SECRET |
Secret used to verify GitHub webhooks | Yes |
DATABASE_URL |
PostgreSQL connection string (falls back to SQLite if empty) | No |
SLACK_WEBHOOK_URL |
Webhook URL for Slack notifications | No |
TEAMS_WEBHOOK_URL |
Webhook URL for Microsoft Teams notifications | No |
SMTP_HOST |
SMTP server for email alerts | No |
- Predictive Analytics: Forecast workflow failure probabilities.
- Flaky Test Detection: Automatically identify unreliable tests.
- LLM Root Cause Analysis: Summarize failure logs using AI.
- WebSockets: Real-time dashboard updates without polling.
- RBAC: Role-based access control for teams.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for DevOps Engineers.