Skip to content

Terraform

Terraform Infrastructure as Code Portfolio Project

Modular AWS Infrastructure with Terraform: Automated, Secure, and Scalable

contributors last update forks stars open issues license

Tech Stack

Devbox Taskfile gitflow uv precommit

Features

  • Modular Terraform configuration for AWS
  • Automated provisioning and teardown
  • Environment isolation (dev, staging, production)
  • Git workflow automation with Git Flow

Prerequisites

[!IMPORTANT] This project uses Devbox to provide a consistent development environment.

  1. Install Docker Docker installation guide

  2. Install Devbox Devbox installation guide

  3. Clone the repository

    git clone https://github.com/sean-njela/terraform-demo.git
    cd terraform-demo
    

  4. Start Devbox shell

devbox shell

First run may take several minutes to install tools.

  1. Configure AWS IAM The project uses Terraform Cloud. Ensure your IAM role is set up. See setup docs.

Quick Start

task setup
task status   # check if everything is running
task dev      # start development stack
task cleanup-dev

Documentation

Full documentation is in docs. Run locally with:

task docs

Then open: http://127.0.0.1:8030/

Tasks (Automation)

[!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.

Roadmap

  • Core infrastructure setup
  • Extend CI/CD integration
  • Add monitoring and alerting modules

Contributing

Contributions welcome! Open an issue or submit a PR.

License

Distributed under the MIT License. See LICENSE.

Contact