append-only。每棒收工追加一個 block,寫完不改。現況看
FR-184-STATE.md。
做了什麼
guidant-ai-infra 骨架並登記進工作坊commits:BE db989fcc3~811a9ba44;infra 7ec4f3a~08c67b6(含小弟 T1 93e0287)。11-08 決策者授權後兩 repo 都已 push(infra 新建遠端分支)。BE 這次 push 夾帶另一 session 的 01fb1289e+b0cc9b321(CM-3653 加開關又撤回,淨效果零),推前已核對
決策(理由在 design §3)
教訓
billingEnabledpbpaste 搭指令時不要用 Cmd+V 貼指令,剪貼簿會被指令文字蓋掉推翻了什麼
交出時:1.30.0 包 11-08 10:57 已在 188 出好,T3 前置齊了,未開始裝。
做了什麼
a108ab505、FE f95a85b8,已 push決策
TURNSTILE_ENABLED=false 可強制關;後端驗 token、/setup/status、前門 CSP 三處同一判定(common/util/turnstile_state.py).env(GUIDANT_TURNSTILE_SITE_KEY/_SECRET_KEY),不放 guidant.env:前門要 site key 決定 CSP,compose 只能從 .env 插值,且不能把整份 guidant.env 掛給前門/setup/status 帶 Turnstile 狀態,不另開 API(登入頁本來就會打)CAPTCHA_400001,只在 /setup/status 說開著時才放寬guidant.env 的 TURNSTILE_ENABLED=false 升級時不自動刪:客戶可能有意強制關,沒填 key 本來就是關教訓
推翻了什麼
build:CLOUD、T4 換雲端 FE image、每次升級後重跑」→ 取消,改有填 key 就開/srv/guidant-ai/.env 再跑 install.sh」→ 走不通(install.sh:933 看到 guidant.env 或 certs/server.key 就停),改 install.conf;這點第 1 棒 STATE §3 已發現,本棒同步進 design交出時:BE、FE 已 push。188 上 10:57 的 1.30.0 包不含 Turnstile 改動,T3 要等重出包。
PRODUCT_UPDATE_ALLOW_SAME_VERSION,寫進 STATE T3 步驟 8--check-only → 安裝。踩三個坑:①Ubuntu 24.04 要先 apt 裝 tpm2-tools(--check-only 不擋、正式才擋,記 §4 另開卡)②vulndb 檔 600,容器 uid 1000 讀不到,第⑥-3 步失敗;根因 188 的 zstd 1.4.8 從 stdin 寫檔一律 600,457f2964a 修出包腳本;VM 上 chmod 644 後 GUIDANT_REUSE_EXISTING_INSTALL=1 重跑通過 ③手跑出包沒帶 DEFAULT_UPDATE_SITE_URL,guidantai config edit 補 UPDATE_SITE_URL。另:決策者 Secret Manager 的 db-admin 與 db-app 原本同一組,首腦指出後決策者換了 db-app。裝完換 Origin 憑證、外驗 200/Turnstile enabled/CSP 放行/直打 IP 擋;installer 自產九組回寫 Secret Manager;VM 家目錄安裝包刪除(先查過無容器與單元參照)DEFAULT_UPDATE_SITE_URL 只有 CI 帶),用手跑的包裝正式環境要對照 CI 變數補;讀含祕密的安裝輸出時過濾要以「一行裡的長十六進位」為準,不要只過濾標籤(設定碼單獨一行,本棒漏過濾印進對話,一次性、已用途內,影響小)Billows tenant 3、另建 Jedicogy tenant 4)、License 開通、Brevo 填好測試信寄出成功(/mail/test 200)。首腦另做:①出包權限根因查到底——包內 19 檔 600,只有 vulndb 掛給容器讀會壞,9086e8ad8 改接既有 dist_perms.sh 整包正規化+斷言(188 實包+guidant-ai-be:1.30.0 端對端驗:600 讀不到、644 讀得到),已 push;決策者要出 1.30.1 帶上 ②預算告警 Terraform(infra 724e9c0),第一次 USD 回 400——帳單帳戶是 TWD,改 6,500 TWD 成功 ③查清楚雲端連更新站不需 Zero Trust token(Access 只守 /admin/*,/v1/* 靠 LC 簽的身分票+指紋驗章);更新站 /v1/* 沒有限流,建議 Cloudflare 加一條(未做) ④郵件與儲存設定的多租戶行為(寫進 STATE §4)git branch --contains/git tag --contains 一下Billows(安裝精靈建的總部)留給自家用,外部試用客戶另開租戶——host 模式下總部管理員能改全站寄信/LDAP;根治在 saas FRb3b21a950:--check-only 與正式安裝共用「出貨包 tpm2-tools 適不適用這台」判斷(只修誠實度,不改成自動連網 apt——installer 只裝本地檔);infra 8194fb0:開機腳本預裝 tpm2-tools、時區走 metadata。Origin 憑證刻意不進開機腳本(VM 服務帳號不該讀私鑰;升級會保留),寫進 runbook。手動處理清單 10 項,剩重建 VM 時的憑證與 188 known_hosts5fe59da):先 guidantai stop 再 apply,重開後手動 guidantai start;VM 內降到 17~24 ms、CPU pressure 4%、可用記憶體 9.4 GB。Cloudflare 靜態檔快取:雜湊檔已在快取、固定檔名的主題檔有 4 小時舊版風險,決策者裁先不動、看客戶反應第 2 棒 commits 總表(交出時補)
a108ab505 Turnstile 有填 key 就開、457f2964a+9086e8ad8 出包整包權限正規化、b3b21a950 installer tpm2-tools 判斷一致;文件 b8365df40、0a6cd990c、3fa60590c、b250ffca0、33272a8e6、79049c878、7c2c531c70134d23f5 進版、f2066a58c 正式發版帶預設更新站網址、2aeb13257 弱點白名單f95a85b8 登入頁問後端決定 Turnstile+前門 CSP;d9b1221d 版號 1.30.1(發版 session)724e9c0 預算告警、8194fb0 開機腳本補時區與 tpm2-tools、5fe59da 升 e2-standard-4、7caae4a Terraform 導讀推翻了什麼(第 2 棒)
f2066a58c);雲端 VM 的 UPDATE_SITE_URL 是首腦手動補的、1.30.1 升級後保留交出時:雲端版 1.30.1、e2-standard-4,決策者先給客戶試用。下一棒 Q&A:決策者要看懂 Terraform 回答 PM,導讀在 infra docs/terraform-walkthrough.md。之後 P1 → O1 → V1。