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
Over 300,000 lines of code written in Terraform, Go, Python, and Bash
Documented
Includes example code and thorough documentation
Tested
Every commit goes through a suite of automated tests
Reusable
Highly reusable, configurable, and composable
Proven
Proven in production with dozens of Gruntwork Customers
Supported
Commercially maintained and supported by Gruntwork
Updated
We continually make updates, additions, and fixes to the library
Full Code Access
You get access to 100% of the code
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.