ランタイム構成
アーティファクトの読み込み、プロジェクトの解決、データベース、キャッシュ、ランタイムシークレットを構成します。
ランタイム構成
ObjectOS のランタイム構成は、次の 3 つの問いに答えます。
- このリクエストはどのプロジェクトを処理すべきか?
- コンパイル済みアーティファクトはどこにあるか?
- プロジェクトはどのデータベースとランタイムサービスを使用すべきか?
ブートモード
| モード | 使用する場面 | 主な構成 |
|---|---|---|
| Standalone | 設定なしの os start — クイックデモ、空のカーネル、約 23 個のプラグイン、~/.objectstack/data/standalone.db のローカル SQLite | なし(デフォルト) |
| File-backed | 単一プロジェクト、デモ、顧客向けオフラインバンドル、エアギャップ環境へのデプロイ | OS_ARTIFACT_FILE |
| Cloud-connected | ホスト型またはプライベートのコントロールプレーンがプロジェクトアーティファクトを公開 | OS_CLOUD_URL、OS_PROJECT_ID またはホスト名解決 |
Standalone モード
設定やアーティファクトなしで os start を実行したときのデフォルトです。
ObjectOS はプラットフォームプラグイン(auth、security、audit、storage、webhooks、mcp-server、
marketplace-proxy、marketplace-install-local など)を読み込んだ空のカーネルをブートし、
~/.objectstack/data/standalone.db のローカル SQLite を開いて、Console と Account の UI を提供します。
Console の marketplace タブからアプリをインストールして、オブジェクト、ビュー、フローでカーネルを 構築できます。リビルドも再起動も不要です。デモ、評価、そして「これが何をするものか見せて」という 探索に最適です。
os start は自動的にエスカレートします。
| 検出された内容 | 動作 |
|---|---|
| なし | Standalone モード(上記) |
cwd に objectstack.config.ts | プロジェクトモード — 自動コンパイル、HOME=<cwd>/.objectstack |
| cwd にコンパイル済みアーティファクト | アーティファクトモード — そのアーティファクトを読み込む |
明示的な --artifact <path> または OS_CLOUD_URL | File-backed / cloud-connected モード |
File-backed モード
設定します。
OS_ARTIFACT_FILE=/artifacts/objectstack.jsonObjectOS はローカルの Artifact API クライアントを使用します。すべてのホスト名が同じプロジェクトに 解決されます。ランタイム構成はアーティファクトが存在する場合はそこから読み込まれ、存在しない場合は 評価用のローカルランタイムデフォルトにフォールバックします。
OS_ARTIFACT_FILE は ObjectOS アプリラッパーの慣例です。基盤となるランタイムは
OS_ARTIFACT_PATH を直接受け付けることもできます(@objectstack/cli の dev および start
コマンド、ならびにフレームワークの standalone スタックで使用されます)。どちらか一方を設定します —
両方ではありません。
オプション:
OS_ENVIRONMENT_ID=env_prod # or the legacy alias OS_PROJECT_ID
OS_WATCH_ARTIFACT=1ウォッチモードは開発またはスモークテストでのみ使用してください。
Cloud-connected モード
設定します。
OS_CLOUD_URL=https://cloud.example.com
OS_CLOUD_API_KEY=replace-with-deployment-tokenObjectOS はコントロールプレーンに次のことを要求します。
- ホスト名をプロジェクト/環境に解決する。
- 現在のアーティファクトを取得する。
- そのプロジェクトのランタイムデータベース構成を受け取る。
ObjectOS はコントロールプレーンのデータベースに直接接続すべきではありません。
認証シークレット
強力なベースシークレットを設定します。
OS_AUTH_SECRET=replace-with-a-strong-random-secretObjectOS はこの値からプロジェクトごとの認証シークレットを導出します。これにより、セッション署名が プロジェクトごとに分離されつつ、決定論的な再起動も可能になります。この値をローテーションすると、 既存のセッションは無効になります。
カーネルとアーティファクトのキャッシュ
ObjectOS は、リクエストごとにカーネルを再構築するのを避けるため、解決済みの環境とプロジェクト カーネルをキャッシュします。
| 変数 | デフォルト | 目的 |
|---|---|---|
OS_KERNEL_CACHE_SIZE | 32 | キャッシュするプロジェクトカーネルの最大数 |
OS_KERNEL_TTL_MS | 900000 | キャッシュ済みカーネルのアイドル TTL |
OS_ENV_CACHE_TTL_MS | 300000 | ホスト名/環境の解決キャッシュ |
OS_ARTIFACT_CACHE_TTL_MS | 300000 | アーティファクトレスポンスのキャッシュ |
TTL を低くすると変更がより速く反映されます。TTL を高くするとコントロールプレーンへのトラフィックと コールドスタートが減少します。
データベース構成
cloud-connected モードでは、コントロールプレーンがアーティファクトレスポンスとともにプロジェクト ごとのランタイムデータベース構成を返します。
file-backed モードでは、ObjectOS はアーティファクトのデータソース宣言からデータベース設定を導出 できます。サポートされるフレームワークドライバには、SQLite、PostgreSQL、MySQL、MongoDB、および メモリベースの評価用ドライバが含まれます。
本番環境では、顧客が管理するデータベースを使用してください。デプロイが明示的に単一ノードの評価用で ない限り、業務データをコンテナローカルのストレージに依存させないでください。