{"id":44217133,"url":"https://github.com/generalui/terraform-accelerator","last_synced_at":"2026-04-01T20:49:49.052Z","repository":{"id":337530236,"uuid":"684252095","full_name":"generalui/terraform-accelerator","owner":"generalui","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-20T19:03:21.000Z","size":1285,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-20T23:59:56.843Z","etag":null,"topics":["accelerator","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/generalui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SecurityGroup/README.md","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-08-28T19:00:20.000Z","updated_at":"2026-03-20T16:37:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/generalui/terraform-accelerator","commit_stats":null,"previous_names":["generalui/terraform-accelerator"],"tags_count":88,"template":true,"template_full_name":null,"purl":"pkg:github/generalui/terraform-accelerator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generalui%2Fterraform-accelerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generalui%2Fterraform-accelerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generalui%2Fterraform-accelerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generalui%2Fterraform-accelerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/generalui","download_url":"https://codeload.github.com/generalui/terraform-accelerator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generalui%2Fterraform-accelerator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: 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":["accelerator","terraform"],"created_at":"2026-02-10T02:19:41.981Z","updated_at":"2026-04-01T20:49:49.045Z","avatar_url":"https://github.com/generalui.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Accelerators\n\nThese modules are intended as \"go to\" terraform modules for building IAC.\n\n## Requirements\n\n- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) configured with your credentials (~/.aws/credentials) - For AWS modules only\n- [Terraform CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli) tool installed\n  - This repo is set up to use [asdf](https://github.com/asdf-community/asdf-hashicorp)\n\n## Linting\n\nBefore a PR to the main branch will be accepted, the code must pass lint.\nTo check if scripts are passing lint locally, simply execute\n\n```sh\nterraform fmt -check -recursive -diff\n```\n\nTo format and fix any linting issues, execute\n\n```sh\nterraform fmt -recursive\n```\n\nFor linting documentation, see [Documentation Linting](#documentation-linting).\n\n## Validation\n\nBefore a PR to the main branch will be accepted, the code must pass validation.\nTo check if scripts are passing validation locally, simply execute the following from within the appropriate Terraform project folder:\n\n```sh\nterraform init \u0026\u0026 terraform validate\n```\n\n## Naming Conventions\n\nFollow the Terraform \"best practices\" naming conventions here \u003chttps://www.terraform-best-practices.com/naming\u003e.\n\nFor files, use \"snake_case\" for the main name of the file or folder. If the file is an \"output\", append \"_output\".\n\nFor folders, use \"PascalCase\".\n\n## Development\n\nCreate a new branch off of `main`.\n\n- Branches for new features should be named like `feature/cool_new_feature`.\n- Branches for bug fixing should be named like `bugfix/pesky_bug`.\n- Branches for other changes, like documentation, tooling, etc should be named with your initials, like `jmcr/docs`.\n\nMake PRs to the `main` branch.\n\nPRs to main will kick off the \"Code Quality\" Github workflow.\nThis will validate the terraform files as well as markdown files.\nMerging should be denied if these fails.\n\nThe workflows use the `TERRAFORM_VERSION` variable for the repo (see \u003chttps://github.com/generalui/terraform-accelerator/settings/variables/actions\u003e).\nEnsure this value matches the version of Terraform being used to deploy.\n\n## Documentation\n\nTo auto generate documentation, use [terraform-docs](https://github.com/terraform-docs/terraform-docs).\n\nGenerate the documentation to the `SPECS.md` file for the specific module.\n\nChange directories to the module that needs documentation or a documentation update and run:\n\n```sh\nterraform-docs markdown table --output-file SPECS.md --output-mode inject ./\n```\n\n### Documentation Linting\n\nUse the [`markdownlint` vscode extension](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint).\n\nOr run in directly using [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2).\n\n```sh\nmarkdownlint-cli2 \"**/*.md\" \"#**/SPECS.md\" \"#**/.terraform/**\"\n```\n\nThe [`.markdownlint.json`](./.markdownlint.json) file is used to configure the markdown linting rules.\n\nThe [`.markdownlintignore`](./.markdownlintignore) file is used to ignore linting for specific files and paths.\n\n## Tagging\n\nOnce a new module is merged to `main`, create a new release tag with the version.\nThe version should be for that specific module, ie `1.0.1-KeyPair`.\nWhere `1.0.1` is the version and `-KeyPair` references the module name.\nIt is fine to have multiple release tags in the repo.\n\n## Using Modules\n\nThe modules in this repo may be copied to another terraform project or may be referenced directly from Github and pinned to the version.\n(See \u003chttps://developer.hashicorp.com/terraform/language/modules/sources#github\u003e)\n\n```hcl\nsource = \"git::https://github.com/generalui/terraform-accelerator.git//KeyPair?ref=1.0.2-KeyPair\"\n```\n\nWhere `git::https://github.com/generalui/terraform-accelerator.git` references this repo,\n`//KeyPair` references the folder that holds the module,\nand `?ref=1.0.1-KeyPair` references the version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneralui%2Fterraform-accelerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeneralui%2Fterraform-accelerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneralui%2Fterraform-accelerator/lists"}