Rename product to OrbitWard

This commit is contained in:
Keith Smith
2026-05-26 21:24:54 -06:00
parent af72a6c563
commit 177bdcc8a7
41 changed files with 129 additions and 105 deletions
+16 -16
View File
@@ -4,9 +4,9 @@ Last updated: 2026-05-26
## Current Identity
- Product name: OrbitalWard
- Local repository path: `/home/ksmith/projects/OrbitalWard`
- Git remote: `https://git.firebugit.com/ksmith/OrbitalWard.git`
- Product name: OrbitWard
- Local repository path: `/home/ksmith/projects/OrbitalWard` until the working directory is moved
- Git remote: `https://git.firebugit.com/ksmith/OrbitWard.git`
- Main branch: `main`
- Latest pushed commit: check `origin/main` with `git log -1 --oneline origin/main`
@@ -15,14 +15,14 @@ The project was previously named InfraPulse. Do not reintroduce the old name in
## Gitea Access
- Gitea API base: `https://git.firebugit.com/api/v1`
- Repository API path: `/repos/ksmith/OrbitalWard`
- Repository API path: `/repos/ksmith/OrbitWard`
- Access token file: `/home/ksmith/.codex_security/gitea_token`
Never print the token value. Read it only inside commands that call the Gitea API.
## Current Product State
OrbitalWard is a secure monitoring appliance focused on the v0.1 vertical slice:
OrbitWard is a secure monitoring appliance focused on the v0.1 vertical slice:
- Authenticated FastAPI backend with SQLAlchemy, Alembic, Pydantic, and JWT auth.
- React, TypeScript, Vite, and Tailwind frontend.
@@ -55,18 +55,18 @@ Recent Docker checks:
Earlier rename and monitor work also verified:
- `docker compose -f docker-compose.dev.yml up -d --build`
- Backend health returned `{"status":"ok","service":"orbitalward-backend"}`.
- Backend health returned `{"status":"ok","service":"orbitward-backend"}`.
- Direct worker probes for TCP and ICMP ping checks passed inside the Docker network.
- API probe created and deleted one ping monitor and one TCP monitor successfully.
The final Compose project uses `orbitalward-*` containers, images, network, and volumes.
The final Compose project uses `orbitward-*` containers, images, network, and volumes.
## Important Implementation Notes
- `ORBITALWARD_SECRET_KEY` is the encryption/JWT secret environment variable.
- `DATABASE_URL` now defaults to the `orbitalward` database/user in Compose.
- The frontend local storage key is `orbitalward_token`.
- Notification default username is `OrbitalWard`.
- `ORBITWARD_SECRET_KEY` is the encryption/JWT secret environment variable.
- `DATABASE_URL` now defaults to the `orbitward` database/user in Compose.
- The frontend local storage key is `orbitward_token`.
- Notification default username is `OrbitWard`.
- The TLS expiry check lives in `worker/app/collectors/website.py` and is enabled per monitor through JSON config fields:
- `check_tls_expiry`
- `tls_warning_days`
@@ -75,11 +75,11 @@ The final Compose project uses `orbitalward-*` containers, images, network, and
Use the Gitea API with the token file above. Useful endpoints:
- List issues: `GET /repos/ksmith/OrbitalWard/issues?state=all`
- Create issue: `POST /repos/ksmith/OrbitalWard/issues`
- Update issue: `PATCH /repos/ksmith/OrbitalWard/issues/{index}`
- List milestones: `GET /repos/ksmith/OrbitalWard/milestones`
- List labels: `GET /repos/ksmith/OrbitalWard/labels`
- List issues: `GET /repos/ksmith/OrbitWard/issues?state=all`
- Create issue: `POST /repos/ksmith/OrbitWard/issues`
- Update issue: `PATCH /repos/ksmith/OrbitWard/issues/{index}`
- List milestones: `GET /repos/ksmith/OrbitWard/milestones`
- List labels: `GET /repos/ksmith/OrbitWard/labels`
Issue source docs:
+1 -1
View File
@@ -26,4 +26,4 @@ Initial channels:
- Zoom Team Chat incoming webhook
- Generic webhook
Alert messages should be human-readable and include asset, check, status, duration, timestamps, and a link back to OrbitalWard.
Alert messages should be human-readable and include asset, check, status, duration, timestamps, and a link back to OrbitWard.
+1 -1
View File
@@ -1,6 +1,6 @@
# Architecture
OrbitalWard is a monorepo with four main areas:
OrbitWard is a monorepo with four main areas:
- `backend`: FastAPI service exposing REST endpoints and owning database access.
- `worker`: Background scheduler and collectors for checks and alert evaluation.
+2 -2
View File
@@ -1,6 +1,6 @@
# Discovery Design
Guided discovery is a core OrbitalWard workflow.
Guided discovery is a core OrbitWard workflow.
```text
Add target
@@ -16,7 +16,7 @@ Create monitors and optional alert rules
## Monitor vs Alert Separation
OrbitalWard must allow monitoring without alerting. Every discovered item should eventually support separate choices:
OrbitWard must allow monitoring without alerting. Every discovered item should eventually support separate choices:
- Collect metric
- Graph metric
+1 -1
View File
@@ -58,7 +58,7 @@
44. Show and graph SNMP interface throughput
45. Build asset detail UI for monitors, metrics, and context
46. Refine metric-only monitor status semantics
47. Rename product from OrbitalWard to OrbitWard
47. Rename product to OrbitWard
## Current Implementation Snapshot
+2 -2
View File
@@ -1,11 +1,11 @@
# Plugin Design
Plugins will let OrbitalWard add collectors and discovery logic without hard-coding every integration into the core API.
Plugins will let OrbitWard add collectors and discovery logic without hard-coding every integration into the core API.
Target shape:
```python
class OrbitalWardPlugin:
class OrbitWardPlugin:
name: str
display_name: str
+4 -4
View File
@@ -1,10 +1,10 @@
# OrbitalWard Progress
# OrbitWard Progress
Last updated: 2026-05-26
## Current State
OrbitalWard has a working Docker Compose development stack with PostgreSQL, Redis, FastAPI backend, Python worker, and React/Vite frontend.
OrbitWard has a working Docker Compose development stack with PostgreSQL, Redis, FastAPI backend, Python worker, and React/Vite frontend.
Implemented foundation:
@@ -35,7 +35,7 @@ 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 `ORBITALWARD_SECRET_KEY`.
- Webhook URLs encrypted at rest using `ORBITWARD_SECRET_KEY`.
- Saved webhook URLs are not returned to the UI.
- Configurable post username per notification channel.
- Worker sends incident open and recovery notifications.
@@ -148,4 +148,4 @@ Default local login comes from `.env`:
- `INITIAL_ADMIN_EMAIL=admin@example.com`
- `INITIAL_ADMIN_PASSWORD=change-me`
Change these values before using OrbitalWard outside local development.
Change these values before using OrbitWard outside local development.
+2 -2
View File
@@ -1,6 +1,6 @@
# Security
OrbitalWard must be secure from the beginning because it will store infrastructure credentials.
OrbitWard must be secure from the beginning because it will store infrastructure credentials.
## Authentication
@@ -19,7 +19,7 @@ Credential records are modeled separately from monitors and assets. Secret field
Rules:
- Use `ORBITALWARD_SECRET_KEY` from the environment.
- Use `ORBITWARD_SECRET_KEY` from the environment.
- Never log secrets.
- Mask saved secrets in the UI.
- Audit credential create, update, and delete events.
+3 -3
View File
@@ -1,12 +1,12 @@
# OrbitalWard Vision
# OrbitWard Vision
OrbitalWard is a secure, self-hosted monitoring platform for homelabs, small businesses, and internal IT teams.
OrbitWard is a secure, self-hosted monitoring platform for homelabs, small businesses, and internal IT teams.
The v0.1 product should feel like a polished appliance, not a pile of raw monitoring configuration. Users should be guided through adding targets, testing connections, discovering useful items, choosing what to monitor, and separately choosing what should alert.
## Design Philosophy
OrbitalWard exposes intent, not implementation details.
OrbitWard exposes intent, not implementation details.
Raw SNMP OIDs, probe internals, and collector details belong behind friendly profiles and advanced tools. The normal UI should say things like "Port 5 outbound traffic", "Graph this port", and "Alert if port goes down".