|
14 | 14 | * OS_BUSINESS_DB_URL — Per-project business database |
15 | 15 | * OS_CACHE_DIR — Local artifact cache (default: /var/cache/objectos) |
16 | 16 | * |
| 17 | + * If OS_CLOUD_URL is absent, ObjectOS defaults to local file-backed mode. |
17 | 18 | * Enterprise plugins live in ../../packages/* and can be appended to the |
18 | 19 | * default plugin manifest below. |
19 | 20 | */ |
20 | 21 |
|
21 | | -import { createBootStack } from '@objectstack/runtime'; |
| 22 | +import { createObjectOSStack } from '@objectstack/runtime'; |
22 | 23 |
|
23 | 24 | const cloudUrl = process.env.OS_CLOUD_URL; |
24 | 25 | const artifactFile = process.env.OS_ARTIFACT_FILE; |
25 | 26 |
|
26 | | -if (!cloudUrl && !artifactFile) { |
27 | | - throw new Error( |
28 | | - 'ObjectOS: must set OS_CLOUD_URL (cloud mode) or OS_ARTIFACT_FILE (offline mode).', |
29 | | - ); |
30 | | -} |
31 | | - |
32 | | -export default createBootStack({ |
33 | | - runtime: { |
34 | | - cloudUrl, |
35 | | - artifactFile, |
36 | | - projectId: process.env.OS_PROJECT_ID, |
37 | | - cacheDir: process.env.OS_CACHE_DIR ?? '/var/cache/objectos', |
38 | | - }, |
39 | | - // Default plugin manifest is provided by @objectstack/runtime. |
40 | | - // To add enterprise plugins, import them from ../../packages/* and |
41 | | - // pass `{ plugins: [...] }` here. |
| 27 | +export default await createObjectOSStack({ |
| 28 | + controlPlaneUrl: cloudUrl ?? 'file', |
| 29 | + controlPlaneApiKey: process.env.OS_CLOUD_API_KEY, |
| 30 | + fileConfig: artifactFile |
| 31 | + ? { |
| 32 | + artifactPath: artifactFile, |
| 33 | + projectId: process.env.OS_PROJECT_ID, |
| 34 | + watch: process.env.OS_WATCH_ARTIFACT === '1', |
| 35 | + } |
| 36 | + : undefined, |
42 | 37 | }); |
0 commit comments