Home avatar

Lou Stack Base

Take notes. Do whatever I want.

GitHub Actions + GCP WIF: 用 Branch、Workflow 與 Service Account 切出最小權限

如果要把 GitHub Actions 接到 GCP, 我現在最不想再做的就是:

  • one shared deploy service account
  • one broad trust rule
  • one workflow that can hit every environment

這樣一開始很省事, 但後面只要開始切 dev / prod, 風險和 debug 成本都會一起上升。

這篇整理我最後收斂出來的做法: 用 branch、workflow、service account 三層一起切最小權限。

在單一 GCP Project 裡切 Dev / Prod: State、Secrets、IAM 與 Workflow 邊界

這篇記錄我把一套 Cloud Run + Cloud SQL 應用留在同一個 GCP project 裡, 但仍然把 devprod 切乾淨的做法。

重點不是 branch 命名, 也不是多建兩個 GitHub workflow 而已。真正要切的是 state、資源命名、secrets、執行身分、部署身分, 還有 workflow 控管。這幾層如果只漏一層, 最後就還是會互撞。

DDD 踩坑 — Aggregate Boundary、Double-Entry Ledger 和 Event System

上一篇 講了 DDD 的概念跟 .NET MVC 的對比。這篇記錄實際在專案裡踩到的坑: aggregate boundary 怎麼畫、double-entry ledger 怎麼設計、event system 怎麼讓模組之間溝通

Aggregate Boundary 畫錯的代價

Aggregate 的規則聽起來很簡單 — 一組一定要一起存取的東西, 有一個 root entity 當入口。但實際畫 boundary 的時候, 很容易畫錯

從 AWS EC2 遷移到 GCP Cloud Run: 架構決策與踩坑紀錄

把 side project 的 backend 從 AWS EC2 + Docker Compose 搬到 GCP Cloud Run 的完整紀錄, 包含 GCP 與 AWS 的概念對應、Terraform 分層設計、WIF 安全邊界, 以及一路被 review 抓出來的問題

GCP 與 AWS 的概念對應

兩邊都是 cloud provider, 但命名和分層方式不太一樣。搬家之前先搞清楚對應關係, 後面做設定才不會搞混

0%