All Projects → gruntwork-io → Intro To Terraform

gruntwork-io / Intro To Terraform

Licence: other
Sample code for the blog post series "A Comprehensive Guide to Terraform."

Projects that are alternatives of or similar to Intro To Terraform

Ebs bckup
Stars: ✭ 32 (-94.18%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Examples
Terraform samples for all the major clouds you can copy and paste. The future, co-created.
Stars: ✭ 256 (-53.45%)
Mutual labels:  samples, aws, terraform, hcl
Terraform Modules
Terraform Modules
Stars: ✭ 25 (-95.45%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Aws Secure Baseline
Terraform module to set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations and AWS Foundational Security Best Practices.
Stars: ✭ 596 (+8.36%)
Mutual labels:  aws, terraform, hcl, devops
Terraform
Terraform automation for Cloud
Stars: ✭ 121 (-78%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Aws Couchbase
Reusable infrastructure modules for running Couchbase on AWS
Stars: ✭ 73 (-86.73%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-88.55%)
Mutual labels:  aws, terraform, hcl, devops
Terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
Stars: ✭ 385 (-30%)
Mutual labels:  aws, terraform, hcl, devops
Ecs Pipeline
☁️ 🐳 ⚡️ 🚀 Create environment and deployment pipelines to ECS Fargate with CodePipeline, CodeBuild and Github using Terraform
Stars: ✭ 85 (-84.55%)
Mutual labels:  aws, terraform, hcl, devops
Terraform Eks
Terraform for AWS EKS
Stars: ✭ 82 (-85.09%)
Mutual labels:  aws, terraform, hcl, devops
Vishwakarma
Terraform modules to create a self-hosting Kubernetes cluster on opinionated Cloud Platform.
Stars: ✭ 127 (-76.91%)
Mutual labels:  aws, terraform, hcl, devops
Infrastructure As Code Talk
Sample code for the talk "Infrastructure-as-code: running microservices on AWS with Docker, ECS, and Terraform"
Stars: ✭ 520 (-5.45%)
Mutual labels:  samples, aws, terraform, hcl
Terraform Aws Eks Cluster
Terraform module for provisioning an EKS cluster
Stars: ✭ 256 (-53.45%)
Mutual labels:  aws, terraform, hcl
Terraform Up And Running Code
Code samples for the book "Terraform: Up & Running" by Yevgeniy Brikman
Stars: ✭ 1,739 (+216.18%)
Mutual labels:  samples, terraform, hcl
Inframap
Read your tfstate or HCL to generate a graph specific for each provider, showing only the resources that are most important/relevant.
Stars: ✭ 430 (-21.82%)
Mutual labels:  aws, terraform, hcl
Terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
Stars: ✭ 6,316 (+1048.36%)
Mutual labels:  aws, terraform, hcl
Terraform Aws Tfstate Backend
Terraform module that provision an S3 bucket to store the `terraform.tfstate` file and a DynamoDB table to lock the state file to prevent concurrent modifications and state corruption.
Stars: ✭ 229 (-58.36%)
Mutual labels:  aws, terraform, hcl
Cloudblock
Cloudblock automates deployment of secure ad-blocking for all of your devices - even when mobile. Step-by-step text and video guides included! Compatible clouds include AWS, Azure, Google Cloud, and Oracle Cloud. Cloudblock deploys Wireguard VPN, Pi-Hole DNS Ad-blocking, and DNS over HTTPS in a cloud provider - or locally - using Terraform and Ansible.
Stars: ✭ 257 (-53.27%)
Mutual labels:  aws, terraform, hcl
Terracognita
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Stars: ✭ 452 (-17.82%)
Mutual labels:  aws, terraform, devops
Azure arc
Automated Azure Arc environments
Stars: ✭ 224 (-59.27%)
Mutual labels:  aws, terraform, hcl

Maintained by Gruntwork.io Terraform Version

An Introduction to Terraform Sample Code

This repo contains the sample code for the blog post series A Comprehensive Guide to Terraform. The examples correspond to the following parts of the series:

  1. An Introduction to Terraform
    • single-web-server: Deploy a single EC2 Instance with a web server that will return "Hello, World" for every request on port 8080.
    • cluster-of-web-servers: Deploy a cluster of EC2 Instances in an Auto Scaling Group (ASG) and an Elastic Load Balancer (ELB). The ELB listens on port 80 and distributes load across the EC2 Instances, each of which runs the same "Hello, World" web server.
  2. How to Manage Terraform State
    • s3-backend: Create an S3 bucket and DynamoDB table to use as a Terraform backend.
    • database: Deploy MySQL on top of Amazon's Relational Database Service (RDS).
  3. How to create reusable infrastructure with Terraform modules
    • modules: Examples of reusable Terraform modules, including a module that can deploy a web server cluster on top of ASG with an ELB.
    • live: Examples of how to deploy different live environments (i.e., staging, production) using the code from the modules folder.
  4. Terraform tips & tricks: loops, if-statements, and pitfalls
    • loops-with-count: Examples of how to use the count parameters to "loop" over resources.
    • loops-with-for-each: Examples of how to use for_each to "loop" over inline blocks.
    • loops-with-for: Examples of how to use for to "loop" over individual values.

Quick start

Note: These examples deploy resources into your AWS account. Although all the resources should fall under the AWS Free Tier, it is not our responsibility if you are charged money for this.

  1. Install Terraform.
  2. Set your AWS credentials as the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.
  3. cd into one of the example folders.
  4. Run terraform init.
  5. Run terraform apply.
  6. After it's done deploying, the example will output URLs or IPs you can try out.
  7. To clean up and delete all resources after you're done, run terraform destroy.

License

Please see LICENSE.txt for details on how the code in this repo is licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].