Skip to content

Terraform portfolio project designed to highlight professional experience with DevOps tooling and best practices.

License

Notifications You must be signed in to change notification settings

sean-njela/terraform-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform    AWS    HashiCorp

Terraform Infrastructure as Code Portfolio Project

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

contributors last update forks stars open issues license

Screenshots

Click to expand
screenshot1 screenshot2 screenshot3

Tech Stack

Devbox Taskfile gitflow uv precommit

Features

  • Modular Terraform configuration for AWS
  • Automated provisioning and teardown
  • Environment isolation (dev, staging, production)

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.

  5. 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.

NOTES

Important notes to remember whilst using the project

Roadmap

  • Core infrastructure setup
  • Add Precommit
  • Add Terragrunt

Contributing

Contributions welcome! Open an issue or submit a PR.

License

Distributed under the MIT License. See LICENSE.

Contact

About

Terraform portfolio project designed to highlight professional experience with DevOps tooling and best practices.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published