跳至主要内容

2.4 Config Server 套用

Config Server 分頁 · momo-ticket-system ext API · RCM Config Server(KrakenD gateway)

使用者momo-cogworkmomo-ticket-systemext APIRCM Config Server各環境 gateway + key開啟「Config Server」分頁GET /api/ext/config-server-changes?updated=false待處理異動environment 可為 "TP" 單一值,或 "TC+TP"、"TC+TP+GCP" 多環境合併值點某一筆「套用」→ 確認彈窗 → 確定套用重新 GET 一次,取最新、權威的那筆記錄防呆檢查:value 是空字串就直接擋下拆解 environment("+" 分隔),逐一解析每個環境的 RCM 憑證loop · 依序寫入每個環境POST {api-base}/config(action=update,upsert){r:1, m:"success"}(或 r:0 / 4xx 業務失敗)全部環境都成功,才會標記 momo-ticket-system 完成中途失敗只回報「已成功套用到哪些環境」,不標記完成之後安全重試(RCM 寫入是 upsert)PUT /api/ext/config-server-changes/{id}完整記錄,只把 updated/deploy 改成 true200 {data: 更新後的記錄}

圖 4 — Config Server 異動套用:先寫 RCM、後標記完成

安全設計重點

  • RCM 先寫、momo-ticket-system 後標記——RCM 才是真正的系統紀錄來源;若後標記失敗,變更本身已經生效,只是 momo-ticket-system 這邊看起來還是待處理,可以安全重試。
  • 空值防呆——value 是空字串時直接拒絕套用,避免把 RCM 正式環境的值洗成空白。
  • 多環境合併套用——environment 欄位可能是 "TC+TP"、"TC+TP+GCP";cogwork 會先把每個環境的憑證都解析成功才開始寫入,任何一個環境失敗就停下並清楚回報進度,不會半套用就標記完成。

已知限制

警告

RCM 網頁上的「Deploy」開關(API 回應裡的 enable 欄位)無法透過 API Key 寫入 API 控制——實測寫入時帶 enable:true 會被 RCM 直接忽略。目前透過 API 寫入的值一律是「未啟用」狀態,需要有人到 RCM 網頁手動打開該 key 的 Deploy 開關才會實際生效。已提問題單給 RCM 維護人員確認(見 rcm-enable-deploy-toggle.md)。