2014-07-16 23:51:48 +02:00
|
|
|
<!-- Main jumbotron for a primary marketing message or call to action -->
|
|
|
|
<div id="jumbotron-mask">
|
|
|
|
<div id="jumbotron">
|
2014-07-26 10:00:59 +02:00
|
|
|
<div class="jumbotron-content" id="jumbotron-content">
|
2014-07-28 21:36:58 +02:00
|
|
|
<h2 class="tag-line" id="tag-line" style="visibility: hidden;">Build, Combine, and Launch Infrastructure</h2>
|
2014-07-24 05:35:57 +02:00
|
|
|
</div>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2014-07-23 00:31:43 +02:00
|
|
|
<div class="feature" id="feature-auto">
|
2014-07-16 23:51:48 +02:00
|
|
|
<div class="container">
|
2014-07-23 00:31:43 +02:00
|
|
|
<div class="row">
|
2014-07-24 20:43:14 +02:00
|
|
|
<div class="col-lg-7 col-md-7 col-sm-12">
|
2014-07-28 00:57:43 +02:00
|
|
|
<h2 class="feature-t">Infrastructure as code</h2>
|
2014-07-27 18:07:23 +02:00
|
|
|
<p>Terraform provides a common configuration to launch infrastructure —
|
2014-07-28 00:57:43 +02:00
|
|
|
from physical and virtual servers to email and DNS providers. Once launched,
|
|
|
|
Terraform safely and efficiently changes infrastructure as the configuration
|
|
|
|
is evolved.</p>
|
2014-07-27 18:07:23 +02:00
|
|
|
<p>Simple file based configuration gives you a single view
|
|
|
|
of your entire infrastructure.</p>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
2014-07-24 20:43:14 +02:00
|
|
|
<div class="col-lg-5 col-md-5 col-sm-12">
|
2014-07-27 18:07:23 +02:00
|
|
|
<h3 class="terminal-text">$ terraform apply</h3>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
2014-07-23 00:31:43 +02:00
|
|
|
</div> <!-- /container -->
|
|
|
|
</div> <!-- /feature -->
|
2014-07-16 23:51:48 +02:00
|
|
|
|
2014-07-23 00:31:43 +02:00
|
|
|
<div class="feature" id="feature-iterate">
|
|
|
|
<div class="container">
|
|
|
|
<div class="row">
|
2014-07-24 03:58:55 +02:00
|
|
|
<div class="col-lg-5 col-md-5 col-sm-12">
|
|
|
|
<div class="it-icon f-icon clearfix">
|
2014-07-23 00:31:43 +02:00
|
|
|
<div class="t-block"></div>
|
2014-07-23 03:59:07 +02:00
|
|
|
<div class="t-block t2"></div>
|
|
|
|
<div class="t-block t3"></div>
|
|
|
|
<div class="t-block t4"></div>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2014-07-24 03:58:55 +02:00
|
|
|
<div class="col-lg-7 col-md-7 col-sm-12">
|
2014-07-28 00:57:43 +02:00
|
|
|
<h2 class="feature-t">Combine Multiple Providers</h2>
|
|
|
|
<p>Terraform allows you to effortlessly combine high-level system
|
|
|
|
providers with your own or with each other. Launch a server from
|
|
|
|
one cloud provider, add a DNS entry with it's IP with a different
|
|
|
|
provider. Built-in dependency resolution means
|
2014-07-27 21:51:27 +02:00
|
|
|
things happen in the right order.</p>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div> <!-- /container -->
|
2014-07-23 00:31:43 +02:00
|
|
|
</div> <!-- /feature -->
|
2014-07-16 23:51:48 +02:00
|
|
|
|
2014-07-23 00:55:33 +02:00
|
|
|
<div class="feature" id="feature-clone">
|
|
|
|
<div class="container">
|
|
|
|
<div class="row">
|
2014-07-24 03:58:55 +02:00
|
|
|
<div class="col-lg-5 col-md-5 col-sm-12">
|
2014-07-27 21:51:27 +02:00
|
|
|
<h2 class="feature-t">Evolve your Infrastructure</h2>
|
|
|
|
<p>Your configuration and state can be stored in version control, shared
|
2014-07-27 18:07:23 +02:00
|
|
|
and distributed among your team. Updates, scaling and modifications
|
2014-07-27 21:51:27 +02:00
|
|
|
will be planned first, so you can iterate with confidence.</p>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-24 03:58:55 +02:00
|
|
|
<div class="col-md-push-1 col-lg-6 col-md-6 col-sm-12">
|
2014-07-23 00:55:33 +02:00
|
|
|
<div class="clone-icon f-icon">
|
2014-07-23 04:39:04 +02:00
|
|
|
<div class="c-group clearfix">
|
|
|
|
<div class="c-col c1">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c2">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c3">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-23 04:39:04 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="c-group cg2">
|
|
|
|
<div class="c-col c1">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c2">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c3">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-23 04:39:04 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="c-group cg3 clearfix">
|
|
|
|
<div class="c-col c1">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c2">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
|
|
|
</div>
|
|
|
|
<div class="c-col c3">
|
|
|
|
<div class="c-block"></div>
|
|
|
|
<div class="c-block"></div>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2014-07-23 00:55:33 +02:00
|
|
|
</div>
|
2014-07-26 15:57:57 +02:00
|
|
|
</div>
|
2014-07-23 00:55:33 +02:00
|
|
|
</div>
|
|
|
|
</div> <!-- /container -->
|
|
|
|
</div> <!-- /feature -->
|
|
|
|
|
2014-07-16 23:51:48 +02:00
|
|
|
<div id="demos">
|
|
|
|
<div class="container">
|
|
|
|
<div class="terminals row">
|
|
|
|
|
|
|
|
<div class="col-xs-12 col-lg-12 explantion">
|
2014-07-27 21:51:27 +02:00
|
|
|
<h2>Layering Resources</h2>
|
|
|
|
<p>
|
|
|
|
Use attributes from other resources to create
|
|
|
|
a layered infrastructure. Terraform handles ordering
|
|
|
|
resource creation automatically.
|
2014-07-16 23:51:48 +02:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="terminal-item col-xs-12 col-lg-12">
|
|
|
|
<div class="terminal">
|
|
|
|
<header>
|
2014-07-26 15:57:57 +02:00
|
|
|
<h4>Example Configuration</h4>
|
2014-07-16 23:51:48 +02:00
|
|
|
</header>
|
|
|
|
<div class="terminal-window">
|
2014-07-25 20:21:29 +02:00
|
|
|
<div class="">
|
2014-07-16 23:51:48 +02:00
|
|
|
<div class="display">
|
2014-07-28 19:48:25 +02:00
|
|
|
<p>resource <span class="txt-spe">"digitalocean_droplet"</span> <span class="txt-str">"web"</span> {</p>
|
2014-07-28 19:35:53 +02:00
|
|
|
<p> name = <span class="txt-str">"tf-web"</span></p>
|
|
|
|
<p> size = <span class="txt-str">"512mb"</span></p>
|
|
|
|
<p> image = <span class="txt-str">"centos-5-8-x32"</span></p>
|
|
|
|
<p> region = <span class="txt-str">"sfo1"</span></p>
|
2014-07-26 15:57:57 +02:00
|
|
|
<p>}</p>
|
|
|
|
<p> </p>
|
2014-07-28 19:48:25 +02:00
|
|
|
<p>resource <span class="txt-spe">"dnsimple_record"</span> <span class="txt-str">"hello"</span> {</p>
|
2014-07-28 19:35:53 +02:00
|
|
|
<p> domain = <span class="txt-str">"example.com"</span></p>
|
|
|
|
<p> name = <span class="txt-str">"test"</span></p>
|
|
|
|
<p> value = <span class="txt-str">"<span class="txt-var">${digitalocean_droplet.web.ipv4_address}</span>"</span></p>
|
|
|
|
<p> type = "<span class="txt-str">"A"</span></p>
|
2014-07-26 15:57:57 +02:00
|
|
|
<p>}</p>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div> <!-- /.terminal-item -->
|
|
|
|
|
|
|
|
<div class="col-xs-12 col-lg-12 explantion">
|
2014-07-27 18:07:23 +02:00
|
|
|
<h2>Fast, Simplified Interaction</h2>
|
2014-07-16 23:51:48 +02:00
|
|
|
<p>
|
2014-07-27 21:51:27 +02:00
|
|
|
Simple and intuitive configuration makes even the most complicated services approachable:
|
|
|
|
no more web consoles, loading bars, or confusing CLI clients.
|
2014-07-16 23:51:48 +02:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="terminal-item col-xs-12 col-lg-12">
|
|
|
|
<div class="terminal">
|
|
|
|
<header>
|
2014-07-26 15:57:57 +02:00
|
|
|
<h4>Example Configuration</h4>
|
2014-07-16 23:51:48 +02:00
|
|
|
</header>
|
|
|
|
<div class="terminal-window">
|
2014-07-25 20:21:29 +02:00
|
|
|
<div class="">
|
2014-07-16 23:51:48 +02:00
|
|
|
<div class="display">
|
2014-07-28 19:48:25 +02:00
|
|
|
<p>resource <span class="txt-spe">"aws_elb"</span> <span class="txt-str">"frontend"</span> {</p>
|
2014-07-28 19:41:17 +02:00
|
|
|
<p> name = <span class="txt-str">"frontend-load-balancer"</span></p>
|
2014-07-27 18:07:23 +02:00
|
|
|
<p> listener {</p>
|
2014-07-28 19:41:17 +02:00
|
|
|
<p> instance_port = <span class="txt-int">8000</span></p>
|
|
|
|
<p> instance_protocol = <span class="txt-str">"http"</span></p>
|
|
|
|
<p> lb_port = <span class="txt-int">80</span></p>
|
|
|
|
<p> lb_protocol = <span class="txt-str">"http"</span></p>
|
2014-07-27 18:07:23 +02:00
|
|
|
<p> }</p>
|
|
|
|
<p> </p>
|
2014-07-28 19:41:17 +02:00
|
|
|
<p> instances = [<span class="txt-str">"<span class="txt-var">${aws_instance.app.*.id}</span>"</span>]</p>
|
2014-07-26 15:57:57 +02:00
|
|
|
<p>}</p>
|
|
|
|
<p> </p>
|
2014-07-28 19:48:25 +02:00
|
|
|
<p>resource <span class="txt-spe">"aws_instance"</span> <span class="txt-str">"app"</span> {</p>
|
2014-07-28 19:41:17 +02:00
|
|
|
<p> count = <span class="txt-int">5</span></p>
|
2014-07-27 18:07:23 +02:00
|
|
|
<p> </p>
|
2014-07-28 19:41:17 +02:00
|
|
|
<p> ami = <span class="txt-str">"ami-043a5034"</span></p>
|
|
|
|
<p> instance_type = <span class="txt-str">"m1.small"</span></p>
|
2014-07-26 15:57:57 +02:00
|
|
|
<p>}</p>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div> <!-- /.terminal-item -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div><!-- /#demos -->
|
|
|
|
|
|
|
|
<div id="cta">
|
|
|
|
<div class="container">
|
|
|
|
<div class="row">
|
|
|
|
<div class="intro">
|
2014-07-24 02:14:03 +02:00
|
|
|
<div class="left col-xs-12 col-sm-4 col-sm-offset-1 col-md-offset-2 col-md-4">
|
2014-07-27 21:16:56 +02:00
|
|
|
<p>The intro contains a walkthrough guide, introductory literature
|
|
|
|
and a range of examples to experiment with Terraform.</p>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
2014-07-24 02:14:03 +02:00
|
|
|
<div class="col-xs-12 col-sm-6 col-md-4 right">
|
2014-07-27 21:16:56 +02:00
|
|
|
<a class="outline-btn" href="/intro/index.html">Try Terraform »</a>
|
2014-07-16 23:51:48 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|