Skip to content

POC: move handbook off VitePress to a headless CMS with reader RBAC + Google Workspace auth #68

Description

@VibratingKoala

Requirement

The handbook is a VitePress static site — markdown in doc/, edited only via git/PRs, which excludes non-technical staff and can't restrict who reads a page. We're moving off VitePress. Earlier prototypes were rejected: Wiki.js (no custom frontend, content leaves git) and a git-based CMS (edit access = repo write, all-or-nothing; per-reader access can't be served statically). Per-reader permissioning forces a runtime backend + database anyway, so we'll run a POC of a self-hosted headless CMS behind a custom frontend, delivering:

  • a fully custom frontend on the house Astro stack
  • on-page editing for non-technical staff (built-in CMS editor, no git/PRs)
  • editor vs read-only roles (per-page edit rights as a follow-up)
  • per-page reader access: public / internal / group-restricted
  • identity via Google Workspace OAuth; reader access driven by Google Groups
  • fully runnable locally first (Docker, localhost OAuth)

Scoped as a POC: it proves the server-side enforcement engine with manually-assigned groups. Automatic Google Group → role sync (Admin SDK + domain-wide delegation, needs a Workspace super-admin) is a separate pre-prod spike. Specification and test plan to follow in the linked PR.

Notes

Related Issues

  1. osbrjp/handbookwikijs-prototype branch (rejected: no custom frontend, content leaves git)
  2. Idea of OSBR new design #67 — OSBR new design (frontend design input)
  3. Supersedes the earlier Keystatic / markdown-in-git direction (a git-based CMS can't do editor RBAC or per-reader access)

Metadata

Metadata

Labels

additionA mirror label for the "Addition" issue type.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions