配置
系統設定
通過清單(manifest)和共享的 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 key、發件地址、測試郵件 | |
| Branding | 產品名稱、Logo URL、強調色、預設主題 |
| Feature flags | 租戶級功能開關 |
| Storage | 本地檔案系統或物件儲存憑據 |
| AI providers | 模型提供商、API key、預算上限 |
| SSO | OIDC 提供商設定以及測試連線 |
機密資訊
密碼和憑據欄位應由設定服務加密,或以環境託管的值提供。當配置了機密提供商時,
設定服務會將密文儲存在 sys_secret 中,並在 sys_setting 中只保留一個控制代碼。
不要將機密資訊儲存在工件、compose 檔案或 Git 中。
測試操作
設定清單可以宣告標準的操作按鈕,例如:
- 傳送測試郵件;
- 測試 SSO discovery;
- 驗證物件儲存憑據;
- 校驗 webhook 目標。
在客戶配置流程中使用這些操作,而不是要求運維人員先去翻查日誌。
相關內容
若干設定領域有專門的配置指南: