Saltar al contenido principal

How it works

Orbit is a nucleus.ModuleSpec. On startup it captures the application's Runtime and builds its panel from the framework's public accessors — the model registry, all managed database handles, the session manager, the RBAC enforcer, the live event bus, and storage. It never reaches into framework internals.

In-process

Because it runs inside the application process, Orbit sees live runtime state — sessions, SQL, the model registry, metrics — that an out-of-process sidecar could not, and it does so without any IPC surface.

Self-contained auth

Orbit owns a session-based login (DatabaseAdminAuth) against the nucleus_admin_users table, and self-registers its prefix with the framework's default-deny RBAC so the framework middleware never double-gates it. Point auth_database at a dedicated DB alias to keep the admin user store separate from application data.

Embedded SPA

The React UI is built into the module (go:embed) and served under the mount prefix. There is no separate asset deployment: a consumer who mounts Orbit gets the full admin offline, in a single binary, version-pinned to the module.

Relationship to Nucleus

Orbit is a "dogfooding" consumer of Nucleus: mounting a real, deep admin exercises and hardens the framework's extension/Runtime surface. The admin used to live in the framework core as pkg/admin; nucleus ADR-019 extracted it into this module as a clean break — Nucleus itself no longer ships any admin code.