Pipery Terraform CD#
- Repository:
pipery-terraform-cd - Release tag:
v1.0.0 - Catalog: /catalog/
Reusable GitHub Action for Terraform CD with structured logging via Pipery.
Usage#
name: CD
on:
push:
branches: [main]
jobs:
cd:
uses: pipery-dev/pipery-terraform-cd@v1
with:
project_path: .
secrets: inheritPipeline steps#
init → plan → apply → drift detection → state management
Every step is logged to pipery.jsonl via psh and uploaded as a GitHub Actions artifact.
Inputs#
| Input | Description | Default |
|---|---|---|
project_path | Path to the Terraform root module. | . |
config_file | Path to the pipery config file. | .github/pipery/config.yaml |
terraform_version | Terraform CLI version to use. | latest |
backend_config | Comma-separated backend config vars (key=val). | `` |
var_file | Path to a .tfvars file. | `` |
working_directory | Working directory for Terraform commands. | . |
plan_only | Only run plan, do not apply. | false |
auto_approve | Skip interactive approval of plan. | true |
destroy | Run terraform destroy instead of apply. | false |
check_drift | Run a post-apply plan to detect drift. | true |
skip_plan | Skip terraform plan step. | false |
skip_apply | Skip terraform apply step. | false |
skip_drift_check | Skip drift detection step. | false |
log_file | Path to write the JSONL log file. | pipery.jsonl |
Observability#
Each run produces a pipery.jsonl file. Upload it as an artifact and inspect it with the Pipery Dashboard.
License#
MIT — see LICENSE.