Difference between revisions of "Terraform"

From wikieduonline
Jump to navigation Jump to search
 
(187 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[wikipedia:Terraform (software)]] (2014)
+
[[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) <ref>https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry</ref>
 
* [[Terraform Cloud]] (September 2019)
 
* [[Terraform Cloud]] (September 2019)
 
* [[Terraform Enterprise]]
 
* [[Terraform Enterprise]]
* [[Terraform Registry]]
+
* [[Terraform Module Registry]] (2017) <ref>https://www.hashicorp.com/blog/hashicorp-terraform-module-registry</ref>
  
== Technical characteristics ==
 
* [[HCL]]2 based
 
* Types: strings, number, bool, list, maps, set, tuple, object, any and null ([[Terraform 0.12]])
 
  
 +
* [[Terraform Operators]]
 +
* [[Terraform Expressions]]
  
 +
== Technical characteristics ==
 +
* [[Hashicorp Configuration Language (HCL)]]2 based
 +
* [[Terraform types]]: <code>strings, number, bool, list, [[maps]], set, [[tuple]], object, any and null</code> ([[Terraform 0.12]])
  
 
== Supported platforms/providers ==
 
== Supported platforms/providers ==
* [[AWS]]: [[AWS EKS]]
+
* [[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]]
* [[GCP]]
 
* [[IBM Cloud]]
 
* [[DigitalOcean]]
 
* [[Azure]]: [[Azure Stack]], [[AzureRM]]
 
* [[OpenStack]]
 
* [[ServiceNow]]
 
* [[F5 Networks]]
 
* [[Nutanix]]
 
* [[Tecent Cloud]]
 
* [[Helm]]
 
* [[Oracle OCI]]
 
* [[Brightbox]]
 
* [[RightScale]]
 
* [[Linode]]
 
* [[SkyTap]]
 
* [[UCloud]]
 
* [[Hedvig]]
 
 
 
== Installation ==
 
* [[macOS]]: <code>[[brew]] install terraform</code>. Review version: <code>terraform -v</code>
 
  
 +
* <code>[[terraform providers]]</code>
  
== Running terraform ==
+
== [[Terraform installation]] ==
[[terraform init]]
 
[[terraform plan]]
 
[[terraform apply]]
 
[[terraform remote config]]
 
  
== Common Terraform commands<ref>https://www.terraform.io/docs/commands/index.html</ref> ==
+
== [[Terraform commands]] ==
<pre>
 
    apply              Builds or changes infrastructure
 
    console            Interactive console for Terraform interpolations
 
    destroy            Destroy Terraform-managed infrastructure
 
    fmt                Rewrites config files to canonical format
 
    get                Download and install modules for the configuration
 
    graph              Create a visual graph of Terraform resources
 
    import            Import existing infrastructure into Terraform
 
    init              Initialize a new or existing Terraform configuration
 
    output            Read an output from a state file
 
    plan              Generate and show an execution plan
 
    providers          Prints a tree of the providers used in the configuration
 
    push              Upload this Terraform module to Terraform Enterprise to run
 
    refresh            Update local state file against real resources
 
    show              Inspect Terraform state or plan
 
    taint              Manually mark a resource for recreation
 
    untaint            Manually unmark a resource as tainted
 
    validate          Validates the Terraform files
 
    version            Prints the Terraform version
 
    workspace          Workspace management
 
</pre>
 
  
 +
== [[Terraform changelog|News]] ==
 +
* Jan 2023 [[Terraform Dynamic Provider Credentials]]
 +
* Aug 2022 [[CDK for Terraform (CDKTF)]]
 +
* Dec 2017 [[Terraform Enterprise (TFE)]] [[GA]]
  
== Activities ==
+
== [[Terraform activities|Activities]] ==
# Read Terraform blog: https://www.hashicorp.com/blog/category/terraform/
+
* [[Create you first AWS instances with Terraform tutorial]]: https://learn.hashicorp.com/tutorials/terraform/aws-build?in=terraform/aws-get-started
# 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
+
* 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 <code>[[terraform apply -replace]]</code> to recreate a resource
  
 +
== Related terms ==
 +
* [[HCL]], [[HCL]]2 and [[HashiCorp Interpolation Language (HIL)]]
 +
* [[Terraform: Meta-Argument]]s: <code>[[count]]</code> parameter for [[iterations]], <code>[[Terraform: depends on|depends_on]]</code>
 +
* [[Terraform conditional expressions]]
 +
* [[Terraform functions]]: <code>[[Terraform functions: templatefile|templatefile]]</code>, <code>[[join]]</code>, <code>[[output]]</code>, [[Splat expression]]
 +
* [[Terraform data sources]], [[Terraform providers]], [[Terraform modules]], [[Terraform resources]], [[Terraform backends]]
 +
* [[Terragrunt]], [[Terraformer]], [[terratest]]
 +
* Releases: https://github.com/hashicorp/terraform/releases
  
== Related ==
+
* <code>[[artifacts:]]reports:terraform</code>
* [[HCL]], [[HCL]]2
+
* [[Terraform Cloud Operator]]
* <code>terraform_remote_state</code>
+
* [[Terraform examples]]: [[Terraform: Hello world.tf]]
* <code>count</code> parameter for iterations
+
* [[Terraform Associate]]: Understand [[secret management]] in [[state files]]
* remote state backends to manage Terraform state
+
* [[Terraform deprecated commands]]
 +
* [[Terraform CLI Configuration File]]
 +
* [[Terraform VCS connections]]
 +
* [[Terraform best practices]]
 +
* [[Oracle Cloud Resource Manager]]
 +
* [[Terraform AWS]] (<code>[[hashicorp/aws]]</code>), [[Terraform GCP]]
 +
* <code>[[tflint]], [[tfsec]]</code>
 +
* <code>[[tfswitch]]</code>
 +
* [[Atlantis]] [[pull request]] automation
 +
* [[AWS Service Catalog]]
 +
* [[OpenTofu]]
 +
* <code>[[.this]]</code>
 +
* [[Crossplane.io]]
 +
* [[Terrakube.org]]
  
 
== See also ==
 
== See also ==
* {{IaC}}
+
* {{terraform cmd}}
 
* {{terraform}}
 
* {{terraform}}
* {{HashiCorp}}
 
* {{Cloud}}
 
  
 
[[Category:Infrastructure as Code]]
 
[[Category:Infrastructure as Code]]
 +
[[Category:IaC]]
 
[[Category:Cloud computing]]
 
[[Category:Cloud computing]]

Latest revision as of 13:29, 26 August 2024

wikipedia:Terraform (software) (July 2014) is an open-source infrastructure as code software.


Technical characteristics[edit]

Supported platforms/providers[edit]

Terraform installation[edit]

Terraform commands[edit]

News[edit]

Activities[edit]

Related terms[edit]

See also[edit]

  • https://www.hashicorp.com/blog/announcing-providers-in-the-new-terraform-registry
  • https://www.hashicorp.com/blog/hashicorp-terraform-module-registry
  • Advertising: