# Awesome Terraform > Curated list of resources on [HashiCorp's Terraform](https://www.terraform.io/). [](https://terraform.io) ## Table of Contents - [Official Resources](#official-resources) - [Tutorials and Blog Posts](#tutorials-and-blog-posts) - [Community Modules](#community-modules) - [Tools](#tools) - [Podcasts](#talks-and-podcasts) - [Community](#community) ## Official Resources * [Introduction to Terraform](https://www.terraform.io/intro/) * [Terraform Documentation](https://www.terraform.io/docs/) ## Tutorials and Blog Posts * [A Comprehensive Guide to Terraform](https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca#.w9x897ywp) * [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/) * [Tutorial: How to Use Terraform to Deploy OpenStack Workloads](http://www.stratoscale.com/blog/openstack/tutorial-how-to-use-terraform-to-deploy-openstack-workloads/) * [Write your own Terraform provider: Part 1](http://container-solutions.com/write-terraform-provider-part-1/) * [The Segment AWS Stack](https://segment.com/blog/the-segment-aws-stack/) * [Terraform: Beyond the Basics with AWS](https://aws.amazon.com/blogs/apn/terraform-beyond-the-basics-with-aws/) * [Deploying Discourse with Terraform](https://www.hashicorp.com/blog/terraform-discourse.html) * [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) * [Bootstrapping Docker Infrastructure With Terraform](http://vilkeliskis.com/blog/2016/02/10/bootstrapping-docker-with-terraform.html) * [Two Weeks with Terraform](https://charity.wtf/2016/02/23/two-weeks-with-terraform/) * [Using modules in Terraform](http://www.avitzurel.com/blog/2016/01/05/using-modules-in-terraform/) * [Terraform Modules for Fun and Profit](http://blog.lusis.org/blog/2015/10/12/terraform-modules-for-fun-and-profit/) ## Community Modules * [segmentio/stack](https://github.com/segmentio/stack) - A set of Terraform modules for configuring production infrastructure with AWS, Docker, and ECS. * [terraform-ecs-jenkins](https://github.com/shuaibiyy/terraform-ecs-jenkins) - Provisions Jenkins on AWS ECS using Terraform. * [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. * [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. * [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. * [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. * [tf_aws_ubuntu_ami](https://github.com/terraform-community-modules/tf_aws_ubuntu_ami) - Easy way to lookup Ubuntu AMIs with Terraform. * [tf_aws_sg](https://github.com/terraform-community-modules/tf_aws_sg) - A Terraform module with a collection of common security group settings. * [tf_aws_coreos_ami](https://github.com/terraform-community-modules/tf_aws_coreos_ami) - An easy way to lookup CoreOS AMIs with terraform. * [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. * [tf_aws_rds](https://github.com/terraform-community-modules/tf_aws_rds) - A Terraform Template for RDS. * [tf_aws_vpc](https://github.com/terraform-community-modules/tf_aws_vpc) - A terraform module to provide a VPC in AWS. * [tf_aws_availability_zones](https://github.com/terraform-community-modules/tf_aws_availability_zones) - Lists of AZs your account has access to. * [tf_aws_virttype](https://github.com/terraform-community-modules/tf_aws_virttype) - Lookup the virtualization types (hvm or pv) supported for AWS instance types. * [tf_aws_nat](https://github.com/terraform-community-modules/tf_aws_nat) - NAT instances for AWS. ## Tools * [terraform-docs](https://github.com/segmentio/terraform-docs) - A quick utility to generate docs from terraform modules. * [terraform-provisioner](https://github.com/shuaibiyy/terraform-provisioner) - A tool for managing multiple provisions of the same Terraform scripts. * [terraboot](https://github.com/MastodonC/terraboot) - DSL to generate a terraform configuration and run it. * [terraform-provider-pingdom](https://github.com/russellcardullo/terraform-provider-pingdom) - Terraform provider to manage pingdom resources. * [terragrunt](https://github.com/gruntwork-io/terragrunt) - Terragrunt is a thin wrapper for Terraform that supports locking for Terraform state and enforces best practices. ## Talks and Podcasts * [Orchestrating Containers with Terraform and Consul](https://www.infoq.com/presentations/terraform-consul) * [Automating Infrastructure at HashiCorp with Mitchell Hashimoto](http://softwareengineeringdaily.com/2016/04/05/automating-infrastructure-hashicorp/) ## Community * [Terraform Community Modules](https://github.com/terraform-community-modules) * [Terraform Google Group](https://groups.google.com/forum/#!forum/terraform-tool) * [Terraform Gitter](https://gitter.im/hashicorp-terraform) ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, Shuaib Yunus has waived all copyright and related or neighboring rights to this work.