mirror of
https://github.com/shuaibiyy/awesome-tf.git
synced 2026-03-11 17:49:23 -05:00
77 lines
5.8 KiB
Markdown
77 lines
5.8 KiB
Markdown
# Awesome Terraform
|
|
|
|
> Curated list of resources on [HashiCorp's Terraform](https://www.terraform.io/).
|
|
[<img src="https://rawgit.com/shuaibiyy/awesome-terraform/master/terraform-logo.png" align="right" width="100">](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
|
|
|
|
[](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.
|