-
Notifications
You must be signed in to change notification settings - Fork 0
/
mktf.1.html
167 lines (137 loc) · 6.26 KB
/
mktf.1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' value='text/html;charset=utf8'>
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
<title>mktf(1) - Launch a GCP Ubuntu instance and set up Terraform</title>
<style type='text/css' media='all'>
/* style: man */
body#manpage {margin:0}
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
.mp h2 {margin:10px 0 0 0}
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
.mp h3 {margin:0 0 0 4ex}
.mp dt {margin:0;clear:left}
.mp dt.flush {float:left;width:8ex}
.mp dd {margin:0 0 0 9ex}
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
.mp pre {margin-bottom:20px}
.mp pre+h2,.mp pre+h3 {margin-top:22px}
.mp h2+pre,.mp h3+pre {margin-top:5px}
.mp img {display:block;margin:auto}
.mp h1.man-title {display:none}
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
.mp h2 {font-size:16px;line-height:1.25}
.mp h1 {font-size:20px;line-height:2}
.mp {text-align:justify;background:#fff}
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
.mp u {text-decoration:underline}
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
.mp b.man-ref {font-weight:normal;color:#434241}
.mp pre {padding:0 4ex}
.mp pre code {font-weight:normal;color:#434241}
.mp h2+pre,h3+pre {padding-left:0}
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
ol.man-decor {width:100%}
ol.man-decor li.tl {text-align:left}
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
ol.man-decor li.tr {text-align:right;float:right}
</style>
</head>
<!--
The following styles are deprecated and will be removed at some point:
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
.man-navigation should be used instead.
-->
<body id='manpage'>
<div class='mp' id='man'>
<div class='man-navigation' style='display:none'>
<a href="#NAME">NAME</a>
<a href="#SYNOPSIS">SYNOPSIS</a>
<a href="#DESCRIPTION">DESCRIPTION</a>
<a href="#OPTIONS">OPTIONS</a>
<a href="#SECURITY-NOTES">SECURITY NOTES</a>
<a href="#EXAMPLES">EXAMPLES</a>
<a href="#COPYRIGHT">COPYRIGHT</a>
</div>
<ol class='man-decor man-head man head'>
<li class='tl'>mktf(1)</li>
<li class='tc'></li>
<li class='tr'>mktf(1)</li>
</ol>
<h2 id="NAME">NAME</h2>
<p class="man-name">
<code>mktf</code> - <span class="man-whatis">Launch a GCP Ubuntu instance and set up Terraform</span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<pre><code>mktf
-x, --prefix NEW_RESOURCE_PREFIX (required)
-p, --project PROJECT_ID (required)
-z, --zone ZONE (reguired)
-n, --network NETWORK (required)
[-t, --machine-type MACHINE_TYPE] (optional)
[-h, --help] (optional)
[-s, --random-suffix] (optional)
</code></pre>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
<p>The mktf command creates an Ubuntu instance and installs Terraform.
The goal of this command is to make getting started with Terraform easier.</p>
<p>More specifically, mktf performs the tasks listed below.</p>
<ol>
<li>Optionally creates a random suffix used for resource names. and creates Terraform scripts for the Google Cloud provider,</li>
<li>Creates a service account that will be used when creating the instance.</li>
<li>Creates a Google Cloud Storage bucket for holding Terraform state.</li>
<li>Creates a Google Cloud Ubuntu instance.</li>
<li>Installs Terraform on the instances.</li>
<li>Creates Terraform code files on the instance in /usr/local/etc/tf for the backend state, providers, regional providers, and so forth.</li>
<li>Modifies /etc/bash.bashrc on the instance to notify a user upon login of the location of the Terraform files.</li>
<li>Modifies /etc/bash.bashrc on the instance to set up .virmrc if it does not already exist.</li>
</ol>
<h2 id="OPTIONS">OPTIONS</h2>
<pre><code> -x, --prefix NEW_RESOURCE_PREFIX (required)
This option specifiesthe prefix for names of the resources created by mygcptf.
This includes the service account, the GCS bucket for Terraform state, and the instance.
This does not include resources created by Terraform.
-p, --project PROJECT_ID (required)
This option specifies the exiting project ID in which the resources will be created.
-z, --zone ZONE (reguired)
This option specifies the zone in which the instance will be created.
-n, --network NETWORK (required)
This option specifies the name of an existing network to which the interface
of the instance will be attached. This has only been tested for networks
that have been created with automatic subnets.
[-t, --machine-type MACHINE_TYPE] (optional)
This option specifies the machine type of the Ubuntu instance. The default is
e2-micro.
[-h, --help] (optional)
This option displays a help message
[-s, --random-suffix] (optional)
This option appends a random suffix to each of the resources created by mktf.
This does not include the resources created within Terraform.
</code></pre>
<h2 id="SECURITY-NOTES">SECURITY NOTES</h2>
<p>The service account that is created to launch the Terraform instance contains the permissions listed below.</p>
<ul>
<li><p>roles/owner</p></li>
<li><p>roles/resourcemanager.projectIamAdmin</p></li>
<li><p>roles/iam.serviceAccountUser</p></li>
</ul>
<h2 id="EXAMPLES">EXAMPLES</h2>
<pre><code>./mktf -x my-instance -p my-project -n my-network -z us-west2-b -s
</code></pre>
<h2 id="COPYRIGHT">COPYRIGHT</h2>
<p>mktf is copyright (c) 2020, Jeffrey S. Levine. Released under the Apache
license.</p>
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>October 2020</li>
<li class='tr'>mktf(1)</li>
</ol>
</div>
</body>
</html>