Terraform
wikipedia:Terraform (software) (July 2014) is an open-source infrastructure as code software.
- Google trends: https://trends.google.com/trends/explore?date=all&q=Terraform
- Repo: https://github.com/hashicorp/terraform
- Terraform Registry (Jan 2020) [1]
- Terraform Cloud (September 2019)
- Terraform Enterprise
- Terraform Module Registry (2017) [2]
Technical characteristics
- Hashicorp Configuration Language (HCL)2 based
- Terraform types:
strings, number, bool, list, maps, set, tuple, object, any and null
(Terraform 0.12)
Supported platforms/providers
- AWS: AWS EKS, GCP, IBM Cloud, DigitalOcean, Azure: Azure Stack, AzureRM, OpenStack, ServiceNow, F5 Networks, Nutanix, Tecent Cloud, Helm, Oracle OCI, Brightbox, RightScale, Linode, SkyTap, UCloud, Hedvig, Zabbix, Rollbar
Installation
- macOS:
brew install terraform
- Ubuntu:
snap install terraform
orsnap install terraform-snap
- Amazon Linux
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo && sudo yum -y install terraform
- Linux:
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get -qq update && sudo apt-get install terraform && terraform -v
Ref: https://learn.hashicorp.com/tutorials/terraform/install-cli
Terraform commands
News
- Dec 2017 Terraform Enterprise (TFE) GA
Activities
- Create you first AWS instances with Terraform tutorial: https://learn.hashicorp.com/tutorials/terraform/aws-build?in=terraform/aws-get-started
- Read Terraform blog: https://www.hashicorp.com/blog/category/terraform/
- Read https://www.terraformupandrunning.com/ book
- Read Stackoverflow questions: https://stackoverflow.com/questions/tagged/terraform?tab=Votes
- Read Terraform: Up & Running, 2nd edition Early Release is now available! https://blog.gruntwork.io/terraform-up-running-2nd-edition-early-release-is-now-available-b104fc29783f
- Review some Terraform examples
- Use
terraform apply -replace
to recreate a resource
Related terms
- HCL, HCL2 and HashiCorp Interpolation Language (HIL)
- Terraform: Meta-Arguments:
count
parameter for iterations,depends_on
- Terraform conditional expressions
- Terraform functions:
templatefile
,join
,output
, Splat expression - Terraform data sources, Terraform providers, Terraform modules, Terraform resources, Terraform backends
- Terragrunt, Terraformer, terratest
- Releases: https://github.com/hashicorp/terraform/releases
artifacts:reports:terraform
- Terraform Cloud Operator
- Terraform examples: Terraform: Hello world.tf
- Terraform Associate: Understand secret management in state files
- Terraform deprecated commands
- CLI Configuration File
- Terraform VCS connections
- Terraform best practices
- Oracle Cloud Resource Manager
- Terraform AWS (
hashicorp/aws
), Terraform GCP tflint, tfsec
- terraform info
tfswitch
- Atlantis pull request automation
See also
terraform
[untaint | fmt
|apply
|show
|state
|init | plan | console | output
|validate
|destroy
|debug
|import
|providers
|get
|graph
|workspaces
|resource
|login
|-var-file
|state mv
|state pull
|state push
|state replace-provider
|state rm
|force-unlock
|env
|tfe
|--version
|remote-exec
|delete on termination
| deprecated commands |terraform --help
]- Terraform, OpenTofu, Terrakube.org, Installation, Terraform AWS, Terraform GCP, Terraform commands, Terraform Cloud, Terraform Enterprise (TFE), HCL, HIL, meta-arguments, providers, modules, resource, provisioners, data sources, backends: remote backends, examples, configuration files, state files, variables, types, Terraform Registry, conditionals:
depends_on
, functions, Blocks, dynamic blocks, errors, Terragrunt, Terraformer, Terratest, Terraform certifications, Terraform map type, Terraform Associate, Terraform: list type,TF_VAR_, TF_LOG
, Terraform provider versioning, Terraform Style Conventions, Required version, Terraform plugin, Terraform Named Values, tags, Changelog,tfsec, tflint
, Operators, Expressions:for, splat
, Debugging, Namespaces, Terraform Landing Zones, CDKTF, Atmos
Advertising: