Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.

Automatically build infrastructure from code

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vestibulum nibh vitae quam dapibus, nec sodales dolor sodales. Class aptent taciti sociosqu ad litora.

$ terraform apply

Iterate on infrastructure safely

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vestibulum nibh vitae quam dapibus, nec sodales dolor sodales. Class aptent taciti sociosqu ad litora.

Clone complete environments easily

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vestibulum nibh vitae quam dapibus, nec sodales dolor sodales. Class aptent taciti sociosqu ad litora.

DNS Query Interface

Look up services using Terraform's built-in DNS server. Support existing infrastructure without any code change.

Terminal

admin@hashicorp: dig web-frontend.service.terraform. ANY

; <<>> DiG 9.8.3-P1 <<>> web-frontend.service.terraform. ANY

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29981

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;web-frontend.service.terraform. IN ANY

;; ANSWER SECTION:

web-frontend.service.terraform. 0 IN A 10.0.3.83

web-frontend.service.terraform. 0 IN A 10.0.1.109

admin@hashicorp:  

Key Value Storage

Terraform provides a hierarchical key/value store with a simple HTTP API. Managing configuration has never been simpler.

Terminal

admin@hashicorp: curl -X PUT -d 'bar' http://localhost:8500/v1/kv/foo

true

admin@hashicorp: curl http://localhost:8500/v1/kv/foo

[

{

"CreateIndex": 100,

"ModifyIndex": 200,

"Key": "foo",

"Flags": 0,

"Value": "YmFy"

}

]

admin@hashicorp:  

The intro and getting started guide contain a simple and approachable walkthrough for running Terraform locally.