https://github.com/dsb-norge/github-actions-terraform
Collection of DSB custom GitHub actions for terraform projects
https://github.com/dsb-norge/github-actions-terraform
Last synced: 2 months ago
JSON representation
Collection of DSB custom GitHub actions for terraform projects
- Host: GitHub
- URL: https://github.com/dsb-norge/github-actions-terraform
- Owner: dsb-norge
- License: mit
- Created: 2023-05-08T11:28:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-20T07:34:20.000Z (4 months ago)
- Last Synced: 2025-02-19T13:46:46.770Z (3 months ago)
- Language: Shell
- Homepage: https://www.dsb.no
- Size: 147 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DSB's github actions for terraform
Collection of DSB custom GitHub actions and reusable workflows for terraform projects.
For workflow and development documentation refer to the [docs](/docs).## Actions
The actions are used by the CI/CD workflow(s) in [.github/workflows](.github/workflows).
```text
.
├── create-test-report --> creates comment report with terraform test action results
├── create-tf-vars-matrix --> creates common DSB terraform CI/CD variables
├── create-tftest-matrix --> creates matrix for running terraform module test
├── create-validation-summary --> creates summary comment in table format
├── export-env-vars --> export environment variables for use in subsequent action steps
├── lint-with-tflint --> run linting of terraform code with TFLint
├── setup-terraform-plugin-cache --> setup and configure plugin cache on runners
├── setup-tflint --> install TFLint and make available to subsequent action steps
├── terraform-docs --> inject terraform-docs config and terraform module documentation into README.md
├── terraform-fmt --> checks if terraform code is formatted
├── terraform-plan --> run terraform plan in directory
├── terraform-apply --> run terraform apply in directory
└── terraform-test --> run terraform test in directory
```## Workflows
```text
.
└── .github/workflows --> directory for reusable workflows
├── terraform-terraform-ci-cd-default.yml --> default ci/cd workflow for DSB's
├── terraform-module-release --> tag and release module. Creates release plan PR.
└── terraform-module-ci --> default ci workflow for module testing
terraform projects
```### Workflow [`terraform-ci-cd-default`](.github/workflows/terraform-ci-cd-default.yml)
Default DSB CI/CD workflow for terraform projects that performs various operations depending on from what github event it was called and given input.
See [docs](docs/Workflow-terraform-ci-default.md) for workflow information, configuration and behavior.### Workflow [`terraform-module-ci`](.github/workflows/terraform-module-ci.yaml)
This GitHub Actions workflow is designed for Continuous Integration (CI) of Terraform modules.
See [docs](docs/Workflow-terraform-module-ci.md) for workflow information, configuration and behavior.### Workflow [`terraform-module-release`](.github/workflows/terraform-module-release.yaml)
Workflow for release of terraform modules (Semver tag + github release).
See [docs](docs/Workflow-terraform-module-release.md) for workflow information, configuration and behavior.## Development and maintenance