├── README.md ├── contributing.md └── terraform.svg /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Terraform [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | > A curated list of resources on [HashiCorp's Terraform](https://www.terraform.io/). 4 | [](https://terraform.io) 5 | Your [contributions](https://github.com/shuaibiyy/awesome-terraform/blob/master/contributing.md) are welcome! 6 | 7 | ## Contents 8 | 9 | - [Official Resources](#official-resources) 10 | - [Books](#books) 11 | - [Tutorials and Blog Posts](#tutorials-and-blog-posts) 12 | - [Community Modules](#community-modules) 13 | - [Tools](#tools) 14 | - [Podcasts](#talks-and-podcasts) 15 | - [Community](#community) 16 | 17 | ## Official Resources 18 | 19 | * [Introduction to Terraform](https://www.terraform.io/intro/) 20 | * [Terraform Documentation](https://www.terraform.io/docs/) 21 | 22 | ## Community 23 | 24 | * [Terraform Google Group](https://groups.google.com/forum/#!forum/terraform-tool) 25 | * [Terraform Gitter](https://gitter.im/hashicorp-terraform) 26 | * [Terraform Bug Tracker](https://github.com/hashicorp/terraform/issues) 27 | * [Terraform Community Modules](https://github.com/terraform-community-modules) 28 | 29 | ## Books 30 | 31 | * [Terraform: Up & Running](http://www.terraformupandrunning.com/?ref=gruntwork-blog-comprehensive-terraform) 32 | * [The Terraform Book](https://terraformbook.com/) 33 | 34 | ## Tutorials and Blog Posts 35 | 36 | * [A Comprehensive Guide to Terraform](https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca#.w9x897ywp) 37 | * [Easily Deploy A Seneca Microservice to ECS with Wercker and Terraform: Part I-III](http://chiefy.github.io/easily-deploy-a-seneca-microservice-to-ecs-with-wercker-and-terraform-part-i/) 38 | * [Tutorial: How to Use Terraform to Deploy OpenStack Workloads](http://www.stratoscale.com/blog/openstack/tutorial-how-to-use-terraform-to-deploy-openstack-workloads/) 39 | * [Write your own Terraform provider: Part 1](http://container-solutions.com/write-terraform-provider-part-1/) 40 | * [The Segment AWS Stack](https://segment.com/blog/the-segment-aws-stack/) 41 | * [Terraform: Beyond the Basics with AWS](https://aws.amazon.com/blogs/apn/terraform-beyond-the-basics-with-aws/) 42 | * [Deploying Discourse with Terraform](https://www.hashicorp.com/blog/terraform-discourse.html) 43 | * [How we deploy from Slack using Jenkins, Terraform, Docker and Ansible](https://medium.com/@levinotik/how-we-deploy-from-slack-using-jenkins-terraform-docker-and-ansible-4196b6856cdf) 44 | * [Bootstrapping Docker Infrastructure With Terraform](http://vilkeliskis.com/blog/2016/02/10/bootstrapping-docker-with-terraform.html) 45 | * [Two Weeks with Terraform](https://charity.wtf/2016/02/23/two-weeks-with-terraform/) 46 | * [Using modules in Terraform](http://www.avitzurel.com/blog/2016/01/05/using-modules-in-terraform/) 47 | * [Terraform Modules for Fun and Profit](http://blog.lusis.org/blog/2015/10/12/terraform-modules-for-fun-and-profit/) 48 | * [Using Terraform for Cloud Deployments - Part 1](https://dev.to/koenighotze/using-terraform-for-cloud-deployments---part-1) 49 | 50 | ## Community Modules 51 | 52 | * [segmentio/stack](https://github.com/segmentio/stack) - A set of Terraform modules for configuring production infrastructure with AWS, Docker, and ECS. 53 | * [terraform-ecs-jenkins](https://github.com/shuaibiyy/terraform-ecs-jenkins) - Provisions Jenkins on AWS ECS using Terraform. 54 | * [tf_aws_bastion_s3_keys](https://github.com/terraform-community-modules/tf_aws_bastion_s3_keys) - A Terraform module for creating bastion host on AWS EC2. 55 | * [terraform-static-website-s3-cloudfront](https://github.com/sjevs/terraform-static-website-s3-cloudfront) - Terraform template to create static website on AWS S3 & Cloudfront based on variables. 56 | * [tf_aws_vpc_only](https://github.com/terraform-community-modules/tf_aws_vpc_only) - A Terraform module to provide only VPC (without subnets) in AWS. 57 | * [tf_aws_asg_elb](https://github.com/terraform-community-modules/tf_aws_asg_elb) - A Terraform Module for creating an Auto-Scaling Group and Launch Configuration for use with an Elastic Load Balancer. 58 | * [tf_aws_availability_zones_cfn](https://github.com/terraform-community-modules/tf_aws_availability_zones_cfn) - Get availability zones for your AWS region/account from Cloudformation. 59 | * [tf_aws_ubuntu_ami](https://github.com/terraform-community-modules/tf_aws_ubuntu_ami) - Easy way to lookup Ubuntu AMIs with Terraform. 60 | * [tf_aws_sg](https://github.com/terraform-community-modules/tf_aws_sg) - A Terraform module with a collection of common security group settings. 61 | * [tf_aws_coreos_ami](https://github.com/terraform-community-modules/tf_aws_coreos_ami) - An easy way to lookup CoreOS AMIs with terraform. 62 | * [tf_aws_private_subnet_nat_gateway](https://github.com/terraform-community-modules/tf_aws_private_subnet_nat_gateway) - A Terraform module to create private subnets with NAT Gateway in AWS. 63 | * [tf_aws_rds](https://github.com/terraform-community-modules/tf_aws_rds) - A Terraform Template for RDS. 64 | * [tf_aws_vpc](https://github.com/terraform-community-modules/tf_aws_vpc) - A terraform module to provide a VPC in AWS. 65 | * [tf_aws_availability_zones](https://github.com/terraform-community-modules/tf_aws_availability_zones) - Lists of AZs your account has access to. 66 | * [tf_aws_virttype](https://github.com/terraform-community-modules/tf_aws_virttype) - Lookup the virtualization types (hvm or pv) supported for AWS instance types. 67 | * [tf_aws_nat](https://github.com/terraform-community-modules/tf_aws_nat) - NAT instances for AWS. 68 | * [rancher-terraform-digitalocean](https://github.com/lunagt/rancher-terraform-digitalocean) - Terraform module for a rancher server on digitalocean. 69 | 70 | ## Tools 71 | 72 | * [terraform-docs](https://github.com/segmentio/terraform-docs) - A quick utility to generate docs from terraform modules. 73 | * [terraform.py](https://github.com/ciscocloud/terraform.py) - Ansible dynamic inventory script for parsing Terraform state files. 74 | * [terraform-provisioner](https://github.com/shuaibiyy/terraform-provisioner) - A tool for managing multiple provisions of the same Terraform scripts. 75 | * [terraboot](https://github.com/MastodonC/terraboot) - DSL to generate a terraform configuration and run it. 76 | * [terraform-provider-pingdom](https://github.com/russellcardullo/terraform-provider-pingdom) - Terraform provider to manage pingdom resources. 77 | * [terragrunt](https://github.com/gruntwork-io/terragrunt) - Terragrunt is a thin wrapper for Terraform that supports locking for Terraform state and enforces best practices. 78 | 79 | ## Talks and Podcasts 80 | 81 | * [Orchestrating Containers with Terraform and Consul](https://www.infoq.com/presentations/terraform-consul) 82 | * [Automating Infrastructure at HashiCorp with Mitchell Hashimoto](http://softwareengineeringdaily.com/2016/04/05/automating-infrastructure-hashicorp/) 83 | * [Building Scalable, Repeatable Infrastructure in the Cloud with Terraform](https://www.youtube.com/watch?v=cG7pcksTAnY) 84 | 85 | ## License 86 | 87 | [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 88 | 89 | To the extent possible under law, Shuaib Yunus has waived all copyright and related or neighboring rights to this work. 90 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution guidelines 2 | 3 | * Practice common sense and observe applicable [Awesome List Guidelines](https://github.com/sindresorhus/awesome/blob/master/contributing.md). 4 | * Proof-read yourself. 5 | * Please be nice. 6 | * Be brave with contributing and commenting. 7 | * Consider if the item you're adding to the list is actually pretty useful and/or exciting for the Terraform community or newcomers. 8 | * In case we gather a lot of links that are kinda-useful, but not exactly awesome, we could create another list within the repo. -------------------------------------------------------------------------------- /terraform.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | --------------------------------------------------------------------------------