ObjectOS
リファレンス

ランタイム機能

ObjectOS が ObjectStack フレームワークパッケージから読み込める機能。

ランタイム機能

ObjectOS はすべてのプロジェクトに対してベースランタイムを読み込み、その後アプリケーションアーティファクトによって宣言されたオプション機能をインストールします。

ベースランタイム

ベースプロジェクトカーネルには以下が含まれます。

  • ObjectKernel のライフサイクルとサービスレジストリ
  • ObjectQL データエンジン
  • 構成されたデータドライバ
  • メタデータサービス
  • アプリケーションアーティファクトの登録
  • OS_AUTH_SECRET が構成されている場合の認証
  • RBAC、行レベルセキュリティ、フィールドセキュリティのためのセキュリティプラグイン
  • i18n サービス

オプション機能

アーティファクトは requires リストに機能を宣言できます。ObjectOS はイメージ内に存在する場合、一致するフレームワークパッケージを読み込みます。

機能パッケージ目的
automation@objectstack/service-automationFlow/DAG の実行と自動化ノード
ai@objectstack/service-aiLLM アダプタ、会話、ツール、SSE ルート
analytics@objectstack/service-analyticsCube、分析クエリ、レポートデータ
audit@objectstack/plugin-audit監査ログオブジェクトと監査証跡
cache@objectstack/service-cacheキャッシュ抽象化とアダプタ
storage@objectstack/service-storageファイル/オブジェクトストレージサービス
queue@objectstack/service-queueキュー抽象化とワーカー
job@objectstack/service-jobスケジュールされた/バックグラウンドのジョブ
realtime@objectstack/service-realtimeWebSocket と pub/sub のリアルタイム
feed@objectstack/service-feedコメント、リアクション、サブスクリプション、アクティビティフィード
settings@objectstack/service-settings設定マニフェストと K/V リゾルバ

機能がリクエストされたものの、イメージにそのパッケージが含まれていない場合、ObjectOS は警告をログに記録し、その機能を無効にしたまま実行を継続します。 これは意図的なものであり、開発中にオプションパッケージが欠落していてもランタイムを起動可能に保つためですが、本番環境では実際のリスクとなります

  • 監査が必須のアプリを @objectstack/plugin-audit を含まないイメージに読み込むと、正常に起動し、監査ログを一切書き込みません。コンプライアンスの証跡が、何のエラーもなく欠落することになります。
  • ジョブ駆動のアプリを @objectstack/service-job を含まないイメージに読み込むと、正常に起動し、スケジュールされた作業を黙って一切実行しません

本番環境のチェックリスト:

  1. 機能の警告をデプロイの失敗として扱ってください。起動ログから capability not loaded(またはそれに相当するもの)を grep し、いずれかが出現した場合はレディネスプローブ / ロールアウトを失敗させてください。
  2. アーティファクトが requires で宣言するすべてのパッケージを含むランタイムイメージにピン留めしてください。
  3. アーティファクトを公開する際には、その requires リストを併せてドキュメント化し、運用者が一致するイメージを検証できるようにしてください。

API サーフェス

ObjectOS は一般的に以下を公開します。

  • 生成された REST API
  • /api/v1/auth/* 配下の認証エンドポイント
  • メタデータと i18n のエンドポイント
  • 有効化された機能のサービスエンドポイント

GraphQL と OData はフレームワークレベルの機能であり、デプロイされたランタイムパッケージに含まれ、有効化されている場合にのみサポート対象としてドキュメント化されるべきです。

On this page