Marketplace install — bRRAIn Docs
How to install, update, and uninstall marketplace extensions for your organization from the Console.
Marketplace install
Marketplace extensions extend your bRRAIn with new capabilities — Agent Orchestrator, Document Portal, LLMOps, AI Cloud Provisioner, and many more. This page is the operator guide to installing and managing them.
How install works
When you click Install on an extension at marketplace.brrain.io, three things happen:
- Marketplace records the purchase or grant. Free extensions are recorded as a free install. Paid extensions create a subscription against your organization's billing.
- Console wires the extension into your Console nav. A new entry appears under Installed extensions in the left sidebar.
- The Console dispatches a lifecycle install to your brain pod. Your pod fetches the extension's signed binary from our deployment servers, validates the signature, mounts it under
/opt/brrain/extensions/<slug>/<version>/, and starts it as a child process.
You can watch all three phases from Console → Installed extensions during the install. The status pip turns green when the extension is reachable from your pod.
What you'll see in the Console
The Installed extensions mega-section in the sidebar lists every installed extension. Each entry has its own page mounted under your Console (typically console.brrain.io/extensions/<slug>). The extension renders inside an iframe with full SSO carried through.
A status pip on each entry shows:
- Green — installed and reachable.
- Amber — installed but the pod has not yet acknowledged (typical during the first few seconds after install).
- Red — install failed or the extension's child process has crashed. Click for the reason and remediation.
Updating an extension
When the extension publisher releases a new version, the entry shows an Update available badge. Click for the release notes, then click Update.
The update flow:
- Console fetches the new signed binary.
- The pod stages the new version under
/opt/brrain/extensions/<slug>/<new-version>/. - The supervisor swaps the active version atomically.
- The new version takes over for new requests; in-flight requests on the old version finish, then the old version is reaped.
Update downtime is typically zero. Major-version updates may include a one-time data migration; the update dialog tells you in advance.
Pinning a version
If you want to stay on a specific version (typical for compliance-bound organizations or ones running validated workflows), click Pin on the extension's entry. Pinned versions skip the update banner. You can unpin at any time.
Uninstalling an extension
Click the row action menu and pick Uninstall. You'll be asked to confirm. The flow:
- Console marks the install as inactive.
- The pod stops the child process.
- The extension's data — typically stored under its own zone in your Vault — is preserved by default.
- Optionally, you can also wipe the extension's data on uninstall (a destructive action requiring Sovereign approval).
If the extension is paid, your subscription is canceled at the end of the current billing period.
Permissions and scopes
Each extension declares the scopes it needs at install time:
- Which Vault zones it reads from and writes to.
- Which integrations it uses.
- Which APIs it calls on your behalf.
- Whether it spawns its own non-human actors.
You see the full scope list in the install dialog and approve it explicitly. The Console enforces those scopes — an extension that tries to read a zone outside its scope is denied.
You can review or revoke scopes after install from the extension's detail page. Revoking a scope may break the extension; the page warns before commit.
Branding and themes
Extensions render inside your Console with your organization's theme automatically applied. Logos, accent colors, fonts, and custom CSS variables flow from Settings → Themes into every iframe.
If an extension needs to override a theme variable for usability (e.g., it has a deeply branded internal palette), it can declare an exception in its manifest. You see exception declarations during install.
Per-extension configuration
Most extensions have a settings page within their iframe. The first time you open an extension you're typically walked through a brief setup wizard.
Settings live in your organization's vault under the extension's zone. Backups, exports, and migrations include extension settings.
Notifications from extensions
Extensions can fire notifications into your Console bell, into email, or into your configured channels (Slack, Teams, PagerDuty, etc., per Integrations). Each extension's notification channels are configurable from its settings.
Health and observability
The pod monitors each extension's process. Crashes are restarted automatically (with exponential back-off after repeated failures). Persistent failures fire an alert into the Console.
Per-extension request rate, latency, and error count appear on the Observability dashboard with the extension's slug as a filter.
Per-extension billing
Some extensions are free. Some carry a flat per-organization subscription. Some meter their own usage (per-orchestration-run, per-document-processed, etc.). Pricing is shown clearly at install time and accumulates on Console → Billing → Usage with a per-extension breakdown.
Where to next
- Marketplace overview — what's in the catalog.
- Marketplace billing & licensing — how the money side works.
- Console: Settings & themes — branding extensions inherit.