Skip to content

schundu007/git-dboard

Repository files navigation

git-dboard

A full-stack DevOps dashboard that connects to any GitHub repository and gives you a unified platform for monitoring, automating, and improving your CI/CD pipeline.

Stack

Layer Technology
Frontend React 18 + TypeScript + Vite + TailwindCSS
Backend FastAPI + Python 3.11
Data GitHub REST API (PAT-based) + SQLite (logs)
Infra Docker + optional SLURM/PBS cluster integration

Pages

Page Description
Dashboard Overview: live CI status, gate summary, DORA metrics
PR Hub PR list, gate evaluation, automation controls, runner analysis
Builds Workflow runs, job details, artifacts, failure summaries
Nightly Monitor Nightly matrix heatmap, trend charts, job logs
Registry Manager ECR image list, auth, tag deletion, push status
Image Tags Tag matrix, lifecycle policy view, tag computation
Infra & Runners GitHub runner status, SLURM/PBS queue, runner best practices
Health Analysis DORA metrics, CI triage (failure categories), pipeline perf, runner health
Improvement Plan Prioritised CI/CD improvement items + GitHub issue analysis
Log Monitor Structured log search and ingestion
Analytics User metrics, contribution activity
Insights Commit activity, code frequency, forks, pulse
Issues Issue list with label/milestone filters
Branches Branch monitor

Features

  • PR gate evaluation — classifies PRs by changed files (docs/tests/source/ci) and evaluates required check categories
  • PR automation — auto-label, auto-comment gate status, auto-trigger CI, auto-merge on gate pass
  • Runner recommendations — maps PR type to optimal runner (hosted vs GPU/self-hosted)
  • CI/CD improvement plan — prioritised items derived from live issue and PR analysis, segregated into infrastructure vs product scope, with active PR tracking
  • GitHub issue analysis — breaks down open issues into infrastructure / product bugs / features with severity ratings
  • Nightly matrix heatmap — 14-day pass/fail grid across workflow matrix dimensions
  • DORA metrics — deployment frequency, lead time, change failure rate, MTTR
  • WebSocket log streaming — live build log tailing

Quick Start

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • GitHub Personal Access Token with repo and workflow scopes

Setup

# Clone
git clone https://github.com/schundu007/git-dboard.git
cd git-dboard

# Backend
cp .env.example .env
# Edit .env — set GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO
cd backend
pip install -r requirements.txt
uvicorn main:app --reload --port 8000

# Frontend (new terminal)
cd frontend
npm install
npm run dev        # runs on http://localhost:5173

Environment variables

GITHUB_TOKEN=ghp_...          # GitHub PAT (repo + workflow scopes)
GITHUB_OWNER=your-org          # Repository owner or org
GITHUB_REPO=your-repo          # Repository name
AWS_REGION=us-east-1           # optional: for ECR registry features
AWS_ACCESS_KEY_ID=...          # optional: for ECR
AWS_SECRET_ACCESS_KEY=...      # optional: for ECR
CLUSTER_HOST=...               # optional: for SLURM/PBS cluster features
CLUSTER_USER=...               # optional

See .env.example for the full list.

Project Structure

git-dboard/
├── backend/
│   ├── main.py                # FastAPI app, lifespan, CORS
│   ├── routers/               # 14 API routers (prs, builds, nightly, ...)
│   ├── services/              # GitHub client, ECR, cluster SSH, log store
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── pages/             # 15 page components
│   │   ├── components/        # Sidebar, Layout, UI primitives
│   │   └── lib/api.ts         # Typed API client
│   └── package.json
├── docker/scripts/            # nightly tag scripts, matrix resolution
├── services/pr-handler/       # Standalone GitHub App webhook handler (TypeScript)
└── start.sh                   # Start both backend and frontend

API

The backend exposes a Swagger UI at http://localhost:8000/docs.

Key endpoint groups:

Prefix Description
/prs PR list, gate, files, reviews, automation
/builds Workflow runs, jobs, artifacts, caches, deployments
/nightly Nightly runs, matrix, trend, image matrix
/improvement Improvement plan, issues analysis, quick wins
/automation PR automation state, config, runner recommendations
/health-analysis DORA, CI triage, pipeline perf, runner health
/infra Runners, cluster queue, cluster nodes
/registry ECR images, auth, lifecycle
/logs Log search, ingestion, purge

License

MIT

About

IsaacLab DevOps Dashboard — React + FastAPI platform for CI/CD monitoring, PR automation, nightly builds, infra, registry, and improvement planning for isaac-sim/IsaacLab

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors