9c91c56672
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
hiveops-guide — Design (approved 2026-06-30)
One knowledge base that (a) teaches customers how each module works and (b) is the source-of-truth for module behavior (for admins + Claude). Markdown-authored, served by the backend API, read in a tabbed slide-out.
Decisions (Johannes, 2026-06-30)
- Content = markdown files in git, still served via backend API calls (not bundled in the frontend).
- Start over — greenfield. No backward-compat with the old
content_jsonguides or the/api/v1/guides/{pageKey}contract; the Fleet "Guide" buttons get re-wired to the new API. - Retire the Guide Admin CRUD app. The guide keeps internal docs (technical guides for
admins/Claude,
audience: internal).
Content model — markdown in the repo
content/<app>/<module>/*.md — folder per module, one file per tab. Frontmatter:
---
module: devices.sw-deploy
title: Software Deployment
tab: The Data # the tab label in the slide-out
order: 20 # tab order
audience: customer # or "internal" (hidden from customers)
---
<markdown body>
Cross-cutting technical guides: content/technical/*.md (e.g. fleet→Kafka→devices, service map).
Backend (Spring Boot service kept; model replaced)
- Scans
content/**/*.mdat startup (cached), parses frontmatter + body. - API (JWT-gated):
GET /api/v1/guide/nav?audience=→ apps → modules → tabs treeGET /api/v1/guide/modules/{module}?audience=→ module + its tabs (markdown bodies)
- Remove the DB
content_jsonmodel + admin CRUD endpoints.audiencegates customer vs internal.
Frontend
- New tabbed slide-out reader (markdown rendered with
marked); nav + tabs from the API. - Retire the Guide Admin CRUD app.
Consumers
- Re-wire the Fleet "Guide" buttons (and future in-app guide entry points) to the new API.
Phases
- Backend — markdown content model +
nav/modulesAPI; retire DB/CRUD. - Frontend — tabbed slide-out reader.
- Content — author
devices.sw-deploy+fleet.tasksas the pattern (Overview / Data / How-to + an internal Technical tab), then fan out to all modules. - Technical guides (internal) — fleet→Kafka→devices, service map, etc.