Hashicorp Packer & Terraform¶
- CDK Cloud Development Kit Terraform
- Terraform Infracost
- Awesome Terraform
- Terraform Cheat Sheets
- Best Practices
- Terraform and CI/CD
- Terraform and Kubernetes
- Terraform and K3s
- Terraform and GCP
- Terraform and AWS
- Terraform and Azure
- Terraform Modules
- Terraform Quality Checks
- Enforce Policy with Sentinel
- Reverse terraform with Terraformer
- Wikipedia.org: Terraform Software
- medium.com: Why should Terraform be one of your DevOps tools?
- Dzone: intro to terraform
- blog.teemo.co: Terraform in 10 commands
- dzone: Terraform - IAC Tool See why Terraform’s declarative approach to automation makes it a competitive tool for automating the creation of your infrastructure.
- udemy.com: Learn DevOps: Infrastructure Automation With Terraform
- Dzone: managing infrastructure at scale with terraform
- Dzone: What’s new in Terraform v0.12
- Testing Infrastructure as Code on Localhost
- Why we use Terraform and not Chef, Puppet, Ansible, SaltStack, or CloudFormation
- Terraform, can you keep a secret? Did you know that Terraform state can - and most likely does - contain sensitive data?
- Terraform 0.13 Beta released!
- medium: AWS API Gateway
- medium: Integration of AWS, Terraform, and GitHub for Automated Deployment Infrastructure
- medium: Automation of Cloud-Terraform
- hashicorp.com: Custom Variable Validation in Terraform 0.13
- medium: Terraform for Network Engineers: Should you be implementing Infrastructure as Code?
- hashicorp.com: Learn How to Import Infrastructure Into Terraform
- Bridgecrew: Misconfigured Terraform Modules Are a Security Issue
- medium - Infrastructure-As-Code: But You Don’t Have to Write That Code
- Manage Active Directory Objects with the New Windows AD Provider for HashiCorp Terraform Official HashiCorp-maintained Active Directory provider for Terraform. Terraform is a great way to bring some sanity to AD management so we’re excited to make this official.
- Infracost Infracost shows hourly and monthly cost estimates for a Terraform project. This helps developers, DevOps et al. quickly see the cost breakdown and compare different deployment options upfront.
- Terraform Feature Flags & Environment Toggle Design Patterns
- dzone: Immutable Infrastructure CI/CD Using Hashicorp Terraform and Jenkins This extensive article should leave few questions unanswered about creating your infrastructure.
- Announcing Databricks Labs Terraform integration on AWS and Azure
- hashicorp.com: Announcing 11 Verified Providers for Terraform
- learn.hashicorp.com: Call APIs with Terraform Providers. Learn how to use and create custom Terraform Providers in a new collection of tutorials on HashiCorp Learn 🌟
- globaldatanet.com: Terraform CI/CD Best Practices
- devblogs.microsoft.com: What is infrastructure as code? 🌟
- k21academy.com: Why Terraform? Not Chef, Ansible, Puppet, CloudFormation? 🌟
- hashicorp.com: New Terraform Tutorial: Sensitive Input Variables 🌟 A new tutorial on HashiCorp Learn shows how to protect sensitive data with Terraform.
- AWS Lambda the Terraform Way The objective of this tutorial is to understand AWS Lambda in-depth, beyond executing functions, using Terraform. This tutorial walks through setting up Terraform, dependencies for AWS Lambda, getting your first Lambda function running, many of its important features & finally integrating with other AWS services.
- adinermie.com: Publishing TFSec Terraform Quality Controls to Azure DevOps Pipelines 🌟
- medium: Don’t Forget to Restrict Outbound Traffic with Terraform and Sentinel
- K3s Private Cluster 🌟
- hashicorp.com: New Terraform Tutorial: Terraform Outputs 🌟 Learn how to output data about your infrastructure.
- trek10.com: Beginner’s Guide to Using Terraform with AWS 🌟 Beginner tips for Terraform on AWS, common problem areas and misunderstandings that we coach and train internally.
- env0.com: We’re Opensourcing Terratag to Make Multicloud Resource Tagging Easier
- hashicorp.com: Terraform Mono Repo vs. Multi Repo: The Great Debate Learn about the pros and cons of using mono repositories and multi repositories along with the most logical use case for each.
- terraform.io: Cloud Adoption Framework for Azure - Terraform module
- arnaudlheureux.io: Migrating Azure CAF landing zones to Terraform 0.13
- tfenv Terraform version manager inspired by rbenv
- dev.to: Packer and Terraform with Immutable Infrastructure
- medium: Terraform: How to Use Conditionals to Dynamically Create Resources …don’t struggle looking for if/else statements, you won’t find them…
- hashicorp.com: Testing HashiCorp Terraform 🌟 Learn testing strategies for HashiCorp Terraform modules and configuration, and learn how to run tests against infrastructure.
- cloudify.co: Ansible, Terraform And Cloudify
- automateinfra.com: How to Launch multiple EC2 instances on AWS using Terraform count and for_each
- morethancertified.com: More Consistent Terraform Runs With Docker
- deloitte.com: Infrastructure as Code (IaC) con Terraform Automatización, escalado, optimización y ahorro en tu factura cloud
- docs.gitlab.com: GitLab managed Terraform State 🌟 Gitlab Terraform now share tfstate directly on gitlab.
- flowfactor.be: What do you know about Terraform modules?
- medium: How to manage infrastructure as code (IaC) with Terraform on AWS? 🌟
- accurics.com: Terraform Security: Improving IaC Scans with Terraform Plan Output
- hashicorp.com: Modern Infrastructure Automation with Packer, Terraform, and Consul (video)
- hashicorp.com: New Terraform Tutorials: Getting Started with the Helm and Datadog Providers 🌟
- hashicorp.com: How can I prevent configuration drift? What causes our infrastructure’s configuration to drift over time away from our original intended state? And how does Terraform help?
- hashicorp.com: New Terraform Tutorials: Getting Started with the Helm and Datadog Providers
- hashicorp.com: Share Modules Across Organizations with Terraform Enterprise Terraform Enterprise now offers users the ability to consume private modules across organizations, providing greater management consistency.
- freecodecamp.org: What is Terraform? Learn Terraform and Infrastructure as Code
- hashicorp.com: Announcing HashiCorp Terraform 0.15 General Availability
- learn.hashicorp.com: Manage Private Environments with Terraform Cloud Agents
- itnext.io: How to use Terraform to create a small-scale Cloud Infrastructure 🌟
- acloudguru.com: Securing your multi-cloud Terraform pipelines with policy-as-code
- youtube: GitOps for infrastructure using GitHub and Terraform Cloud 🌟
- medium: Terraform — Remote States Overview 🌟 What is Terraform Remote State — Introduction to Terraform Remote Storage!
- prcode.co.uk: Connect Azure MySQL to Private Endpoint with Terraform
- infoq.com: Cloudflare Improves Automated Terraform Generation Tool 🌟 Cloudflare recently released an updated version of their cf-terraforming tool. This tool streamlines generating Terraform HCL from existing Cloudflare resources. The new release simplifies the generation process and introduces changes to better future proof the tool.
- hashicorp.com: Building Azure Resources with TypeScript Using the CDK for Terraform Learn a quick method for getting started with the Cloud Development Kit (CDK) for Terraform using TypeScript as infrastructure code and provisioning on Microsoft Azure.
- acloudguru.com: How to use Terraform outputs and inputs
CDK Cloud Development Kit Terraform¶
- terraform-cdk 🌟 CDK (Cloud Development Kit) for Terraform allows developers to use familiar programming languages to define cloud infrastructure and provision it through HashiCorp Terraform.
- infoq.com: cdk-terraform - Cloud Development Kit Can Now Generate Terraform Configurations Using TypeScript and Python
- hashicorp.com: CDK for Terraform: Enabling Python & TypeScript Support
- hashicorp.com: Announcing CDK for Terraform 0.1
- Infracost 🌟 If you use Terraform to provision your Kubernetes clusters, you might find infracost interesting. Infracost estimates hourly and monthly costs for a Terraform project. It helps you to see the cost breakdown and compare different deployment options upfront
- A Guide to Cloud Cost Optimization with HashiCorp Terraform 🌟 The Terraform AWS provider now supports Code Signing for AWS Lambda, which involves digitally signing code artifacts and verifying at deployment.
Terraform Cheat Sheets¶
Terraform and CI/CD¶
- dzone: Manage Multiple Environments With Terraform Workspaces Read this tutorial to learn about easily setting up Terraform to manage your CI/CD environments and create workspaces.
- hashicorp.com: Announcing Support for Code Signing for AWS Lambda in the Terraform AWS Provider
Terraform and Kubernetes¶
- hashicorp.com: New Terraform Tutorials on Provisioning and Managing Kubernetes Clusters 🌟 Explore a new collection of Terraform tutorials that can help you through your Kubernetes adoption journey.
- hodovi.cc: Creating a Low Cost Managed Kubernetes Cluster for Personal Development using Terraform
- Deploying and Managing a Minimal App in a Kubernetes Cluster with Terraform and Ansible
- Deploy Any Resource With The New Kubernetes Provider for HashiCorp Terraform
- kubernetes.io blog: Working with Terraform and Kubernetes
- phillipsj.net: Dynamically Loaded Terraform Providers 🌟 Have you ever been faced with some situations where you need information from your Terraform execution to configure a provider ? Like spinning up a kubernetes cluster and dynamically deploying to it with Terraform? Check this short article for more !
- hashicorp.com: Announcing Version 2.0 of the Kubernetes and Helm Providers for HashiCorp Terraform 🌟
- hashicorp.com: Wait Conditions in the Kubernetes Provider for HashiCorp Terraform
- itnext.io: Terraform: don’t use kubernetes provider with your cluster resource! 🌟
- hashicorp.com: Announcing General Availability of the HashiCorp Terraform Cloud Operator for Kubernetes 🌟
- learnk8s.io/kubernetes-terraform: Creating Kubernetes clusters with Terraform
- blog.kasten.io: Working with Kubernetes and Terraform Part 1: Concepts Behind Terraform and Kubernetes
Learnk8s Terraform and Managed Kubernetes¶
- learnk8s.io/terraform-gke: Provisioning Kubernetes clusters on AWS with Terraform and GKE 🌟 Fully automated dev, staging, prod clusters with GKE and the GKE Ingress in a single click.
- learnk8s.io/terraform-eks: Provisioning Kubernetes clusters on AWS with Terraform and EKS 🌟 Fully automated dev, test, prod environments with EKS, Terraform and the ALB Ingress Controller.
- learnk8s.io/terraform-aks: Provisioning Kubernetes clusters on AWS with Terraform and AKS 🌟 Fully utomated dev and prod clusters complete with an Ingress controller in a single command.
- learnk8s.io/terraform-lke: Provisioning Kubernetes clusters on Linode with Terraform 🌟
OpenShift and Terraform¶
- Dzone: Platform as Code With Openshift and Terraform Learn how to set up a pipeline workflow with Openshift and the Terraform infrastructure-as-code tool to configure builds and deployments.
Terraform Kubernetes Operator¶
Terraform and K3s¶
- Global K3s Deployment on Packet Baremetal 🌟 This repository contains Terraform scripts to deploy K3s and LinkerD on Packet baremetal servers spanning the globe.
Terraform and GCP¶
- learnk8s.io/terraform-gke 🌟 Provisioning Kubernetes clusters on GCP with Terraform and GKE. Fully automated dev, test, prod environments with Google Kubernetes Engine (GKE) + container-native load balancing? The guide goes into the details of how you can provision your infrastructure with Terraform and how you can route live traffic with the GKE Ingress controller. By the end Kristijan M. will teach you how you can have:
- The creation of 3 environments (dev, test, prod) automated
- A cluster that can handle live traffic with the GKE Ingress controller.
- GKE Ingress enabled with container-native load balancing.
- All source code and knowledge to build your own infra.
- AWS EKS Accelerator for Terraform: github.com/aws-samples/aws-eks-accelerator-for-terraform 🌟 The AWS EKS Accelerator for Terraform is a framework designed to help deploy and operate secure multi-account, multi-region AWS environments. The power of the solution is the configuration file which enables the users to provide a unique terraform state for each cluster and manage multiple clusters from one repository.
Terraform and AWS¶
- Dzone: terraform and AWS
- Dzone: terraform with AWS
- hashicorp.com: Terraforming RDS: What Instacart Learned Managing Over 50 AWS RDS PostgreSQL Instances with Terraform
- Dzone: provisioning servers in cloud with terraform
- Dzone: how to deploy apps effortlessly with packer and terraform
- stories.schubergphilis.com: (Terraform) AWS management using your Google account
- thenewstack.io: Terraform on AWS: Multi-Account Setup and Other Advanced Tips
- medium: How to Provision AWS Infrastructure with Terraform? 🌟
Terraform and managed AWS EKS¶
- learnk8s.io/terraform-eks 🌟 Fully automated dev, test, prod environments with EKS, Terraform and the ALB Ingress Controller.
- github.com/maddevsio/aws-eks-base: Boilerplate for a basic AWS infrastructure with EKS cluster 🌟 This boilerplate contains the know-how of the Mad Devs team for the rapid deployment of a Kubernetes cluster, supporting services, and the underlying infrastructure in the Amazon cloud.
Terraform and Azure¶
- learnk8s.io/terraform-aks 🌟
- itnext.io: How We Used Terraform to Create and Manage a HA AKS Kubernetes Cluster in Azure Learn how to use Terraform to manage a highly-available Azure AKS Kubernetes cluster with Azure AD integration and Calico network policies enabled.
- medium: Using Terraform with Azure — the right way
- thomasthornton.cloud: Deploy Terraform using GitHub Actions to Azure
- github.com/kuhlman-labs/terraform-azurerm-landing-zone A curated collection of Terraform azurerm modules
- github.com/stacksimplify/azure-aks-kubernetes-masterclass 🌟
- towardsdatascience.com: State of the Art Infrastructure as Code The newest layer of abstraction by Gruntwork that’ll make your life easier. Gruntwork’s Terragrunt is a wrapper over Terraform which concentrates on solving your problems of Terraform state management and configuration. It also solves some of the problems around having similar infrastructure deployed in different environments.
- blog.gruntwork.io: Introducing: The Gruntwork Module, Service, and Architecture Catalogs
- offensive-terraform.github.io: Offensive Terraform Modules 🌟 Automated multi step offensive attack modules with Infrastructure as Code(IAC)
Terraform Quality Checks¶
Enforce Policy with Sentinel¶
Reverse terraform with Terraformer¶
- github.com/GoogleCloudPlatform/terraformer 🌟 A CLI tool that generates tf/json and tfstate files based on existing infrastructure (reverse Terraform).
I'm getting questions about Terraform vs Kubernetes for managing infrastructure resources.— Kelsey Hightower (@kelseyhightower) November 19, 2020
I make the distinction by treating Terraform as a frontend tool that interacts with control planes that present its resources through a declarative interface. Ownership is key.
1/ Yesterday we released v2.1.0 of the @HashiCorp Terraform provider for @HelmPack with a cool new feature: diffs of the @kubernetesio manifests that Helm is sending to the cluster!— Phil, in the 🏜️ of Arizona (@PhilipSautter) April 2, 2021
So, what does this look like? Let's see ...