Jump to content

Terraform (software)

From Wikipedia, the free encyclopedia

Terraform
Original author(s)Mitchell Hashimotoet al.
Developer(s)HashiCorp
Initial release28 July 2014;9 years ago(2014-07-28)
Stable release
1.9.1 / 3 July 2024;3 days ago(2024-07-03)[1]
Repository
Written inGo
Operating systemLinux,FreeBSD,macOS,OpenBSD,Solaris,andMicrosoft Windows
Available inEnglish
TypeInfrastructure as code
LicenseBusiness Source Licensev1.1[2](source-available)
Websitewww.terraform.ioEdit this on Wikidata

Terraformis aninfrastructure-as-codesoftware tool created byHashiCorp.Users define and provide data center infrastructure using a declarative configuration language known as HashiCorp Configuration Language (HCL), or optionallyJSON.[3]

Design[edit]

Terraform manages external resources (such as public cloud infrastructure, private cloud infrastructure, network appliances,software as a service,andplatform as a service) with "providers". HashiCorp maintains an extensive list of official providers, and can also integrate with community-developed providers.[4]Users can interact with Terraform providers by declaring resources[5]or by calling data sources.[6]Rather than usingimperative commandsto provision resources, Terraform uses declarative configuration to describe the desired final state. Once a user invokes Terraform on a given resource, Terraform will performCRUDactions on the user's behalf to accomplish the desired state.[7]The infrastructure as code can be written as modules, promoting reusability and maintainability.[8]

Terraform supports a number of cloud infrastructure providers such asAmazon Web Services,Cloudflare,[9]Microsoft Azure,IBM Cloud,Serverspace,Selectel[10]Google Cloud Platform,[11]DigitalOcean,[12]Oracle Cloud Infrastructure,Yandex.Cloud,[13]VMware vSphere,andOpenStack.[14][15][16][17][18]

HashiCorp maintains a Terraform Module Registry, launched in 2017.[19]In 2019, Terraform introduced the paid version called Terraform Enterprise for larger organizations.[20]

License change[edit]

Terraform was previouslyfree softwareavailable under version 2.0 of theMozilla Public License(MPL). On August 10, 2023, HashiCorp announced that all products produced by the company would be relicensed under theBusiness Source License(BSL), with HashiCorp prohibiting commercial use of the community edition by those who offer "competitive services".[21]

The last MPL-licensed version of Terraform was forked as "OpenTofu",which is backed by theLinux Foundation.In April 2024, HashiCorp sent acease and desistnotice to the OpenTofu project, stating that it had incorporated code from a BSL-licensed version of Terraform without permission and "incorrectly re-labeled HashiCorp's code to make it appear as if it was made available by HashiCorp originally under a different license." OpenTofu denied the allegation, stating that the code cited had originated from an MPL-licensed version of Terraform.[22][23]

References[edit]

  1. ^"Releases - hashicorp/terraform".Retrieved7 July2024– viaGitHub.
  2. ^"LICENSE"– via GitHub.
  3. ^"Syntax - Configuration Language".
  4. ^"Providers".
  5. ^"Resources".
  6. ^"Data Sources".
  7. ^"Configuration".
  8. ^"Modules".
  9. ^"Cloudflare Provider".Retrieved23 November2022.
  10. ^"Selectel Provider".12 April 2023.
  11. ^"Google Cloud Platform Provider for Terraform".Retrieved5 February2017.
  12. ^Starr-Bochicchio, Andrew (22 October 2018)."Introducing the DigitalOcean Terraform Provider".DigitalOcean Blog.Retrieved17 December2020.
  13. ^"Yandex Cloud Provider".31 May 2021.
  14. ^"Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp".Terraform by HashiCorp.Retrieved14 March2018.
  15. ^Bryant, Daniel (26 March 2017)."HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners".InfoQ.Retrieved23 May2017.
  16. ^Yevgeniy., Brikman (2017).Terraform Writing Infrastructure as Configuration.O'Reilly Media.ISBN9781491977057.OCLC978667796.
  17. ^Somwanshi, Sneha (1 March 2015)."Choosing the Right Tool to Provision AWS Infrastructure".ThoughtWorks Blog.
  18. ^Turnbull, James (2016).The Terraform Book.James Turnbull.ISBN9780988820258.
  19. ^Atkins, Martin (16 November 2017)."HashiCorp Terraform 0.11".HashiCorp Blog.Retrieved17 December2020.
  20. ^HashiCorp."HashiCorp Terraform - Provision & Manage any Infrastructure".HashiCorp: Infrastructure enables innovation.Retrieved15 April2020.
  21. ^"HashiCorp Adopts Business Source License for All Products".InfoQ.Retrieved20 October2023.
  22. ^Vaughan-Nichols, Steven J. (11 April 2024)."OpenTofu Denies Hashicorp's Code-Stealing Accusations".DevOps.Retrieved13 April2024.
  23. ^Jackson, Joab (12 April 2024)."OpenTofu Project Denies HashiCorp's Allegations of Code Theft".The New Stack.Retrieved13 April2024.

External links[edit]