π₯ Battle-tested β’ π Security-first β’ π° Cost-optimized β’ π Developer-friendly
From MVP to Enterprise: Infrastructure that scales with your business
π As Reference | ποΈ As Template | π§© Direct Usage |
---|---|---|
Study our best practices and patterns for your IaC projects | Fork and customize as starting point for your terraform-modules repository | Import modules directly into your Terraform projects |
Perfect for learning and inspiration | Ideal for teams building their own module library | Ready-to-use modules for immediate deployment |
π Enterprise-Ready | π Security First | π° Cost Optimized | π Observability | π Developer Experience |
---|---|---|---|---|
Zero-downtime deployments | Encryption by default | Intelligent scaling | Comprehensive logging | One-command deploy |
Production-tested patterns | Zero-trust networking | Resource optimization | Monitoring dashboards | Extensive examples |
High availability design | Compliance ready | Budget-friendly defaults | Alerting ready | Clear documentation |
- β‘ Faster Time-to-Market: Deploy in minutes what used to take weeks
- π‘οΈ Battle-Tested Reliability: Used in production by dozens of companies
- π‘ Best Practices Built-In: Security, performance, and cost optimization from day one
- π§ Highly Configurable: From simple setups to complex enterprise requirements
- π Comprehensive Documentation: Every module includes examples and detailed guides
- π€ Community Driven: Open source with active maintenance and support
Choose your adventure:
Perfect for MVPs and small applications
cd examples/simple-web-app
terraform init && terraform apply
Microservices with EKS + RDS + Monitoring
cd examples/medium-complexity-infrastructure
terraform init && terraform apply
Full-scale infrastructure with everything included
cd examples/complete-enterprise-setup
terraform init && terraform apply
π‘ New here? Check our π Usage Guide or jump to πͺ Examples β’ π¦ All Modules
Building and maintaining infrastructure across cloud providers can become repetitive and error-prone. This repository consolidates reusable Terraform modules following best practices, allowing your team to provision infrastructure efficiently, securely, and consistentlyβwhether it's an AWS VPC, a Kubernetes cluster, or a MongoDB Atlas database.
Module | Description | Use Cases |
---|---|---|
π AWS VPC | Virtual Private Cloud with best practices | Network foundation, multi-AZ setup |
β‘ AWS EKS | Managed Kubernetes with essential addons | Microservices, container orchestration |
ποΈ AWS RDS | Relational database with monitoring | Application databases, data persistence |
ποΈ AWS RDS Aurora | High-performance Aurora cluster | High-availability databases, read replicas |
π¨ AWS MSK | Managed Apache Kafka streaming | Event streaming, data pipelines |
π° AWS Bastion | Secure jump host with SSM | Secure access, troubleshooting |
π AWS DocumentDB | MongoDB-compatible database | Document storage, NoSQL applications |
π€ AWS IAM Role | IAM roles with best practices | Service permissions, access control |
π AWS Amplify App | Frontend hosting and CI/CD | Static sites, SPAs, JAMstack |
Module | Description | Use Cases |
---|---|---|
π MongoDB Atlas Cluster | Managed MongoDB in the cloud | Global databases, serverless apps |
Each module is designed to be plug-and-play with sensible defaults, yet highly customizable for complex requirements.
module "vpc" {
source = "git::https://github.com/nanlabs/terraform-modules.git//modules/aws-vpc?ref=v0.2.0"
vpc_cidr = "10.0.0.0/16"
# That's it! VPC with best practices is ready π
}
π Need more details? Check our complete usage guide with advanced patterns and best practices.
π Quick Start | π Learn More | π€ Get Help |
---|---|---|
Browse Examples | Read Documentation | Join Discussions |
Pick an example that fits your needs | Understand best practices | Ask questions, share ideas |
β If this project helps you, please consider giving it a star! β
We love contributions! Whether you're:
- π Reporting bugs or suggesting improvements
- π Improving documentation or adding examples
- π Adding new modules or enhancing existing ones
- π‘ Sharing ideas for new features
Every contribution matters! Check our Contributing Guidelines to get started.
- Star this repo - It helps others discover these modules
- Share your experience - Write a blog post or tweet about your usage
- Submit feedback - Open issues with suggestions or bug reports
- Code contributions - Submit PRs for new features or fixes
- Documentation - Help improve guides and examples
π Guide | π― Purpose |
---|---|
π Usage Guide | Complete module usage, versioning, and advanced patterns |
π οΈ Development Setup | Set up your development environment |
π¦ Modules Guide | How to use and create modules |
β Best Practices | Module design, security, and guidelines |
π Versioning Strategy | Release management and versioning |
π GitHub Actions | CI/CD workflows and automation |
π€ Contributing | How to contribute to this repository |
- π Awesome NAN - Best practices and resources
- π Terraform Documentation - Official Terraform docs
- βοΈ AWS Provider Documentation - AWS provider reference
- π¬ NaN Labs Blog - Technical articles and insights
This project is licensed under the MIT License - see the LICENSE file for details.
Made with contributors-img.
π Built with β€οΈ by NaN Labs
π Accelerating development through proven technology solutions