Add asset-based monitor setup

This commit is contained in:
Keith Smith
2026-05-23 21:07:05 -06:00
parent 8b5dea152e
commit bd6c508c94
9 changed files with 858 additions and 74 deletions
+11 -5
View File
@@ -8,7 +8,7 @@ Last updated: 2026-05-23
- Local repository path: `/home/ksmith/projects/OrbitalWard`
- Git remote: `https://git.firebugit.com/ksmith/OrbitalWard.git`
- Main branch: `main`
- Latest pushed commit at last update: `3b75075 Rename project to OrbitalWard`
- Latest pushed commit at last update: `8b5dea1 Add guided SNMP discovery UI`
The project was previously named InfraPulse. Do not reintroduce the old name in product copy, package names, environment variables, service names, or docs unless explicitly discussing historical context.
@@ -34,15 +34,21 @@ OrbitalWard is a secure monitoring appliance focused on the v0.1 vertical slice:
- Alert rules, incident opening/resolution, acknowledge, silence, and webhook notifications.
- Generic webhook, Mattermost, and Zoom Team Chat notification channels.
- Saved webhook URLs encrypted at rest and not returned to the UI.
- Guided SNMP device discovery is v0.1 scope, but not yet implemented.
- SNMPv2c credential profiles with encrypted community strings.
- Guided SNMP device discovery with friendly device, interface, and monitorable item results.
- Asset setup supports creating, selecting, and deleting assets, plus attaching ping, TCP, website, and SNMP monitors without creating alert rules automatically.
## Verification State
After the rename and TLS expiry work, these checks passed in Docker:
Recent Docker checks:
- `docker compose -f docker-compose.dev.yml up -d --build`
- `docker compose -f docker-compose.dev.yml exec -T backend python -m pytest tests`
- `docker compose -f docker-compose.dev.yml exec -T frontend npm run typecheck`
- `docker compose -f docker-compose.dev.yml exec -T frontend npm run build`
Earlier rename and monitor work also verified:
- `docker compose -f docker-compose.dev.yml up -d --build`
- `docker compose -f docker-compose.dev.yml exec -T worker python -m compileall app`
- Backend health returned `{"status":"ok","service":"orbitalward-backend"}`.
- Direct worker probes for TCP and ICMP ping checks passed inside the Docker network.
@@ -76,7 +82,7 @@ Issue source docs:
- `docs/progress.md`
- `docs/roadmap.md`
Current completed items include TLS expiry monitor support, HTTP/website checks, ping and TCP port checks, basic alert evaluation, alert rule editing UI, incident actions, webhook notification channels, SNMPv2c credential profiles, the SNMP device discovery API, and guided SNMP discovery UI. The next recommended implementation issue is creating monitors from SNMP discovery selections.
Current completed items include TLS expiry monitor support, HTTP/website checks, ping and TCP port checks, basic alert evaluation, alert rule editing UI, incident actions, webhook notification channels, SNMPv2c credential profiles, the SNMP device discovery API, guided SNMP discovery UI, and asset-based monitor setup. The next recommended implementation work is SNMP collection for configured SNMP monitors and friendly metric/profile mapping.
## Guardrails
+13 -8
View File
@@ -80,6 +80,16 @@ Implemented guided SNMP discovery UI slice:
- UI displays friendly monitorable item groups and supports selecting items for the next monitor-creation step.
- Normal discovery UI avoids raw SNMP OIDs and saved secret values.
Implemented asset-based monitor setup slice:
- Assets page can create a new asset or select an existing asset before configuring monitors.
- Assets page can delete assets, with confirmation that attached monitors are also removed.
- Asset setup supports choosing ping, TCP, website, and SNMP monitoring in any combination.
- Website, ping, and TCP monitor APIs can attach new monitors to an existing asset without creating duplicate assets.
- Asset setup creates monitors without automatically creating alert rules; alerting remains managed separately.
- SNMP setup can run guided discovery from the asset flow and save selected friendly items as SNMP monitors attached to the asset.
- SNMP monitor creation stores friendly discovery metadata and avoids raw OIDs in normal UI/API responses.
## Known Gaps
- General credential vault workflows beyond SNMP profiles are not complete.
@@ -87,8 +97,7 @@ Implemented guided SNMP discovery UI slice:
- User management UI is not implemented.
- Role management is basic and needs full admin flows.
- Richer alert condition editing is not implemented yet.
- SNMP monitor creation from selected discovery items is not implemented yet.
- SNMP collection for interface status, traffic counters, errors, uptime, CPU, and memory checks is not implemented yet.
- SNMP monitors can be configured, but SNMP collection for interface status, traffic counters, errors, uptime, CPU, memory, storage, and sensor checks is not implemented yet.
- Notification routing/policies are not implemented; all enabled webhook channels receive incident notifications.
- Email/SMTP notifications are not implemented yet.
- Graphing exists only as placeholders; metric visualization is not implemented.
@@ -98,8 +107,8 @@ Implemented guided SNMP discovery UI slice:
## Recommended Next Work
1. Create monitors from SNMP discovery selections.
2. Add SNMP interface status, traffic, errors, uptime, CPU, and memory collection.
1. Add SNMP interface status, traffic, errors, uptime, CPU, memory, storage, and sensor collection.
2. Add SNMP profile mapping for friendly metric names across common vendors.
3. Add notification policy/routing controls.
4. Add email/SMTP notification channel.
5. Add audit event writes for auth, monitor, credential, notification, and incident actions.
@@ -108,10 +117,6 @@ Implemented guided SNMP discovery UI slice:
8. Add graphs for website response time and monitor status history.
9. Add richer alert condition editing.
10. Add frontend coverage for monitor, alert, and notification workflows.
8. Add user administration UI.
9. Add graphs for website response time and monitor status history.
10. Add richer alert condition editing.
11. Add frontend coverage for monitor, alert, and notification workflows.
## Operational Notes