リファレンス
ランタイム機能
ObjectOS が ObjectStack フレームワークパッケージから読み込める機能。
ランタイム機能
ObjectOS はすべてのプロジェクトに対してベースランタイムを読み込み、その後アプリケーションアーティファクトによって宣言されたオプション機能をインストールします。
ベースランタイム
ベースプロジェクトカーネルには以下が含まれます。
- ObjectKernel のライフサイクルとサービスレジストリ
- ObjectQL データエンジン
- 構成されたデータドライバ
- メタデータサービス
- アプリケーションアーティファクトの登録
OS_AUTH_SECRETが構成されている場合の認証- RBAC、行レベルセキュリティ、フィールドセキュリティのためのセキュリティプラグイン
- i18n サービス
オプション機能
アーティファクトは requires リストに機能を宣言できます。ObjectOS はイメージ内に存在する場合、一致するフレームワークパッケージを読み込みます。
| 機能 | パッケージ | 目的 |
|---|---|---|
automation | @objectstack/service-automation | Flow/DAG の実行と自動化ノード |
ai | @objectstack/service-ai | LLM アダプタ、会話、ツール、SSE ルート |
analytics | @objectstack/service-analytics | Cube、分析クエリ、レポートデータ |
audit | @objectstack/plugin-audit | 監査ログオブジェクトと監査証跡 |
cache | @objectstack/service-cache | キャッシュ抽象化とアダプタ |
storage | @objectstack/service-storage | ファイル/オブジェクトストレージサービス |
queue | @objectstack/service-queue | キュー抽象化とワーカー |
job | @objectstack/service-job | スケジュールされた/バックグラウンドのジョブ |
realtime | @objectstack/service-realtime | WebSocket と pub/sub のリアルタイム |
feed | @objectstack/service-feed | コメント、リアクション、サブスクリプション、アクティビティフィード |
settings | @objectstack/service-settings | 設定マニフェストと K/V リゾルバ |
機能がリクエストされたものの、イメージにそのパッケージが含まれていない場合、ObjectOS は警告をログに記録し、その機能を無効にしたまま実行を継続します。 これは意図的なものであり、開発中にオプションパッケージが欠落していてもランタイムを起動可能に保つためですが、本番環境では実際のリスクとなります。
- 監査が必須のアプリを
@objectstack/plugin-auditを含まないイメージに読み込むと、正常に起動し、監査ログを一切書き込みません。コンプライアンスの証跡が、何のエラーもなく欠落することになります。 - ジョブ駆動のアプリを
@objectstack/service-jobを含まないイメージに読み込むと、正常に起動し、スケジュールされた作業を黙って一切実行しません。
本番環境のチェックリスト:
- 機能の警告をデプロイの失敗として扱ってください。起動ログから
capability not loaded(またはそれに相当するもの)を grep し、いずれかが出現した場合はレディネスプローブ / ロールアウトを失敗させてください。 - アーティファクトが
requiresで宣言するすべてのパッケージを含むランタイムイメージにピン留めしてください。 - アーティファクトを公開する際には、その
requiresリストを併せてドキュメント化し、運用者が一致するイメージを検証できるようにしてください。
API サーフェス
ObjectOS は一般的に以下を公開します。
- 生成された REST API
/api/v1/auth/*配下の認証エンドポイント- メタデータと i18n のエンドポイント
- 有効化された機能のサービスエンドポイント
GraphQL と OData はフレームワークレベルの機能であり、デプロイされたランタイムパッケージに含まれ、有効化されている場合にのみサポート対象としてドキュメント化されるべきです。