Skip to content

Commit 0cc7b77

Browse files
committed
docs(examples): name the env a walled production os serve of the showcase needs
Claude-Session: https://claude.ai/code/session_01CxBKycaiUpA1yGx1XyoGqX Co-authored-by: Claude <noreply@anthropic.com>
1 parent 87dac19 commit 0cc7b77

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

‎examples/app-showcase/README.md‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,32 @@ pnpm dev # → http://localhost:3000/_studio
4040
pnpm verify
4141
```
4242

43+
### Booting it walled (`isolated` / `group`)
44+
45+
The showcase declares `@objectstack/organizations` (the Apache-2.0 multi-organization
46+
runtime, app-declared per ADR-0132 D3). `os serve` loads it only when
47+
`OS_TENANCY_POSTURE` is `isolated` or `group`; under `single`, the default, it is never
48+
loaded and the boot is unchanged. A production walled boot needs this env, with no edit
49+
to the app:
50+
51+
```bash
52+
pnpm --filter '@objectstack/example-showcase^...' build # once
53+
cd examples/app-showcase
54+
NODE_ENV=production \
55+
OS_TENANCY_POSTURE=isolated \
56+
OS_AUTH_SECRET=$(openssl rand -hex 32) \
57+
OS_SECRET_KEY=$(openssl rand -hex 32) \
58+
OS_DATABASE_URL=file:./.objectstack/data/app.db \
59+
OS_PLATFORM_OWNER_EMAIL=owner@example.com \
60+
OS_AUTH_MEMBERSHIP_POLICY=invite-only \
61+
pnpm exec objectstack serve -p 3000
62+
```
63+
64+
Each variable answers one boot refusal: the auth secret, the encryption key, the
65+
storage, the platform owner (a walled posture never promotes the first sign-up), and a
66+
declared membership policy (`invite-only` or an explicit `auto`). Keep both secrets
67+
stable across restarts of the same database.
68+
4369
## What it covers
4470

4571
### Data layer (ObjectQL)

0 commit comments

Comments
 (0)