システム設定
マニフェストと共有 K/V ストアを通じて、テナントおよびユーザーの設定を構成します。
システム設定
ObjectStack には、ランタイムおよびプラグインの設定を扱う設定サービスが含まれています。 ObjectOS は、アプリケーションアーティファクトが設定機能を必要とする場合に、 それらの設定を Console を通じて公開します。
設定モデル
設定はコードによって宣言され、値として保存されます。
| レイヤー | 目的 |
|---|---|
| Settings Manifest | フィールド、ラベル、デフォルト値、検証、表示/非表示、アクションを定義します |
sys_setting | テナント/ユーザーの K/V 値を保存します |
| Resolver | 有効な値を読み取ります |
| Console UI | 標準の設定ページをレンダリングします |
プラグインは、通常の構成のために一回限りの設定テーブルを作成すべきではありません。 設定マニフェストを宣言し、ObjectOS に値のレンダリングと保存を 一貫して任せるべきです。
解決順序
各設定はスコープ(global、tenant、または user)を宣言します。
リゾルバは優先度の高いものから低いものへとカスケードをたどり、
最初に設定されている値が採用されます。
Environment override (locked)
Global setting
Tenant setting
User setting
Manifest default環境オーバーライドはロックされています。値が環境変数を通じて設定されている場合、 Console UI はそれをホストによって管理されていると表示し、ランタイムでの編集を 拒否します。チェーンの上位のいずれかでロックされた値があると、有効な値も ロックされるため、下位のスコープはそれを上書きできません。
一般的な設定領域
顧客向けの設定には通常、以下が含まれます。
| 領域 | 例 |
|---|---|
| SMTP ホスト、プロバイダー API キー、送信元アドレス、テストメール | |
| Branding | 製品名、ロゴ URL、アクセントカラー、デフォルトテーマ |
| Feature flags | テナントレベルの機能スイッチ |
| Storage | ローカルファイルシステムまたはオブジェクトストレージの認証情報 |
| AI providers | モデルプロバイダー、API キー、予算上限 |
| SSO | OIDC プロバイダー設定および接続テスト |
シークレット
パスワードや認証情報のフィールドは、設定サービスによって暗号化されるか、
環境管理された値として提供されるべきです。シークレットプロバイダーが構成されている場合、
設定サービスは暗号文を sys_secret に保存し、sys_setting にはハンドルのみを
保持します。シークレットをアーティファクト、compose ファイル、または Git に
保存しないでください。
テストアクション
設定マニフェストでは、次のような標準のアクションボタンを宣言できます。
- テストメールを送信する
- SSO ディスカバリをテストする
- オブジェクトストレージの認証情報を検証する
- webhook ターゲットを検証する
オペレーターに最初にログを確認させるのではなく、顧客のセットアップフローには これらのアクションを使用してください。
関連項目
いくつかの設定領域には専用の構成ガイドがあります。