Rename product to OrbitWard
This commit is contained in:
+16
-16
@@ -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:
|
||||
|
||||
|
||||
@@ -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,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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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".
|
||||
|
||||
|
||||
Reference in New Issue
Block a user