Modular AWS Infrastructure with Terraform: Automated, Secure, and Scalable
- Modular Terraform configuration for AWS
- Automated provisioning and teardown
- Environment isolation (dev, staging, production)
Important
This project uses Devbox to provide a consistent development environment.
-
Install Docker Docker installation guide
-
Install Devbox Devbox installation guide
-
Clone the repository
git clone https://github.com/sean-njela/terraform-demo.git cd terraform-demo
-
Start Devbox shell
devbox shell
First run may take several minutes to install tools.
-
Configure AWS IAM The project uses Terraform Cloud. Ensure your IAM role is set up. See setup docs.
task setup
task status # check if everything is running
task dev # start development stack
task cleanup-dev
Full documentation is in docs. Run locally with:
task docs
Then open: http://127.0.0.1:8030/
Important
This project is designed for a simple, one-command setup. All necessary actions are orchestrated through Taskfile.yml
.
The Taskfile.gitflow.yml
provides a structured Git workflow using Git Flow. This helps in managing features, releases, and hotfixes in a standardized way. To run these tasks just its the same as running any other task. Using gitflow is optional.
To see all tasks:
task --list-all
If you do not want the gitflow tasks, you can remove the Taskfile.gitflow.yml
file and unlink it from the Taskfile.yml
file (remove the includes
section). If you cannot find the section use CTRL + F to search for Taskfile.gitflow.yml
.
Important notes to remember whilst using the project
- Core infrastructure setup
- Add Precommit
- Add Terragrunt
Contributions welcome! Open an issue or submit a PR.
Distributed under the MIT License. See LICENSE
.