v1.0.0
Initial public release of StackVitals — a self-hosted, single-owner operations dashboard
that surfaces uptime, deploy health, provider status, month-to-date cloud cost, and AI/CI
usage for a handful of personal web projects, without copying raw app data out of the
source projects.
Added
- Vite + React + TypeScript frontend that reads pre-aggregated rows from Supabase and renders
deploy health, uptime, provider status, domain health, usage roll-ups, collector
diagnostics, and month-to-date vs. last-month cost across Detail / Collectors / Usage /
Costs tabs. - Node collector pipeline built on a single
ProviderAdaptercontract, run on a schedule
from GitHub Actions, writing append-only snapshots back to Supabase. - Collector adapters: HTTP health, AWS Amplify deploy status, AWS Cost Explorer, Supabase
project health, watched-app Supabase aggregates (count-only RPC — never raw records),
Resend domain verification, OpenAI usage, GitHub Actions usage, and Cloudflare domains. - Config-driven, à-la-carte setup: adapters activate only when their credentials are present,
andprojects.config.jsonresolves${ENV_VAR}placeholders so no secrets or real
resource ids are committed. Cloudflare domain groups may omitprojectSlugto stay
account-level. - Single-owner access model: a comma-separated email allowlist gates the frontend and
Supabase RLS restricts reads to allow-listed accounts. - Demo mode (
VITE_DEMO_MODE) with fictional data and a screenshot capture script for
auth-free public screenshots. - CI workflow (tests, lint, build) and a scheduled collector workflow, both writing a summary
to the GitHub Actions job summary. - Self-hosting guide and contributing guide (including how to add a new adapter).