3.5 KiB
3.5 KiB
InfraPulse Progress
Last updated: 2026-05-22
Current State
InfraPulse has a working Docker Compose development stack with PostgreSQL, Redis, FastAPI backend, Python worker, and React/Vite frontend.
Implemented foundation:
- Monorepo layout, README, MIT license, Dockerfiles, Compose files, helper scripts, and initial docs.
- FastAPI backend with health endpoint, JWT login, local initial owner bootstrap, and role checks.
- SQLAlchemy models and Alembic initial migration for users, assets, credentials, monitors, check results, metrics, alert rules, incidents, notification channels, and audit events.
- React frontend with login, authenticated shell, dashboard, assets, websites, alerts, notifications, and placeholder admin/discovery/graphs/credentials pages.
- Worker process that polls HTTP website monitors, records check results, updates monitor/asset status, opens incidents, resolves incidents on recovery, and sends webhook notifications.
Implemented website-monitor slice:
- Create, edit, delete website monitors from the UI.
- HTTP status and expected-text checks.
- Monitor status and recent incident visibility on dashboard.
- Basic alert rules created with website monitors.
- Incidents can be acknowledged and silenced from the UI.
- Deleting a monitor resolves any open incidents tied to that monitor.
Implemented notification slice:
- Create, edit, test, and delete notification channels from the UI.
- Generic webhook, Mattermost, and Zoom Team Chat channel types.
- Webhook URLs encrypted at rest using
INFRAPULSE_SECRET_KEY. - Saved webhook URLs are not returned to the UI.
- Configurable post username per notification channel.
- Worker sends incident open and recovery notifications.
- Notification state/history is stored in incident details to avoid duplicate sends.
Known Gaps
- Credential vault UI and real credential encryption workflows are not complete.
- Audit logging tables exist, but events are not consistently written yet.
- User management UI is not implemented.
- Role management is basic and needs full admin flows.
- Alert rule editing UI is not implemented.
- Notification routing/policies are not implemented; all enabled webhook channels receive incident notifications.
- Email/SMTP notifications are not implemented yet.
- TLS certificate expiry checks are not implemented yet.
- Ping and TCP checks are not implemented yet.
- Graphing exists only as placeholders; metric visualization is not implemented.
- Worker scheduling is simple polling, not a Redis queue yet.
- Tests are still minimal and need meaningful backend/worker/frontend coverage.
- Production deployment hardening is not done.
Recommended Next Work
- Add TLS certificate expiry monitor support.
- Add ping and TCP port monitors.
- Add alert rule editing UI and richer alert conditions.
- Add notification policy/routing controls.
- Add email/SMTP notification channel.
- Add audit event writes for auth, monitor, credential, notification, and incident actions.
- Build credential vault UI with masked secret handling.
- Add user administration UI.
- Add graphs for website response time and monitor status history.
- Add backend and worker tests for the website-monitor and notification flows.
Operational Notes
Development URLs:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8000 - API docs:
http://localhost:8000/docs
Default local login comes from .env:
INITIAL_ADMIN_EMAIL=admin@example.comINITIAL_ADMIN_PASSWORD=change-me
Change these values before using InfraPulse outside local development.