AWS Infrastructure as Code Library

AWS Infrastructure as Code Library

A collection of over 300,000 lines of reusable, battle-tested, production-ready infrastructure code for AWS.

Get a Demo

You don't have to reinvent the wheel

Most teams have the same basic infrastructure needs: server cluster, load balancer, database, cache, CI/CD, monitoring, secrets management, and so on. Why waste time building it all from scratch? At Gruntwork, we are a team of DevOps experts who have spent thousands of hours creating a library of reusable, battle-tested infrastructure code that has been used in production by hundreds of companies, and now you can leverage all of it with the Infrastructure as Code Library.

What's in the Library?

The Infrastructure as Code Library consists of 40+ GitHub repos, some open source, some private, each of which contains reusable, battle-tested infrastructure code for AWS, written in Terraform, Go, Bash, and Python. Check out How to use the Gruntwork Infrastructure as Code Library to see how it all works.

Name Description Tags
AWS VPC Create a best-practices Virtual Private Cloud (VPC) on AWS. Includes multiple subnet tiers, netwo...
Subscriber-Only
Monitoring and Alerting Configure monitoring, log aggregation, and alerting using CloudWatch, SNS, and S3. Includes Slack...
Subscriber-Only
EC2 Container Service (ECS) Deploy a best-practices ECS Cluster and run Docker containers on it as ECS Services. Includes zer...
Subscriber-Only
EC2 Kubernetes Service (EKS) Deploy a best-practices EKS cluster and run Docker containers on it as Kubernetes services. Suppo...
Subscriber-Only
Kubernetes Services Package services into a best-practices deployment for Kubernetes. Supports zero-downtime, rolling...
Open Source
Auto Scaling Group Run stateless and stateful services on top of an Auto Scaling Group. Supports zero-downtime, roll...
Subscriber-Only
AWS Load Balancer Run the highly-available and scalable load balancers in AWS: Application Load Balancer (ALB), Net...
Subscriber-Only
Lambda Deploy and manage Lambda functions with Terraform and build serverless apps. Automatically upload...
Subscriber-Only
API Gateway Build serverless applications by defining APIs in Swagger, running your app locally using SAM, an...
Subscriber-Only
Security A collection of security best practices for managing secrets, credentials, and servers. Includes ...
Subscriber-Only
Continuous Delivery A collection of scripts and Terraform code that implement common CI and build pipeline tasks incl...
Subscriber-Only
Relational Database Run MySQL, Postgres, MariaDB, or Amazon Aurora on Amazon’s Relational Database Service (RDS) or A...
Subscriber-Only
Distributed Cache Run Redis or Memcached clusters using Amazon’s ElastiCache Service. Creates the cluster, sets up ...
Subscriber-Only
Stateful Server Set up a best-practices deployment of a single, stateful server on top of AWS, such as Jenkins or...
Subscriber-Only
AWS Static Assets Deploy your static content and static websites on S3, optionally with a CloudFront distribution i...
Subscriber-Only
MongoDB Cluster Deploy a MongoDB cluster, including replica sets, sharding, an automated bootstrapping process, b...
Subscriber-Only
Kafka Deploy a cluster of Apache brokers that can automatically bootstrap themselves. Includes support ...
Subscriber-Only
ZooKeeper Deploy an Apache ZooKeeper cluster that can automatically bootstrap itself. Includes support for ...
Subscriber-Only
ELK Deploy and manage an ELK cluster. Includes support for deploying separate Elasticsearch, Logstash...
Subscriber-Only
OpenVPN Server Deploy an OpenVPN server and manage user accounts using IAM groups. Includes automatic install an...
Subscriber-Only
Messaging Create SQS queues with support for FIFO, message retention, message delays, content-based dedupli...
Subscriber-Only
kubergrunt kubergrunt is a standalone go binary with a collection of commands that attempts to fill in the g...
Open Source
Consul Deploy a best-practices HashiCorp Consul cluster. Includes support for automatic bootstrapping, c...
Open Source
Nomad Deploy a best-practices HashiCorp Nomad cluster. Includes support for automatic bootstrapping, au...
Open Source
Vault Deploy a best-practices HashiCorp Vault cluster for secrets management. Includes support for auto...
Open Source
Couchbase Deploy a best-practices Couchbase cluster. Includes support for automatic bootstrapping, running ...
Open Source
Influx AWS Deploy a best-practices TICK stack (Telegraf, InfluxDB, Chronograf, Kapacitor). Includes support ...
Open Source
Terratest Terratest is a Go library that makes it easier to write automated tests for your infrastructure c...
Open Source
gruntkms Make secrets management easy using this command-line tool that can encrypt and decrypt data using...
Subscriber-Only
ssh-grunt A tool that allows you to manage SSH access to EC2 Instances using either AWS IAM or your Identit...
Subscriber-Only
aws-auth A small wrapper script for the AWS CLI that makes it much easier to authenticate to AWS with Mult...
Subscriber-Only
bash-commons A collection of reusable Bash functions for handling common tasks such as logging, assertions, st...
Open Source
cloud-nuke A tool for cleaning up your cloud accounts by nuking (deleting) all resources within it.
Open Source
gruntwork-installer A simple, lightweight package manager for installing Gruntwork modules.
Open Source
fetch A tool that makes it easy to download files, folders, and release assets from a specific git comm...
Open Source
pre-commit A collection of pre-commit hooks for Terraform, bash, Go, and more.
Open Source
gruntwork A CLI tool to perform Gruntwork tasks, such as bootstrapping your GitHub and AWS accounts for the...
Subscriber-Only
package-terraform-utilities A collection of miscellaneous utilities and helper modules for use with Terraform. Includes modul...
Open Source

Infrastructure as Code Library Features

Infrastructure as Code

Infrastructure as Code

Over 300,000 lines of code written in Terraform, Go, Python, and Bash

Documented

Documented

Includes example code and thorough documentation

Tested

Tested

Every commit goes through a suite of automated tests

Reusable

Reusable

Highly reusable, configurable, and composable

Proven

Proven

Proven in production with dozens of Gruntwork Customers

Supported

Supported

Commercially maintained and supported by Gruntwork

Updated

Updated

We continually make updates, additions, and fixes to the library

Full Code Access

Full Code Access

You get access to 100% of the code

No Lock-In

No Lock-In

If you ever choose to cancel, you keep rights to all the code

How do I get access to this code?

To get access to all the code in the Infrastructure as Code Library, you must be a Gruntwork Subscriber. Check out the pricing page for details.

What clouds do you support?

The Gruntwork IaC Library is designed for use with Amazon Web Services (AWS). We hope to add support for other clouds in the future. Learn more below: