Skip to content

infra(ci-cd): Phase 1 Sprint 2 — infra tag → terraform apply(S2Infra-7) #484

Description

@win2cot

親: #206(Sub-issues 参照)

概要

infra-vX.Y.Z-dev tag push → terraform plan → 承認 → terraform apply を実行する workflow を作成する(S2Infra-7、tag 形式は ADR-0026)。

claude-automation 不適用: workflow 編集系は case B(人手 PR 固定)。

やること

  • tag 駆動(infra-v*、ADR-0026)の 2 段 job 構成: plan job(terraform plan -out=tfplan を job summary に出力 + artifact 保存)→ apply job(GitHub Environments required reviewers 承認後、保存済み tfplan をそのまま適用)
  • ADR-0028 巻き戻し防止 (iii): apply job 冒頭で、保存済み tfplan が前提とする稼働イメージと現在の稼働イメージを突合し、不一致なら fail-closed で停止(plan 承認待ち中にアプリ deploy が割り込んだ場合は再 plan)
  • 既存 environment(platform-apply / tasks-apply)に required reviewers(win2cot)を設定
  • platform / tasks 2 stack の実行順序・対象選択の設計(ADR-0004)
  • OIDC IAM Role(S0Infra 系で構築済)使用、state は use_lockfile
  • Terraform CI(fmt + validate infra(ci): Terraform fmt + validate を PR CI に追加(creds 不要、infra/** path-gated) #383 / IaC scan infra(security): IaC セキュリティスキャン(tfsec/trivy/checkov)を CI に追加 #384)との関係整理(PR 時 = 検証、tag 時 = plan → 承認 → apply)
  • 現行 terraform-apply.yml(workflow_dispatch)からの移行方針(置き換え or dispatch 併存)を PR 内で明記

受入基準

  • infra-v0.1.0-dev tag push で plan → Environments 承認 → terraform apply が自動実行(受入条件 [Phase 1 Infra] Setup 0-2 + Sprint 0-5 Infra ストリーム横断 tracker #206、ADR-0026)
  • 承認前に plan 内容が job summary で確認できる
  • plan 承認待ち中にアプリ deploy が割り込んだ場合、apply が fail-closed で停止する(ADR-0028)
  • apply ログから secrets 平文が出力されない

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ci.github/workflows / CI/CD パイプライン変更area/infraAWS インフラ(ECS Fargate / RDS / Keycloak / IAM)変更priority/p0Critical / Blocker。本番影響あり、または他作業がブロックされるtask-type:implコード実装が主体のタスク

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions