Skip to content

weyderfs/terraform-aws-modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform AWS Modules

Simple & clean modules to use.

Terraform OpenTofu AWS Provider Modules Maintained

Table of Contents


About

This repository contains a comprehensive collection of Terraform modules for AWS services, organized by service category. Each module is designed to be:

  • Simple & Clean: Minimal complexity with clear configuration options
  • Production-Ready: Follows AWS best practices and security guidelines
  • Well-Documented: Each module includes detailed README files with examples
  • Modular: Can be used independently or composed together
  • Terraform/OpenTofu Compatible: Works with both Terraform and OpenTofu

Getting Started

Repository Organization

This repository is organized by AWS service categories, with each service containing one or more specialized modules. The directory structure follows a clear hierarchy:

terraform-aws-modules/
|-- service-name/           # AWS Service (e.g., vpc, ecs, s3)
|   |-- module-name/        # Specific module (e.g., vpc, subnet, security-group)
|   |   |-- main.tf         # Main resource definitions
|   |   |-- variables.tf    # Input variables
|   |   |-- outputs.tf      # Output values
|   |   `-- README.md       # Module documentation with examples

Key Points:

  • Each module is self-contained and can be used independently
  • Modules follow consistent naming conventions and structure
  • Every module includes a detailed README with usage examples
  • Variables are well-documented with descriptions and defaults
  • Outputs are clearly defined for easy integration with other modules

Module Naming Convention

Modules are referenced using the following pattern:

module "resource_name" {
  source = "github.com/weyderfs/terraform-aws-modules//service/module-name"
  
  # Your configuration here
}

Prerequisites

Before using these modules, ensure you have:

  • Terraform >= 1.0 or OpenTofu >= 1.6 installed
  • AWS CLI configured with valid credentials
  • AWS Provider >= 4.0 configured in your Terraform code
  • Appropriate IAM permissions to create the resources

Basic Provider Configuration

terraform {
  required_version = ">= 1.0"
  
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 4.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

Available Modules


Contributing

Contributions are welcome! If you'd like to contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Guidelines

  • Follow existing code style and structure
  • Update documentation (README.md) for any changes
  • Add examples when introducing new features
  • Test your changes thoroughly
  • Keep modules simple and focused

Support

If you encounter issues or have questions:

  • Documentation: Check the module-specific README files
  • Bug Reports: Open an issue on GitHub
  • Feature Requests: Open an issue with the "enhancement" label
  • Direct Contact: Reach out via LinkedIn

Author

SRE | DevOps Culture | AWS
LinkedIn: @weyderfs

About

Simple & Clean modules to use.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages