Files
2026-05-19 14:53:37 +02:00

1.8 KiB

CI Observer Compact Dump

Current Production (authoritative)

  • Server path: /webapps/ci-observer-dashboard-prod
  • Container: ci-observer-dashboard-prod
  • Port: 8089 -> 8088
  • Deploy branch: main
  • Health check: curl -s http://127.0.0.1:8089/api/config

Stack

  • FE: HTML + CSS + Vanilla JavaScript
  • BE: Python + FastAPI
  • FE-BE bridge: REST API (/api/runs, /api/filters, /api/config)
  • Data layer: SQLite + GitHub Actions API

Required Env

  • GITHUB_TOKEN
  • GH_REPOS
  • GH_WORKFLOWS (required for polling in current logic)
  • REFRESH_SECONDS
  • DASHBOARD_TITLE

Key Features in main

  • Metadata-rich run cards (event, actor, author, commit SHA, message, date, duration)
  • Repo short name display (without org prefix)
  • Race-style clock (HH:MM:SS.cc) + date in same panel
  • Light mode toggle (hanging bulb), default dark, preference in localStorage
  • Light mode contrast tuned for pass/fail (medium)

Recent Important Commits on main

  • 689a78c merge: metadata cards + race clock
  • a719b7d docs: runbook + architecture + stack overview
  • d33f96e merge: light mode toggle + contrast tuning

Standard Production Update

cd /webapps/ci-observer-dashboard-prod
git checkout main
git pull
docker compose up -d --build

Troubleshooting Fast Path

  • UI loads but no runs:
    • check .env (GH_WORKFLOWS not empty)
    • docker compose up -d --build
  • FE change not visible:
    • browser hard refresh Ctrl+Shift+R

Test Workflow Pattern

  • Create isolated test folder: /webapps/ci-observer-dashboard-<feature>
  • Use separate port (e.g. 8090)
  • Validate, then merge to main, deploy prod, cleanup test folder

Canonical Docs

  • docs/OPERATIONS_RUNBOOK.md
  • docs/ARCHITECTURE.md
  • docs/STACK_OVERVIEW.md
  • ci-observer-handover/AGENTS.md