Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/design/environments-and-delivery.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ OBFS_PASSWORD = Secret Manager version 引用
PROXY_USERS_JSON = Secret Manager version 引用
```

以上全部字段由部署 job 拥有,platform 的 OpenTofu 定义必须对它们声明 `lifecycle { ignore_changes }`,详见[基础设施与身份](infrastructure-and-identity.md);platform apply 不得覆盖这些字段。
以上全部字段由部署 job 拥有,platform 的 OpenTofu 定义必须对它们声明 `lifecycle { ignore_changes }`,同时忽略 gcloud 写入的 `client` 与 `client_version` 部署者元数据,详见[基础设施与身份](infrastructure-and-identity.md);platform apply 不得覆盖这些字段,也不得为清除部署者元数据制造空更新。

Secret version 创建成功但 revision 失败时允许保留该 version 供审计和重试。

Expand Down
2 changes: 2 additions & 0 deletions infra/modules/subscription_service/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ resource "google_cloud_run_v2_service" "subscription" {

lifecycle {
ignore_changes = [
client,
client_version,
template[0].containers[0].env,
template[0].containers[0].image,
traffic,
Expand Down
4 changes: 4 additions & 0 deletions scripts/infra/test-guards.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ rg -q '确认值不匹配' "$destroy_guard_log" || infra::die "destroy 拒绝原
rg -q -- '-auto-approve' "${SCRIPT_DIR}/destroy-platform.sh" || infra::die "GitHub destroy 必须显式非交互批准"
rg -q -- '-input=false' "${SCRIPT_DIR}/destroy-platform.sh" || infra::die "GitHub destroy 不得等待交互输入"

subscription_module="${INFRA_ROOT}/infra/modules/subscription_service/main.tf"
rg -q '^[[:space:]]+client,$' "$subscription_module" || infra::die "platform 必须忽略 Cloud Run deploy client 元数据"
rg -q '^[[:space:]]+client_version,$' "$subscription_module" || infra::die "platform 必须忽略 Cloud Run deploy client version 元数据"

development_file=$(infra::require_environment development)
production_file=$(infra::require_environment production)
development_project=$(infra::read_tfvar "$development_file" project_id)
Expand Down