{"id":19490799,"url":"https://github.com/n3tuk/workflows-reusable-terraform","last_synced_at":"2026-04-16T22:31:14.066Z","repository":{"id":166634158,"uuid":"640639850","full_name":"n3tuk/workflows-reusable-terraform","owner":"n3tuk","description":"A set of reusable workflows which can be used across GitHub repositories","archived":false,"fork":false,"pushed_at":"2025-12-18T18:02:55.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-21T20:59:48.034Z","etag":null,"topics":["github-workflows","release-drafter","reusable-workflows","terraform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n3tuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-14T18:46:05.000Z","updated_at":"2025-12-18T18:02:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"37b6c6ed-661e-4623-8db8-1878a924eff1","html_url":"https://github.com/n3tuk/workflows-reusable-terraform","commit_stats":null,"previous_names":["n3tuk/workflows-reusable","n3tuk/workflows-reusable-terraform"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/n3tuk/workflows-reusable-terraform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3tuk%2Fworkflows-reusable-terraform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3tuk%2Fworkflows-reusable-terraform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3tuk%2Fworkflows-reusable-terraform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3tuk%2Fworkflows-reusable-terraform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n3tuk","download_url":"https://codeload.github.com/n3tuk/workflows-reusable-terraform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n3tuk%2Fworkflows-reusable-terraform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31907424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-workflows","release-drafter","reusable-workflows","terraform"],"created_at":"2024-11-10T21:14:23.892Z","updated_at":"2026-04-16T22:31:14.038Z","avatar_url":"https://github.com/n3tuk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# n3tuk Reusable Workflows for Terraform\n\nThis repository contains reusable GitHub Action Workflows related to Terraform\ntesting of [Modules][modules] and [Terraform configurations][configuration]\nrepositories.\n\n[modules]: https://github.com/n3tuk/template-terraform-module\n[configuration]: https://github.com/n3tuk/template-terraform-configuration\n\n## Workflows\n\nThe following workflows are currently defined:\n\n### `terraform-checks`\n\nThe [`terraform-checks`][terraform-checks] Workflow provides a simple pre-baked\nset of common validation and analysis to perform against Terraform code,\nincluding:\n\n[terraform-checks]: https://github.com/n3tuk/workflows-reusable-terraform/blob/master/.github/workflows/terraform-checks.yaml\n\n- `terraform init` (without connecting to a backend);\n- `terraform fmt` to check formatting;\n- `terraform validate` to check the syntax;\n- `tflint` to perform linting against the Terraform configuration and/or module;\n- `terraform-docs` to check the `README.md` is up-to-date with the current\n  configuration and/or module;\n- `tfsec` to perform static and security analysis of the configuration and/or\n  module;\n\n#### Workflow Parameters for `terraform-checks`\n\n| Variable            | Description                                                                                                                                                                                                           | Required | Default            |\n| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------ |\n| `workflow-branch`   | Use to choose the correct workflow repository branch                                                                                                                                                                  | `false`  | `master`           |\n| `name`              | `name` defines the name of the GitHub Workflow Job to make it easier in the User Interface to see which Check relates to which aspect of the Module (as by default all 3+ checks are called the same thing otherwise) | `true`   | (must be provided) |\n| `type`              | Defined the \"type\" of Terraform code being tested (should be one of `configuration`, `example`, `module`, or `submodule` only)                                                                                        | `true`   | (must be provided) |\n| `working-directory` | This is the location of the `configuration`, `example`, `module`, or `submodule`, being checked                                                                                                                       | `true`   | (must be provided) |\n\n#### Workflow Secrets for `terraform-checks`\n\n| Secret            | Description                                                                                                                                               |\n| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `WORKFLOWS_TOKEN` | A custom GitHub PAT Token used to access this reusable workflow repository if `GITHUB_TOKEN` cannot access; falls back to `GITHUB_TOKEN` if not provided. |\n| `GITHUB_TOKEN`    | The standard GitHub PAT Token needed to interact with the GitHub Repository being checked.                                                                |\n\n### `terraform-tests`\n\nThe [`terraform-tests`][terraform-tests] Workflow provides a reusable Workflow\nto execute TerraTest tests. Includes options for authenticating against\nproviders, such as AWS. The [JUnit][terratest-output] report files are also\nprovided to GitHub Actions to show the outputs of the TerraTest tests.\n\n[terraform-tests]: https://github.com/n3tuk/workflows-reusable-terraform/blob/master/.github/workflows/terraform-tests.yaml\n[terratest-output]: https://terratest.gruntwork.io/docs/testing-best-practices/debugging-interleaved-test-output/\n\n#### Workflow Parameters for `terraform-tests`\n\n| Variable           | Description                                                                                                                                                                                                 | Required | Default                                                          |\n| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------- |\n| `workflow-branch`  | Use to choose the correct workflow repository branch                                                                                                                                                        | `false`  | `master`                                                         |\n| `enable-aws`       | This will allow the [`configure-aws-credentials`][configure-aws-credentials] GitHub Action to run which will fetch and provide the AWS credentails needed to run TerraTest                                  | `false`  | `false`                                                          |\n| `aws-iam-role-arn` | This is the ARN of the AWS IAM Role which should be used to provide access into the TerraTest Shared Sandbox, with the general Role set by default (override if you require a specific IAM Role for access) | `false`  | `arn:aws:iam::516425859983:role/gha/gha-infra-terratest-general` |\n\n[configure-aws-credentials]: https://github.com/aws-actions/configure-aws-credentials\n\n#### Workflow Secrets for `terraform-tests`\n\n| Secret             | Description                                                                                                                                               |\n| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `WORKFLOWS_TOKEN`  | A custom GitHub PAT Token used to access this reusable workflow repository if `GITHUB_TOKEN` cannot access; falls back to `GITHUB_TOKEN` if not provided. |\n| `GITHUB_TOKEN`     | The standard GitHub PAT Token needed to interact with the local GitHub Repository being tested.                                                           |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn3tuk%2Fworkflows-reusable-terraform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn3tuk%2Fworkflows-reusable-terraform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn3tuk%2Fworkflows-reusable-terraform/lists"}