2.8 KiB
GovOPlaN Admin
Repository type: module (platform).
govoplan-admin owns generic system administration API and WebUI contributions
during the GovOPlaN module split.
This repository owns the live admin_governance_templates and
admin_governance_template_assignments tables. Core migrations rename the
historical unprefixed governance tables for existing development databases. It
contributes the stable
/api/v1/admin/system/governance-templates routes and owns governance-template
CRUD plus materialization into access-owned tenant groups and roles.
WebUI Package
The repository root and webui/ directory both expose the package
@govoplan/admin-webui. The package does not contribute the /admin route
itself; govoplan-access owns the route shell. Instead, admin contributes
section entries through core's admin.sections UI capability:
- overview
- system settings
- governance template tenant roles
- governance template groups
The route shell in access collects those sections at runtime, applies their scope requirements, and renders them without importing admin package internals.
Module Lifecycle Administration
The admin module owns the operator surfaces for module lifecycle management:
- installed/enabled/desired module state
- runtime activation and deactivation of installed modules
- signed catalog install planning
- non-destructive uninstall planning, with explicit
destroy_dataretirement options where a module provides a retirement provider - installer preflight status, maintenance-mode blockers, migration/restart checklist entries, and rendered operator commands
- installer daemon request queue, cancellation/retry, recent run summaries, rollback status, run IDs, request IDs, and trace IDs
Package mutation is intentionally not executed inside the FastAPI request. The
admin UI records operator intent and queues or renders commands for the trusted
installer process described in
/mnt/DATA/git/govoplan-core/docs/MODULE_ARCHITECTURE.md.
Package Surfaces
The admin UI intentionally exposes two different package concepts:
- Configuration packages are import/export bundles for module-owned configuration data. They support dry-run diagnostics, approval, apply, and export workflows without installing Python or WebUI packages.
- Module package catalog and operator install plan live under Modules. They describe approved release artifacts, install/update/remove plans, preflight blockers, maintenance-mode requirements, installer-daemon requests, and rollback visibility.
These surfaces should stay separate in navigation and copy. If future UI work combines them visually, it must still preserve the operator distinction between configuration mutation and package installation.