{"id":24391991,"url":"https://github.com/angelmadames/terraform-s3-dynamodb-backend","last_synced_at":"2025-03-13T01:13:37.151Z","repository":{"id":231703296,"uuid":"782232879","full_name":"angelmadames/terraform-s3-dynamodb-backend","owner":"angelmadames","description":"A small Terraform-based script to deploy an S3 bucket for state management and a DynamoDB table for state locking.","archived":false,"fork":false,"pushed_at":"2025-01-16T21:24:21.000Z","size":11,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T22:27:38.078Z","etag":null,"topics":["backend","dynamodb","remote","s3","state","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","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/angelmadames.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-04-04T22:25:21.000Z","updated_at":"2024-04-05T12:40:25.000Z","dependencies_parsed_at":"2024-04-19T01:27:37.721Z","dependency_job_id":"d1bcf222-85be-4789-a15b-54a99b0241bc","html_url":"https://github.com/angelmadames/terraform-s3-dynamodb-backend","commit_stats":null,"previous_names":["angelmadames/terraform-s3-dynamodb-backend"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelmadames%2Fterraform-s3-dynamodb-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelmadames%2Fterraform-s3-dynamodb-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelmadames%2Fterraform-s3-dynamodb-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelmadames%2Fterraform-s3-dynamodb-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angelmadames","download_url":"https://codeload.github.com/angelmadames/terraform-s3-dynamodb-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243318758,"owners_count":20272144,"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","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":["backend","dynamodb","remote","s3","state","terraform"],"created_at":"2025-01-19T18:00:37.850Z","updated_at":"2025-03-13T01:13:37.132Z","avatar_url":"https://github.com/angelmadames.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- omit in toc --\u003e\n# Terraform S3 + DynamoDB Backend Module\n\n[![🧪 Tests](https://github.com/angelmadames/terraform-s3-dynamodb-backend/actions/workflows/test.yml/badge.svg)](https://github.com/angelmadames/terraform-s3-dynamodb-backend/actions/workflows/test.yml)\n[![✨ Lint](https://github.com/angelmadames/terraform-s3-dynamodb-backend/actions/workflows/tflint.yml/badge.svg)](https://github.com/angelmadames/terraform-s3-dynamodb-backend/actions/workflows/tflint.yml)\n\n\u003c!-- omit in toc --\u003e\n## 📑 Contents\n\n- [📘 Overview](#-overview)\n- [⛏️ Setup](#️-setup)\n- [🏗️ Usage](#️-usage)\n- [🔖 License](#-license)\n\n## 📘 Overview\n\nThis repository contains a small Terraform module that sets up an S3 bucket and DynamoDB table as a backend for Terraform state. It's not meant to be too complex, so the state is local.\n\nUse it to quickly provision backends for your Terraform projects.\n\nThe tools/platforms used in this project include:\n\n- **Terraform**: an infrastructure as code tool used to define and provision infrastructure resources.\n- **AWS**: the Cloud Service Provider that runs the services S3 and DynamoDB.\n\nThe resources it creates are related to the following AWS services:\n\n- **S3**: Amazon Simple Storage Service, a scalable object storage service.\n  Used for storing and managing the state.\n- **DynamoDB**: a fully managed NoSQL database service provided by AWS.\n  Used for state locking mechanism.\n\n## ⛏️ Setup\n\n\u003e ℹ️ I use `asdf` to manage multiple tools versions in my local environment.\n\u003e You can choose to install the tools required in your preferred way.\n\nTo get started, first install all required tools with `asdf`:\n\n```bash\n# Will install all tools defined in the .tool-versions file\nasdf install\n```\n\n## 🏗️ Usage\n\nThe usage is simple, simply:\n\n1. Update the variables in the `inputs.tfvars` file, or use `-var` to pass the values to the Terraform CLI.\n2. Set up your AWS credentials. I recommend using profiles or assumable roles, but feel free\n   to choose your preferred method of authentication.\n3. Run `terraform plan` and then `terraform apply` if the resources definitions match your expectations.\n\n## 🔖 License\n\nThis project is licensed under the MIT License.\nSee the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelmadames%2Fterraform-s3-dynamodb-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelmadames%2Fterraform-s3-dynamodb-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelmadames%2Fterraform-s3-dynamodb-backend/lists"}