Skip to content

CI/CD

.github/workflows/pve_cicd.yaml が Terraform の plan / apply を実行する。 ジョブは self-hosted runner 上で動き、作業ディレクトリを terraform/、バックエンドを GCS とする。

手元で同じことをする

ローカル実行の手順は ローカル環境の準備 を参照する。

トリガーとジョブ

トリガー ジョブ 内容
PR の作成と更新 terraform-plan fmt / validate / plan
main への push terraform-apply apply(production 環境)
workflow_dispatch plan または apply 手動実行

パスが terraform/** または workflow ファイル自身に当たるときだけ、plan / apply が走る。 docs/ だけの変更では plan / apply は走らない。

必要な GitHub 設定

Secrets

名前 用途
GCP_WORKLOAD_IDENTITY_PROVIDER Workload Identity Federation プロバイダ
PROXMOX_ENDPOINT Proxmox API エンドポイント
PROXMOX_API_TOKEN Proxmox API トークン
PROXMOX_SSH_PASSWORD Proxmox ノード SSH パスワード

GitHub Actions は Workload Identity Federation で認証し、GCS バケット pve-state へ直接アクセスする。

ドキュメント更新の通知

.github/workflows/trigger-docs-hub.yml は docs/** の main への push、または手動実行で docs-hub へ repository_dispatch を送る。 Terraform の plan / apply とは独立に動く。