Skip to main content
Version: 1.7.0

How it works

Orbit is a nucleus.ModuleSpec, so it starts and stops with your application. 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 that an out-of-process sidecar could not — sessions, SQL, the model registry, metrics — and it sees it with no IPC surface in between.

Self-contained auth

Orbit owns its login. A session-based authenticator (DatabaseAdminAuth) checks credentials against the nucleus_admin_users table, and Orbit registers its own prefix with the framework's default-deny RBAC so the framework middleware never double-gates it.

Point auth_database at a dedicated database alias to keep the admin user store separate from application data. Only login and bootstrapping move to that handle; the panel itself keeps reading through the application's default one.

Embedded interface

The React UI is built into the module with go:embed and served under the mount prefix. There is no separate asset deployment: mount Orbit and you get the whole admin panel offline, in a single binary, version-pinned to the module.

Relationship to Nucleus

Orbit is built on the same public Nucleus extension and Runtime API that any other module uses — nothing here is a private back door. The admin panel used to live in the framework core as pkg/admin; it now lives in this module, and Nucleus itself no longer ships any admin code.