Title here
Summary here
Pipeline for Terraform modules. This pipeline will run terraform fmt, terraform plan and terraform apply.
apply_mode=manual or apply_mode=auto-approveflowchart TD
classDef optional stroke-dasharray: 5 5
job:terraform-plan["terraform-plan"]
job:terraform-fmt{{"terraform-fmt"}}
job:terraform-apply["terraform-apply"]
subgraph stage:build["stage: build"]
job:terraform-plan
end
subgraph stage:test["stage: test"]
job:terraform-fmt
end
subgraph stage:deploy["stage: deploy"]
job:terraform-apply
end
stage:build --> stage:test
stage:test --> stage:deploy
apply_mode=auto-approve-non-destructiveflowchart TD
classDef optional stroke-dasharray: 5 5
job:terraform-plan["terraform-plan"]
job:terraform-fmt{{"terraform-fmt"}}
job:terraform-apply:generate["terraform-apply:generate"]
job:terraform-apply:trigger["terraform-apply:trigger"]
subgraph stage:build["stage: build"]
job:terraform-plan
end
subgraph stage:test["stage: test"]
job:terraform-fmt
end
subgraph stage:deploy["stage: deploy"]
job:terraform-apply:generate
job:terraform-apply:trigger
job:terraform-apply:generate --> job:terraform-apply:trigger
end
stage:build --> stage:test
stage:test --> stage:deploy
subgraph child:terraform-apply["child pipeline: terraform-apply"]
child:terraform-apply:terraform-apply["terraform-apply"]
child:terraform-apply:gitlab-issue-361574["gitlab-issue-361574"]
end
job:terraform-apply:trigger -.- child:terraform-apply
include:
- component: gitlab.com/release-process/terraform/pipeline@0.1.0| Name | Description | Default |
|---|---|---|
| apply_mode | The mode to use when applying changes. See also: apply_mode Options | manual |
| dir | the directory to build | . |
| name | The name to prefix all job names with | terraform |
| terraform_init_args | additional arguments to pass to the terraform init command | -lockfile=readonly |
| terraform_version | The version of Terraform to use | 1.8 |
| Name | Description |
|---|---|
| manual | Requires manual approval before applying changes. |
| auto-approve | Automatically applies changes without requiring approval. |
| auto-approve-non-destructive | Automatically applies changes without requiring approval, but only if the plan is non-destructive. |