Skip to main content

Platform module profile (installation profile)

Tier: Public
Status: Phase 1 shipped 2026-05-31; installation profile manifest shipped 2026-06
Audience: integrators, maintainers, demo-host operators
Canonical SoT: installation-profile.md
Related: BUILDING-YOUR-VERTICAL.md, RFC-0009

Terminology: Use installation profile, not "platform SKU" or "install SKU". This document is kept as a short alias for older links.


Summary

Deploy-time knob UMBRACULUM_MODULE_PROFILE selects which first-party modules boot in a single process:

ProfileBrewery reference verticalDefault since 2026-06
platform (core)OffYes — fresh clone
referenceOnOpt-in (demo, E2E, walkthroughs)

Manifest + resolver: .umbraculum/install*.json and packages/sdk/module-sdk/src/installProfile.ts.

Web vs native: one federated web shell; many composed native binaries — installation-profile.md § Web vs native.


Compose wiring

Default: docker-compose.yml sets UMBRACULUM_MODULE_PROFILE=platform.

Reference opt-in:

docker compose -f docker-compose.yml -f docker-compose.reference.yml up -d

See installation-profile.md for manifest format, build/CI, Prisma, and entitlements.


What changes per profile

Layerreferenceplatform (core)
API registerBreweryModuleYesNo
Web brewery URL segmentsYesNo
Native appapps/native/breweryapps/native/blank
Prisma brewery.* schemaPresentStripped after migrate (core)
i18n brewery stringsMergedOmitted
MRP/CRP brewery projectionsLive readsEmpty adapter

Workspace-level omit (RFC-0009 prep)

Deploy profile controls server-wide install. Per-workspace omit uses WorkspaceBillingAddon + EntitlementsService when ENTITLEMENTS_ENFORCEMENT_MODE=tier_and_addons. Installation profile is checked firstbrewery_module cannot grant access when brewery is not installed.

Self-host may set UMBRACULUM_GRANT_ALL_ADDONS=1 to skip workspace add-on DB checks (RFC-0009 Decision F).


Verification

See installation-profile.md § Verification.