{"id":18558970,"url":"https://github.com/flyinprogrammer/terraform_base","last_synced_at":"2026-03-19T05:03:51.893Z","repository":{"id":126282331,"uuid":"357953786","full_name":"flyinprogrammer/terraform_base","owner":"flyinprogrammer","description":"Starter Project from 0 to AMI w/ ASG","archived":false,"fork":false,"pushed_at":"2021-05-19T00:55:57.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-15T15:52:25.662Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/flyinprogrammer.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":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-14T15:28:44.000Z","updated_at":"2021-05-19T00:55:59.000Z","dependencies_parsed_at":"2023-06-16T03:00:32.022Z","dependency_job_id":null,"html_url":"https://github.com/flyinprogrammer/terraform_base","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/flyinprogrammer/terraform_base","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyinprogrammer%2Fterraform_base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyinprogrammer%2Fterraform_base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyinprogrammer%2Fterraform_base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyinprogrammer%2Fterraform_base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyinprogrammer","download_url":"https://codeload.github.com/flyinprogrammer/terraform_base/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyinprogrammer%2Fterraform_base/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268362013,"owners_count":24238533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-06T21:41:44.860Z","updated_at":"2026-02-08T13:03:23.711Z","avatar_url":"https://github.com/flyinprogrammer.png","language":"HCL","readme":"# Terraform Base\n\nThese are the base \"projects\" I use in a mono-repo~ish way to manage an AWS Account for tutorials.\n\n## Project Descriptions\n\n### [Terraform Bootstrap](/terraform_bootstrap)\n\nThis project is responsible for creating all the resources that Terraform uses to manage Terraform in AWS.\n\n- S3 Bucket for terraform state files (json blobs)\n- KMS Key to encrypt terraform state files\n- DynamoDB for locking state files to prevent corruption in a multi-user environment\n\n### [Terraform IAM](/terraform_iam)\n\nCentrally managed IAM resources that are useful to have created across tutorials.\n\n- Service Linked Roles\n- Standard Required Roles by AWS Services\n\n### [Terraform SSM](/terraform_ssm)\n\nResources required to get SSM Session Manager working for SSH-less EC2 access.\n\n- CloudWatch Log Group for storing session logs\n- KMS Key to encrpyt the logs\n- SSM Session application configuration\n- IAM Role for EC2 instances to use the KMS key to encrypt the sessions\n\n## How-To Use\n\n### Replace Known \"Broken\" Values\n\nCommon values you need to replace because they're only useful for me:\n\n- Anything mentioning: hpydev\n- Anything referencing: 666236088316\n- Likely the region choice: us-east-2\n\nFor the most part, if you search for \"TODO:\" you'll find all the places that are important.\n\n### `.tfvars` Files\n\nIn some projects, like Terraform Bootstrap, there is a `terraform.tfvars.example` file which should be copied or moved\nto `terraform.tfvars` and then have the values replaced with the values you'd like to use.\n\nAt the moment I add the `terraform.tfvars` to the `.gitignore` file so that they are not accidentally checked in,\nin the event they contain sensitive information. If that's annoying remove its reference from `.gitignore` and check\nthe file into source control.\n\nThese [Variable Definitions Files](https://www.terraform.io/docs/language/values/variables.html#variable-definitions-tfvars-files)\ncan be quite helpful for creating more advanced CI/CD workflows. \n\n### Make\n\nAfter reviewing and fixing up the resources here, you can use `Make` to run the commands:\n\n```bash\nmake init\n# ... sets up the project's dependencies\nmake plan\n# ... a plan output\nmake apply\n# ... logs showing the resources being created/managed\n```\n\nAs you add more resources you might want to use:\n\n```bash\nmake fmt\n```\n\nTo keep your terraform code looking sharp.\n\nAfter a while, you'll want to update your Terraform Modules and Providers:\n\n```bash\nmake clean\nmake upgrade\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyinprogrammer%2Fterraform_base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyinprogrammer%2Fterraform_base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyinprogrammer%2Fterraform_base/lists"}