vagrant-cloudinit 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/Gemfile +12 -0
- data/LICENSE.txt +21 -0
- data/README.html +1086 -0
- data/README.md +40 -0
- data/Rakefile +3 -0
- data/lib/vagrant-cloudinit.rb +84 -0
- data/lib/vagrant-cloudinit/version.rb +5 -0
- data/vagrant-cloudinit.gemspec +24 -0
- metadata +81 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: b39129f5562786b56cee8dee5d1a314e634ed723
|
|
4
|
+
data.tar.gz: e09607f0679930f3a395ae15d0796dc1e08bd948
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 8d10be3edc95a1a5f06e47edb6a3602720134a6efedbbed0ac0024c62915c58aa4b09d9ff29003c5e7b5fd3b51dd9768c7e89dded0decc0062f6b5b8267ec55b
|
|
7
|
+
data.tar.gz: 4b3ba1adb4c06abecee076f1de5a72cd96be7d8335269097e7feda174ae05856ea844b93c9fa5c0bcb9079258ccf3f25ad58bd8934aad45f957d1e395e19f2d5
|
data/.gitignore
ADDED
data/Gemfile
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
# Specify your gem's dependencies in vagrant-userdata.gemspec
|
|
4
|
+
gemspec
|
|
5
|
+
|
|
6
|
+
group :development do
|
|
7
|
+
gem "vagrant", git: "https://github.com/hashicorp/vagrant.git"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
group :plugins do
|
|
11
|
+
gem "vagrant-cloudinit", path: "."
|
|
12
|
+
end
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 James Keane
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.html
ADDED
|
@@ -0,0 +1,1086 @@
|
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><style>body {
|
|
2
|
+
max-width: 980px;
|
|
3
|
+
border: 1px solid #ddd;
|
|
4
|
+
outline: 1300px solid #fff;
|
|
5
|
+
margin: 16px auto;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
body .markdown-body
|
|
9
|
+
{
|
|
10
|
+
padding: 45px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: fontawesome-mini;
|
|
15
|
+
src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.markdown-body {
|
|
19
|
+
font-family: sans-serif;
|
|
20
|
+
-ms-text-size-adjust: 100%;
|
|
21
|
+
-webkit-text-size-adjust: 100%;
|
|
22
|
+
color: #333333;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
|
|
25
|
+
font-size: 16px;
|
|
26
|
+
line-height: 1.6;
|
|
27
|
+
word-wrap: break-word;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.markdown-body a {
|
|
31
|
+
background: transparent;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.markdown-body a:active,
|
|
35
|
+
.markdown-body a:hover {
|
|
36
|
+
outline: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.markdown-body b,
|
|
40
|
+
.markdown-body strong {
|
|
41
|
+
font-weight: bold;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.markdown-body mark {
|
|
45
|
+
background: #ff0;
|
|
46
|
+
color: #000;
|
|
47
|
+
font-style: italic;
|
|
48
|
+
font-weight: bold;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.markdown-body sub,
|
|
52
|
+
.markdown-body sup {
|
|
53
|
+
font-size: 75%;
|
|
54
|
+
line-height: 0;
|
|
55
|
+
position: relative;
|
|
56
|
+
vertical-align: baseline;
|
|
57
|
+
}
|
|
58
|
+
.markdown-body sup {
|
|
59
|
+
top: -0.5em;
|
|
60
|
+
}
|
|
61
|
+
.markdown-body sub {
|
|
62
|
+
bottom: -0.25em;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.markdown-body h1 {
|
|
66
|
+
font-size: 2em;
|
|
67
|
+
margin: 0.67em 0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.markdown-body img {
|
|
71
|
+
border: 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.markdown-body hr {
|
|
75
|
+
-moz-box-sizing: content-box;
|
|
76
|
+
box-sizing: content-box;
|
|
77
|
+
height: 0;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.markdown-body pre {
|
|
81
|
+
overflow: auto;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.markdown-body code,
|
|
85
|
+
.markdown-body kbd,
|
|
86
|
+
.markdown-body pre,
|
|
87
|
+
.markdown-body samp {
|
|
88
|
+
font-family: monospace, monospace;
|
|
89
|
+
font-size: 1em;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.markdown-body input {
|
|
93
|
+
color: inherit;
|
|
94
|
+
font: inherit;
|
|
95
|
+
margin: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.markdown-body html input[disabled] {
|
|
99
|
+
cursor: default;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.markdown-body input {
|
|
103
|
+
line-height: normal;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.markdown-body input[type="checkbox"] {
|
|
107
|
+
box-sizing: border-box;
|
|
108
|
+
padding: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.markdown-body table {
|
|
112
|
+
border-collapse: collapse;
|
|
113
|
+
border-spacing: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.markdown-body td,
|
|
117
|
+
.markdown-body th {
|
|
118
|
+
padding: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.markdown-body .codehilitetable {
|
|
122
|
+
border: 0;
|
|
123
|
+
border-spacing: 0;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.markdown-body .codehilitetable tr {
|
|
127
|
+
border: 0;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.markdown-body .codehilitetable pre,
|
|
131
|
+
.markdown-body .codehilitetable div.codehilite {
|
|
132
|
+
margin: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.markdown-body .linenos,
|
|
136
|
+
.markdown-body .code,
|
|
137
|
+
.markdown-body .codehilitetable td {
|
|
138
|
+
border: 0;
|
|
139
|
+
padding: 0;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.markdown-body td:not(.linenos) .linenodiv {
|
|
143
|
+
padding: 0 !important;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.markdown-body .code {
|
|
147
|
+
width: 100%;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.markdown-body .linenos div pre,
|
|
151
|
+
.markdown-body .linenodiv pre,
|
|
152
|
+
.markdown-body .linenodiv {
|
|
153
|
+
border: 0;
|
|
154
|
+
-webkit-border-radius: 0;
|
|
155
|
+
-moz-border-radius: 0;
|
|
156
|
+
border-radius: 0;
|
|
157
|
+
-webkit-border-top-left-radius: 3px;
|
|
158
|
+
-webkit-border-bottom-left-radius: 3px;
|
|
159
|
+
-moz-border-radius-topleft: 3px;
|
|
160
|
+
-moz-border-radius-bottomleft: 3px;
|
|
161
|
+
border-top-left-radius: 3px;
|
|
162
|
+
border-bottom-left-radius: 3px;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.markdown-body .code div pre,
|
|
166
|
+
.markdown-body .code div {
|
|
167
|
+
border: 0;
|
|
168
|
+
-webkit-border-radius: 0;
|
|
169
|
+
-moz-border-radius: 0;
|
|
170
|
+
border-radius: 0;
|
|
171
|
+
-webkit-border-top-right-radius: 3px;
|
|
172
|
+
-webkit-border-bottom-right-radius: 3px;
|
|
173
|
+
-moz-border-radius-topright: 3px;
|
|
174
|
+
-moz-border-radius-bottomright: 3px;
|
|
175
|
+
border-top-right-radius: 3px;
|
|
176
|
+
border-bottom-right-radius: 3px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.markdown-body * {
|
|
180
|
+
-moz-box-sizing: border-box;
|
|
181
|
+
box-sizing: border-box;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.markdown-body input {
|
|
185
|
+
font: 13px Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
|
|
186
|
+
line-height: 1.4;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.markdown-body a {
|
|
190
|
+
color: #4183c4;
|
|
191
|
+
text-decoration: none;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.markdown-body a:hover,
|
|
195
|
+
.markdown-body a:focus,
|
|
196
|
+
.markdown-body a:active {
|
|
197
|
+
text-decoration: underline;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.markdown-body hr {
|
|
201
|
+
height: 0;
|
|
202
|
+
margin: 15px 0;
|
|
203
|
+
overflow: hidden;
|
|
204
|
+
background: transparent;
|
|
205
|
+
border: 0;
|
|
206
|
+
border-bottom: 1px solid #ddd;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.markdown-body hr:before,
|
|
210
|
+
.markdown-body hr:after {
|
|
211
|
+
display: table;
|
|
212
|
+
content: " ";
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.markdown-body hr:after {
|
|
216
|
+
clear: both;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.markdown-body h1,
|
|
220
|
+
.markdown-body h2,
|
|
221
|
+
.markdown-body h3,
|
|
222
|
+
.markdown-body h4,
|
|
223
|
+
.markdown-body h5,
|
|
224
|
+
.markdown-body h6 {
|
|
225
|
+
margin-top: 15px;
|
|
226
|
+
margin-bottom: 15px;
|
|
227
|
+
line-height: 1.1;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.markdown-body h1 {
|
|
231
|
+
font-size: 30px;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.markdown-body h2 {
|
|
235
|
+
font-size: 21px;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.markdown-body h3 {
|
|
239
|
+
font-size: 16px;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.markdown-body h4 {
|
|
243
|
+
font-size: 14px;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.markdown-body h5 {
|
|
247
|
+
font-size: 12px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.markdown-body h6 {
|
|
251
|
+
font-size: 11px;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.markdown-body blockquote {
|
|
255
|
+
margin: 0;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.markdown-body ul,
|
|
259
|
+
.markdown-body ol {
|
|
260
|
+
padding: 0;
|
|
261
|
+
margin-top: 0;
|
|
262
|
+
margin-bottom: 0;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.markdown-body ol ol,
|
|
266
|
+
.markdown-body ul ol {
|
|
267
|
+
list-style-type: lower-roman;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.markdown-body ul ul ol,
|
|
271
|
+
.markdown-body ul ol ol,
|
|
272
|
+
.markdown-body ol ul ol,
|
|
273
|
+
.markdown-body ol ol ol {
|
|
274
|
+
list-style-type: lower-alpha;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.markdown-body dd {
|
|
278
|
+
margin-left: 0;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.markdown-body code,
|
|
282
|
+
.markdown-body pre,
|
|
283
|
+
.markdown-body samp {
|
|
284
|
+
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
285
|
+
font-size: 12px;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.markdown-body pre {
|
|
289
|
+
margin-top: 0;
|
|
290
|
+
margin-bottom: 0;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.markdown-body kbd {
|
|
294
|
+
background-color: #e7e7e7;
|
|
295
|
+
background-image: -moz-linear-gradient(#fefefe, #e7e7e7);
|
|
296
|
+
background-image: -webkit-linear-gradient(#fefefe, #e7e7e7);
|
|
297
|
+
background-image: linear-gradient(#fefefe, #e7e7e7);
|
|
298
|
+
background-repeat: repeat-x;
|
|
299
|
+
border-radius: 2px;
|
|
300
|
+
border: 1px solid #cfcfcf;
|
|
301
|
+
color: #000;
|
|
302
|
+
padding: 3px 5px;
|
|
303
|
+
line-height: 10px;
|
|
304
|
+
font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
305
|
+
display: inline-block;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.markdown-body>*:first-child {
|
|
309
|
+
margin-top: 0 !important;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.markdown-body>*:last-child {
|
|
313
|
+
margin-bottom: 0 !important;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.markdown-body .headerlink {
|
|
317
|
+
font: normal 400 16px fontawesome-mini;
|
|
318
|
+
vertical-align: middle;
|
|
319
|
+
margin-left: -16px;
|
|
320
|
+
float: left;
|
|
321
|
+
display: inline-block;
|
|
322
|
+
text-decoration: none;
|
|
323
|
+
opacity: 0;
|
|
324
|
+
color: #333;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.markdown-body .headerlink:focus {
|
|
328
|
+
outline: none;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.markdown-body h1 .headerlink {
|
|
332
|
+
margin-top: 0.8rem;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
.markdown-body h2 .headerlink,
|
|
336
|
+
.markdown-body h3 .headerlink {
|
|
337
|
+
margin-top: 0.6rem;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.markdown-body h4 .headerlink {
|
|
341
|
+
margin-top: 0.2rem;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.markdown-body h5 .headerlink,
|
|
345
|
+
.markdown-body h6 .headerlink {
|
|
346
|
+
margin-top: 0;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.markdown-body .headerlink:hover,
|
|
350
|
+
.markdown-body h1:hover .headerlink,
|
|
351
|
+
.markdown-body h2:hover .headerlink,
|
|
352
|
+
.markdown-body h3:hover .headerlink,
|
|
353
|
+
.markdown-body h4:hover .headerlink,
|
|
354
|
+
.markdown-body h5:hover .headerlink,
|
|
355
|
+
.markdown-body h6:hover .headerlink {
|
|
356
|
+
opacity: 1;
|
|
357
|
+
text-decoration: none;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.markdown-body h1 {
|
|
361
|
+
padding-bottom: 0.3em;
|
|
362
|
+
font-size: 2.25em;
|
|
363
|
+
line-height: 1.2;
|
|
364
|
+
border-bottom: 1px solid #eee;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.markdown-body h2 {
|
|
368
|
+
padding-bottom: 0.3em;
|
|
369
|
+
font-size: 1.75em;
|
|
370
|
+
line-height: 1.225;
|
|
371
|
+
border-bottom: 1px solid #eee;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.markdown-body h3 {
|
|
375
|
+
font-size: 1.5em;
|
|
376
|
+
line-height: 1.43;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.markdown-body h4 {
|
|
380
|
+
font-size: 1.25em;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.markdown-body h5 {
|
|
384
|
+
font-size: 1em;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.markdown-body h6 {
|
|
388
|
+
font-size: 1em;
|
|
389
|
+
color: #777;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.markdown-body p,
|
|
393
|
+
.markdown-body blockquote,
|
|
394
|
+
.markdown-body ul,
|
|
395
|
+
.markdown-body ol,
|
|
396
|
+
.markdown-body dl,
|
|
397
|
+
.markdown-body table,
|
|
398
|
+
.markdown-body pre,
|
|
399
|
+
.markdown-body .admonition {
|
|
400
|
+
margin-top: 0;
|
|
401
|
+
margin-bottom: 16px;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
.markdown-body hr {
|
|
405
|
+
height: 4px;
|
|
406
|
+
padding: 0;
|
|
407
|
+
margin: 16px 0;
|
|
408
|
+
background-color: #e7e7e7;
|
|
409
|
+
border: 0 none;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.markdown-body ul,
|
|
413
|
+
.markdown-body ol {
|
|
414
|
+
padding-left: 2em;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.markdown-body ul ul,
|
|
418
|
+
.markdown-body ul ol,
|
|
419
|
+
.markdown-body ol ol,
|
|
420
|
+
.markdown-body ol ul {
|
|
421
|
+
margin-top: 0;
|
|
422
|
+
margin-bottom: 0;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.markdown-body li>p {
|
|
426
|
+
margin-top: 16px;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.markdown-body dl {
|
|
430
|
+
padding: 0;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.markdown-body dl dt {
|
|
434
|
+
padding: 0;
|
|
435
|
+
margin-top: 16px;
|
|
436
|
+
font-size: 1em;
|
|
437
|
+
font-style: italic;
|
|
438
|
+
font-weight: bold;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.markdown-body dl dd {
|
|
442
|
+
padding: 0 16px;
|
|
443
|
+
margin-bottom: 16px;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
.markdown-body blockquote {
|
|
447
|
+
padding: 0 15px;
|
|
448
|
+
color: #777;
|
|
449
|
+
border-left: 4px solid #ddd;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.markdown-body blockquote>:first-child {
|
|
453
|
+
margin-top: 0;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.markdown-body blockquote>:last-child {
|
|
457
|
+
margin-bottom: 0;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
.markdown-body table {
|
|
461
|
+
display: block;
|
|
462
|
+
width: 100%;
|
|
463
|
+
overflow: auto;
|
|
464
|
+
word-break: normal;
|
|
465
|
+
word-break: keep-all;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.markdown-body table th {
|
|
469
|
+
font-weight: bold;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.markdown-body table th,
|
|
473
|
+
.markdown-body table td {
|
|
474
|
+
padding: 6px 13px;
|
|
475
|
+
border: 1px solid #ddd;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.markdown-body table tr {
|
|
479
|
+
background-color: #fff;
|
|
480
|
+
border-top: 1px solid #ccc;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.markdown-body table tr:nth-child(2n) {
|
|
484
|
+
background-color: #f8f8f8;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
.markdown-body img {
|
|
488
|
+
max-width: 100%;
|
|
489
|
+
-moz-box-sizing: border-box;
|
|
490
|
+
box-sizing: border-box;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.markdown-body code,
|
|
494
|
+
.markdown-body samp {
|
|
495
|
+
padding: 0;
|
|
496
|
+
padding-top: 0.2em;
|
|
497
|
+
padding-bottom: 0.2em;
|
|
498
|
+
margin: 0;
|
|
499
|
+
font-size: 85%;
|
|
500
|
+
background-color: rgba(0,0,0,0.04);
|
|
501
|
+
border-radius: 3px;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
.markdown-body code:before,
|
|
505
|
+
.markdown-body code:after {
|
|
506
|
+
letter-spacing: -0.2em;
|
|
507
|
+
content: "\00a0";
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
.markdown-body pre>code {
|
|
511
|
+
padding: 0;
|
|
512
|
+
margin: 0;
|
|
513
|
+
font-size: 100%;
|
|
514
|
+
word-break: normal;
|
|
515
|
+
white-space: pre;
|
|
516
|
+
background: transparent;
|
|
517
|
+
border: 0;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
.markdown-body .codehilite {
|
|
521
|
+
margin-bottom: 16px;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
.markdown-body .codehilite pre,
|
|
525
|
+
.markdown-body pre {
|
|
526
|
+
padding: 16px;
|
|
527
|
+
overflow: auto;
|
|
528
|
+
font-size: 85%;
|
|
529
|
+
line-height: 1.45;
|
|
530
|
+
background-color: #f7f7f7;
|
|
531
|
+
border-radius: 3px;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.markdown-body .codehilite pre {
|
|
535
|
+
margin-bottom: 0;
|
|
536
|
+
word-break: normal;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.markdown-body pre {
|
|
540
|
+
word-wrap: normal;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.markdown-body pre code {
|
|
544
|
+
display: inline;
|
|
545
|
+
max-width: initial;
|
|
546
|
+
padding: 0;
|
|
547
|
+
margin: 0;
|
|
548
|
+
overflow: initial;
|
|
549
|
+
line-height: inherit;
|
|
550
|
+
word-wrap: normal;
|
|
551
|
+
background-color: transparent;
|
|
552
|
+
border: 0;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
.markdown-body pre code:before,
|
|
556
|
+
.markdown-body pre code:after {
|
|
557
|
+
content: normal;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/* Admonition */
|
|
561
|
+
.markdown-body .admonition {
|
|
562
|
+
-webkit-border-radius: 3px;
|
|
563
|
+
-moz-border-radius: 3px;
|
|
564
|
+
position: relative;
|
|
565
|
+
border-radius: 3px;
|
|
566
|
+
border: 1px solid #e0e0e0;
|
|
567
|
+
border-left: 6px solid #333;
|
|
568
|
+
padding: 10px 10px 10px 30px;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
.markdown-body .admonition table {
|
|
572
|
+
color: #333;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
.markdown-body .admonition p {
|
|
576
|
+
padding: 0;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
.markdown-body .admonition-title {
|
|
580
|
+
font-weight: bold;
|
|
581
|
+
margin: 0;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
.markdown-body .admonition>.admonition-title {
|
|
585
|
+
color: #333;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
.markdown-body .attention>.admonition-title {
|
|
589
|
+
color: #a6d796;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.markdown-body .caution>.admonition-title {
|
|
593
|
+
color: #d7a796;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
.markdown-body .hint>.admonition-title {
|
|
597
|
+
color: #96c6d7;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.markdown-body .danger>.admonition-title {
|
|
601
|
+
color: #c25f77;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
.markdown-body .question>.admonition-title {
|
|
605
|
+
color: #96a6d7;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.markdown-body .note>.admonition-title {
|
|
609
|
+
color: #d7c896;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.markdown-body .admonition:before,
|
|
613
|
+
.markdown-body .attention:before,
|
|
614
|
+
.markdown-body .caution:before,
|
|
615
|
+
.markdown-body .hint:before,
|
|
616
|
+
.markdown-body .danger:before,
|
|
617
|
+
.markdown-body .question:before,
|
|
618
|
+
.markdown-body .note:before {
|
|
619
|
+
font: normal normal 16px fontawesome-mini;
|
|
620
|
+
-moz-osx-font-smoothing: grayscale;
|
|
621
|
+
-webkit-user-select: none;
|
|
622
|
+
-moz-user-select: none;
|
|
623
|
+
-ms-user-select: none;
|
|
624
|
+
user-select: none;
|
|
625
|
+
line-height: 1.5;
|
|
626
|
+
color: #333;
|
|
627
|
+
position: absolute;
|
|
628
|
+
left: 0;
|
|
629
|
+
top: 0;
|
|
630
|
+
padding-top: 10px;
|
|
631
|
+
padding-left: 10px;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.markdown-body .admonition:before {
|
|
635
|
+
content: "\f056\00a0";
|
|
636
|
+
color: 333;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
.markdown-body .attention:before {
|
|
640
|
+
content: "\f058\00a0";
|
|
641
|
+
color: #a6d796;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.markdown-body .caution:before {
|
|
645
|
+
content: "\f06a\00a0";
|
|
646
|
+
color: #d7a796;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
.markdown-body .hint:before {
|
|
650
|
+
content: "\f05a\00a0";
|
|
651
|
+
color: #96c6d7;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.markdown-body .danger:before {
|
|
655
|
+
content: "\f057\00a0";
|
|
656
|
+
color: #c25f77;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
.markdown-body .question:before {
|
|
660
|
+
content: "\f059\00a0";
|
|
661
|
+
color: #96a6d7;
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
.markdown-body .note:before {
|
|
665
|
+
content: "\f040\00a0";
|
|
666
|
+
color: #d7c896;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
.markdown-body .admonition::after {
|
|
670
|
+
content: normal;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
.markdown-body .attention {
|
|
674
|
+
border-left: 6px solid #a6d796;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.markdown-body .caution {
|
|
678
|
+
border-left: 6px solid #d7a796;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.markdown-body .hint {
|
|
682
|
+
border-left: 6px solid #96c6d7;
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
.markdown-body .danger {
|
|
686
|
+
border-left: 6px solid #c25f77;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
.markdown-body .question {
|
|
690
|
+
border-left: 6px solid #96a6d7;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
.markdown-body .note {
|
|
694
|
+
border-left: 6px solid #d7c896;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.markdown-body .admonition>*:first-child {
|
|
698
|
+
margin-top: 0 !important;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
.markdown-body .admonition>*:last-child {
|
|
702
|
+
margin-bottom: 0 !important;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
/* progress bar*/
|
|
706
|
+
.markdown-body .progress {
|
|
707
|
+
display: block;
|
|
708
|
+
width: 300px;
|
|
709
|
+
margin: 10px 0;
|
|
710
|
+
height: 24px;
|
|
711
|
+
-webkit-border-radius: 3px;
|
|
712
|
+
-moz-border-radius: 3px;
|
|
713
|
+
border-radius: 3px;
|
|
714
|
+
background-color: #ededed;
|
|
715
|
+
position: relative;
|
|
716
|
+
box-shadow: inset -1px 1px 3px rgba(0, 0, 0, .1);
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.markdown-body .progress-label {
|
|
720
|
+
position: absolute;
|
|
721
|
+
text-align: center;
|
|
722
|
+
font-weight: bold;
|
|
723
|
+
width: 100%; margin: 0;
|
|
724
|
+
line-height: 24px;
|
|
725
|
+
color: #333;
|
|
726
|
+
text-shadow: 1px 1px 0 #fefefe, -1px -1px 0 #fefefe, -1px 1px 0 #fefefe, 1px -1px 0 #fefefe, 0 1px 0 #fefefe, 0 -1px 0 #fefefe, 1px 0 0 #fefefe, -1px 0 0 #fefefe, 1px 1px 2px #000;
|
|
727
|
+
-webkit-font-smoothing: antialiased !important;
|
|
728
|
+
white-space: nowrap;
|
|
729
|
+
overflow: hidden;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
.markdown-body .progress-bar {
|
|
733
|
+
height: 24px;
|
|
734
|
+
float: left;
|
|
735
|
+
-webkit-border-radius: 3px;
|
|
736
|
+
-moz-border-radius: 3px;
|
|
737
|
+
border-radius: 3px;
|
|
738
|
+
background-color: #96c6d7;
|
|
739
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .1);
|
|
740
|
+
background-size: 30px 30px;
|
|
741
|
+
background-image: -webkit-linear-gradient(
|
|
742
|
+
135deg, rgba(255, 255, 255, .4) 27%,
|
|
743
|
+
transparent 27%,
|
|
744
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
745
|
+
rgba(255, 255, 255, .4) 77%,
|
|
746
|
+
transparent 77%, transparent
|
|
747
|
+
);
|
|
748
|
+
background-image: -moz-linear-gradient(
|
|
749
|
+
135deg,
|
|
750
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
751
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
752
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
753
|
+
transparent
|
|
754
|
+
);
|
|
755
|
+
background-image: -ms-linear-gradient(
|
|
756
|
+
135deg,
|
|
757
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
758
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
759
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
760
|
+
transparent
|
|
761
|
+
);
|
|
762
|
+
background-image: -o-linear-gradient(
|
|
763
|
+
135deg,
|
|
764
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
765
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
766
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
767
|
+
transparent
|
|
768
|
+
);
|
|
769
|
+
background-image: linear-gradient(
|
|
770
|
+
135deg,
|
|
771
|
+
rgba(255, 255, 255, .4) 27%, transparent 27%,
|
|
772
|
+
transparent 52%, rgba(255, 255, 255, .4) 52%,
|
|
773
|
+
rgba(255, 255, 255, .4) 77%, transparent 77%,
|
|
774
|
+
transparent
|
|
775
|
+
);
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
.markdown-body .progress-100plus .progress-bar {
|
|
779
|
+
background-color: #a6d796;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
.markdown-body .progress-80plus .progress-bar {
|
|
783
|
+
background-color: #c6d796;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
.markdown-body .progress-60plus .progress-bar {
|
|
787
|
+
background-color: #d7c896;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
.markdown-body .progress-40plus .progress-bar {
|
|
791
|
+
background-color: #d7a796;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
.markdown-body .progress-20plus .progress-bar {
|
|
795
|
+
background-color: #d796a6;
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
.markdown-body .progress-0plus .progress-bar {
|
|
799
|
+
background-color: #c25f77;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
.markdown-body .candystripe-animate .progress-bar{
|
|
803
|
+
-webkit-animation: animate-stripes 3s linear infinite;
|
|
804
|
+
-moz-animation: animate-stripes 3s linear infinite;
|
|
805
|
+
animation: animate-stripes 3s linear infinite;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
@-webkit-keyframes animate-stripes {
|
|
809
|
+
0% {
|
|
810
|
+
background-position: 0 0;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
100% {
|
|
814
|
+
background-position: 60px 0;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
@-moz-keyframes animate-stripes {
|
|
819
|
+
0% {
|
|
820
|
+
background-position: 0 0;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
100% {
|
|
824
|
+
background-position: 60px 0;
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
@keyframes animate-stripes {
|
|
829
|
+
0% {
|
|
830
|
+
background-position: 0 0;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
100% {
|
|
834
|
+
background-position: 60px 0;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
.markdown-body .gloss .progress-bar {
|
|
839
|
+
box-shadow:
|
|
840
|
+
inset 0 4px 12px rgba(255, 255, 255, .7),
|
|
841
|
+
inset 0 -12px 0 rgba(0, 0, 0, .05);
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
/* Multimarkdown Critic Blocks */
|
|
845
|
+
.markdown-body .critic_mark {
|
|
846
|
+
background: #ff0;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
.markdown-body .critic_delete {
|
|
850
|
+
color: #c82829;
|
|
851
|
+
text-decoration: line-through;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
.markdown-body .critic_insert {
|
|
855
|
+
color: #718c00 ;
|
|
856
|
+
text-decoration: underline;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
.markdown-body .critic_comment {
|
|
860
|
+
color: #8e908c;
|
|
861
|
+
font-style: italic;
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
.markdown-body .headeranchor {
|
|
865
|
+
font: normal normal 16px fontawesome-mini;
|
|
866
|
+
line-height: 1;
|
|
867
|
+
display: inline-block;
|
|
868
|
+
text-decoration: none;
|
|
869
|
+
-webkit-font-smoothing: antialiased;
|
|
870
|
+
-moz-osx-font-smoothing: grayscale;
|
|
871
|
+
-webkit-user-select: none;
|
|
872
|
+
-moz-user-select: none;
|
|
873
|
+
-ms-user-select: none;
|
|
874
|
+
user-select: none;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
.headeranchor:before {
|
|
878
|
+
content: '\e157';
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
.markdown-body .task-list-item {
|
|
882
|
+
list-style-type: none;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.markdown-body .task-list-item+.task-list-item {
|
|
886
|
+
margin-top: 3px;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
.markdown-body .task-list-item input {
|
|
890
|
+
margin: 0 4px 0.25em -20px;
|
|
891
|
+
vertical-align: middle;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
/* Media */
|
|
895
|
+
@media only screen and (min-width: 480px) {
|
|
896
|
+
.markdown-body {
|
|
897
|
+
font-size:14px;
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
@media only screen and (min-width: 768px) {
|
|
902
|
+
.markdown-body {
|
|
903
|
+
font-size:16px;
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
@media print {
|
|
908
|
+
.markdown-body * {
|
|
909
|
+
background: transparent !important;
|
|
910
|
+
color: black !important;
|
|
911
|
+
filter:none !important;
|
|
912
|
+
-ms-filter: none !important;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
.markdown-body {
|
|
916
|
+
font-size:12pt;
|
|
917
|
+
max-width:100%;
|
|
918
|
+
outline:none;
|
|
919
|
+
border: 0;
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
.markdown-body a,
|
|
923
|
+
.markdown-body a:visited {
|
|
924
|
+
text-decoration: underline;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
.markdown-body .headeranchor-link {
|
|
928
|
+
display: none;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
.markdown-body a[href]:after {
|
|
932
|
+
content: " (" attr(href) ")";
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
.markdown-body abbr[title]:after {
|
|
936
|
+
content: " (" attr(title) ")";
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
.markdown-body .ir a:after,
|
|
940
|
+
.markdown-body a[href^="javascript:"]:after,
|
|
941
|
+
.markdown-body a[href^="#"]:after {
|
|
942
|
+
content: "";
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
.markdown-body pre {
|
|
946
|
+
white-space: pre;
|
|
947
|
+
white-space: pre-wrap;
|
|
948
|
+
word-wrap: break-word;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
.markdown-body pre,
|
|
952
|
+
.markdown-body blockquote {
|
|
953
|
+
border: 1px solid #999;
|
|
954
|
+
padding-right: 1em;
|
|
955
|
+
page-break-inside: avoid;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
.markdown-body .progress,
|
|
959
|
+
.markdown-body .progress-bar {
|
|
960
|
+
-moz-box-shadow: none;
|
|
961
|
+
-webkit-box-shadow: none;
|
|
962
|
+
box-shadow: none;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
.markdown-body .progress {
|
|
966
|
+
border: 1px solid #ddd;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
.markdown-body .progress-bar {
|
|
970
|
+
height: 22px;
|
|
971
|
+
border-right: 1px solid #ddd;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
.markdown-body tr,
|
|
975
|
+
.markdown-body img {
|
|
976
|
+
page-break-inside: avoid;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
.markdown-body img {
|
|
980
|
+
max-width: 100% !important;
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
.markdown-body p,
|
|
984
|
+
.markdown-body h2,
|
|
985
|
+
.markdown-body h3 {
|
|
986
|
+
orphans: 3;
|
|
987
|
+
widows: 3;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
.markdown-body h2,
|
|
991
|
+
.markdown-body h3 {
|
|
992
|
+
page-break-after: avoid;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
</style><style>/*github*/
|
|
996
|
+
.codehilite {background-color:#fff;color:#333333;}
|
|
997
|
+
.codehilite .hll {background-color:#ffffcc;}
|
|
998
|
+
.codehilite .c{color:#999988;font-style:italic}
|
|
999
|
+
.codehilite .err{color:#a61717;background-color:#e3d2d2}
|
|
1000
|
+
.codehilite .k{font-weight:bold}
|
|
1001
|
+
.codehilite .o{font-weight:bold}
|
|
1002
|
+
.codehilite .cm{color:#999988;font-style:italic}
|
|
1003
|
+
.codehilite .cp{color:#999999;font-weight:bold}
|
|
1004
|
+
.codehilite .c1{color:#999988;font-style:italic}
|
|
1005
|
+
.codehilite .cs{color:#999999;font-weight:bold;font-style:italic}
|
|
1006
|
+
.codehilite .gd{color:#000000;background-color:#ffdddd}
|
|
1007
|
+
.codehilite .ge{font-style:italic}
|
|
1008
|
+
.codehilite .gr{color:#aa0000}
|
|
1009
|
+
.codehilite .gh{color:#999999}
|
|
1010
|
+
.codehilite .gi{color:#000000;background-color:#ddffdd}
|
|
1011
|
+
.codehilite .go{color:#888888}
|
|
1012
|
+
.codehilite .gp{color:#555555}
|
|
1013
|
+
.codehilite .gs{font-weight:bold}
|
|
1014
|
+
.codehilite .gu{color:#800080;font-weight:bold}
|
|
1015
|
+
.codehilite .gt{color:#aa0000}
|
|
1016
|
+
.codehilite .kc{font-weight:bold}
|
|
1017
|
+
.codehilite .kd{font-weight:bold}
|
|
1018
|
+
.codehilite .kn{font-weight:bold}
|
|
1019
|
+
.codehilite .kp{font-weight:bold}
|
|
1020
|
+
.codehilite .kr{font-weight:bold}
|
|
1021
|
+
.codehilite .kt{color:#445588;font-weight:bold}
|
|
1022
|
+
.codehilite .m{color:#009999}
|
|
1023
|
+
.codehilite .s{color:#dd1144}
|
|
1024
|
+
.codehilite .n{color:#333333}
|
|
1025
|
+
.codehilite .na{color:teal}
|
|
1026
|
+
.codehilite .nb{color:#0086b3}
|
|
1027
|
+
.codehilite .nc{color:#445588;font-weight:bold}
|
|
1028
|
+
.codehilite .no{color:teal}
|
|
1029
|
+
.codehilite .ni{color:purple}
|
|
1030
|
+
.codehilite .ne{color:#990000;font-weight:bold}
|
|
1031
|
+
.codehilite .nf{color:#990000;font-weight:bold}
|
|
1032
|
+
.codehilite .nn{color:#555555}
|
|
1033
|
+
.codehilite .nt{color:navy}
|
|
1034
|
+
.codehilite .nv{color:teal}
|
|
1035
|
+
.codehilite .ow{font-weight:bold}
|
|
1036
|
+
.codehilite .w{color:#bbbbbb}
|
|
1037
|
+
.codehilite .mf{color:#009999}
|
|
1038
|
+
.codehilite .mh{color:#009999}
|
|
1039
|
+
.codehilite .mi{color:#009999}
|
|
1040
|
+
.codehilite .mo{color:#009999}
|
|
1041
|
+
.codehilite .sb{color:#dd1144}
|
|
1042
|
+
.codehilite .sc{color:#dd1144}
|
|
1043
|
+
.codehilite .sd{color:#dd1144}
|
|
1044
|
+
.codehilite .s2{color:#dd1144}
|
|
1045
|
+
.codehilite .se{color:#dd1144}
|
|
1046
|
+
.codehilite .sh{color:#dd1144}
|
|
1047
|
+
.codehilite .si{color:#dd1144}
|
|
1048
|
+
.codehilite .sx{color:#dd1144}
|
|
1049
|
+
.codehilite .sr{color:#009926}
|
|
1050
|
+
.codehilite .s1{color:#dd1144}
|
|
1051
|
+
.codehilite .ss{color:#990073}
|
|
1052
|
+
.codehilite .bp{color:#999999}
|
|
1053
|
+
.codehilite .vc{color:teal}
|
|
1054
|
+
.codehilite .vg{color:teal}
|
|
1055
|
+
.codehilite .vi{color:teal}
|
|
1056
|
+
.codehilite .il{color:#009999}
|
|
1057
|
+
.codehilite .gc{color:#999;background-color:#EAF2F5}
|
|
1058
|
+
</style><title>README</title></head><body><article class="markdown-body"><h1 id="vagrant-cloudinit">vagrant-cloudinit<a class="headerlink" href="#vagrant-cloudinit" title="Permanent link"></a></h1>
|
|
1059
|
+
<p>A vagrant provisioner plugin for using cloud-init to bootstrap a compatible machine.</p>
|
|
1060
|
+
<p>It works by creating the appropriate cloud-init ISO image and attaching it to the machine prior to boot.</p>
|
|
1061
|
+
<h2 id="dependencies">Dependencies<a class="headerlink" href="#dependencies" title="Permanent link"></a></h2>
|
|
1062
|
+
<p>vagrant-cloudinit depends on the <code>mkisofs</code> utility:
|
|
1063
|
+
- Ubuntu: <code>sudo apt install mkisofs</code>
|
|
1064
|
+
- Mac Homebrew: <code>brew install dvdrtools</code>
|
|
1065
|
+
- Mac Ports: <code>sudo port install cdrtools</code></p>
|
|
1066
|
+
<h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link"></a></h2>
|
|
1067
|
+
<div class="codehilite"><pre>vagrant plugin install vagrant-cloudinit
|
|
1068
|
+
</pre></div>
|
|
1069
|
+
|
|
1070
|
+
<h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent link"></a></h2>
|
|
1071
|
+
<div class="codehilite"><pre> <span class="n">config</span><span class="o">.</span><span class="n">vm</span><span class="o">.</span><span class="n">provision</span> <span class="ss">:cloud_init</span><span class="p">,</span>
|
|
1072
|
+
<span class="ss">wait</span><span class="p">:</span> <span class="kp">true</span><span class="p">,</span>
|
|
1073
|
+
<span class="ss">user_data</span><span class="p">:</span> <span class="s2">"./user-data.yml"</span><span class="p">,</span>
|
|
1074
|
+
<span class="ss">meta_data</span><span class="p">:</span> <span class="s2">"./meta-data.yml"</span>
|
|
1075
|
+
</pre></div>
|
|
1076
|
+
|
|
1077
|
+
<h3 id="options">Options<a class="headerlink" href="#options" title="Permanent link"></a></h3>
|
|
1078
|
+
<ul>
|
|
1079
|
+
<li><code>wait</code> (default: false): If true, the provisioner will block until cloud-init has finished bootstrapping.</li>
|
|
1080
|
+
<li><code>user_data</code> (required): The path to the user-data file</li>
|
|
1081
|
+
<li><code>meta_data</code> (optional): The path to the meta-data file.</li>
|
|
1082
|
+
</ul>
|
|
1083
|
+
<h2 id="contributing">Contributing<a class="headerlink" href="#contributing" title="Permanent link"></a></h2>
|
|
1084
|
+
<p>Bug reports and pull requests are welcome on GitHub at <a href="https://github.com/jameskeane/vagrant-cloudinit">https://github.com/jameskeane/vagrant-cloudinit</a>.</p>
|
|
1085
|
+
<h2 id="license">License<a class="headerlink" href="#license" title="Permanent link"></a></h2>
|
|
1086
|
+
<p>The gem is available as open source under the terms of the <a href="http://opensource.org/licenses/MIT">MIT License</a>.</p></article></body></html>
|
data/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# vagrant-cloudinit
|
|
2
|
+
|
|
3
|
+
A vagrant provisioner plugin for using cloud-init to bootstrap a compatible machine.
|
|
4
|
+
|
|
5
|
+
It works by creating the appropriate cloud-init ISO image and attaching it to the machine prior to boot.
|
|
6
|
+
|
|
7
|
+
**NOTE: This plugin currently only works with VirtualBox provider. PRs are welcome :)**
|
|
8
|
+
|
|
9
|
+
## Dependencies
|
|
10
|
+
vagrant-cloudinit depends on the `mkisofs` utility:
|
|
11
|
+
- Ubuntu: `sudo apt install mkisofs`
|
|
12
|
+
- Mac Homebrew: `brew install dvdrtools`
|
|
13
|
+
- Mac Ports: `sudo port install cdrtools`
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
```bash
|
|
17
|
+
vagrant plugin install vagrant-cloudinit
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
```ruby
|
|
22
|
+
config.vm.provision :cloud_init,
|
|
23
|
+
wait: true,
|
|
24
|
+
user_data: "./user-data.yml",
|
|
25
|
+
meta_data: "./meta-data.yml"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Options
|
|
29
|
+
- `wait` (default: false): If true, the provisioner will block until cloud-init has finished bootstrapping.
|
|
30
|
+
- `user_data` (required): The path to the user-data file
|
|
31
|
+
- `meta_data` (optional): The path to the meta-data file.
|
|
32
|
+
|
|
33
|
+
## Contributing
|
|
34
|
+
|
|
35
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/jameskeane/vagrant-cloudinit.
|
|
36
|
+
|
|
37
|
+
## License
|
|
38
|
+
|
|
39
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
|
40
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require "vagrant"
|
|
3
|
+
rescue LoadError
|
|
4
|
+
raise "The Vagrant CloudInit plugin must be run within Vagrant."
|
|
5
|
+
end
|
|
6
|
+
require 'tempfile'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
module VagrantPlugins
|
|
10
|
+
module CloudInit
|
|
11
|
+
VERSION = "0.0.1"
|
|
12
|
+
|
|
13
|
+
class Plugin < Vagrant.plugin("2")
|
|
14
|
+
name "CloudInit"
|
|
15
|
+
description <<-DESC
|
|
16
|
+
The user-data plugin allows a VM to be created using cloud-init.
|
|
17
|
+
DESC
|
|
18
|
+
|
|
19
|
+
config(:cloud_init, :provisioner) do
|
|
20
|
+
class CloudInitConfig < Vagrant.plugin("2", :config)
|
|
21
|
+
attr_accessor :user_data
|
|
22
|
+
attr_accessor :meta_data
|
|
23
|
+
attr_accessor :wait
|
|
24
|
+
end
|
|
25
|
+
CloudInitConfig
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
provisioner :cloud_init do
|
|
29
|
+
class CloudInitProvisioner < Vagrant.plugin("2", :provisioner)
|
|
30
|
+
|
|
31
|
+
def initialize(machine, config)
|
|
32
|
+
super(machine, config)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def configure(root_config)
|
|
36
|
+
user_data = File.expand_path(config.user_data)
|
|
37
|
+
meta_data = ensure_metadata()
|
|
38
|
+
|
|
39
|
+
iso_file = Tempfile.new(['nocloud', '.iso'])
|
|
40
|
+
system("mkisofs",
|
|
41
|
+
"-joliet", "-rock",
|
|
42
|
+
"-volid", "cidata",
|
|
43
|
+
"-output", iso_file.path,
|
|
44
|
+
"-graft-points",
|
|
45
|
+
"user-data=#{user_data}",
|
|
46
|
+
"meta-data=#{meta_data}")
|
|
47
|
+
|
|
48
|
+
# TODO add support for other providers
|
|
49
|
+
if machine.provider_name == :virtualbox then
|
|
50
|
+
machine.provider.driver.execute_command [
|
|
51
|
+
"storageattach", machine.id.to_s,
|
|
52
|
+
"--storagectl", "SCSI",
|
|
53
|
+
"--port", "2",
|
|
54
|
+
"--device", "0",
|
|
55
|
+
"--type", "dvddrive",
|
|
56
|
+
"--medium", iso_file.path.to_s
|
|
57
|
+
]
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def provision
|
|
62
|
+
return unless config.wait
|
|
63
|
+
machine.communicate.test("cloud-init status -w")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def cleanup
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def ensure_metadata
|
|
70
|
+
return File.expand_path(config.meta_data) if config.meta_data
|
|
71
|
+
|
|
72
|
+
# Create another temp file, and fill it with generic metadata
|
|
73
|
+
meta_file = Tempfile.new()
|
|
74
|
+
File.write(meta_file.path, "{\n\"instance-id\": \"#{machine.id}\"\n}")
|
|
75
|
+
return meta_file.path
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
CloudInitProvisioner
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'vagrant-cloudinit/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "vagrant-cloudinit"
|
|
8
|
+
spec.version = VagrantPlugins::CloudInit::VERSION
|
|
9
|
+
spec.authors = ["James Keane"]
|
|
10
|
+
spec.email = ["james.keane@gmail.com"]
|
|
11
|
+
|
|
12
|
+
spec.summary = "A vagrant provisioner plugin for using cloud-init to bootstrap"
|
|
13
|
+
spec.description = "A vagrant provisioner plugin for using cloud-init to bootstrap"
|
|
14
|
+
spec.homepage = "https://github.com/jameskeane/vagrant-cloudinit"
|
|
15
|
+
spec.license = "MIT"
|
|
16
|
+
|
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
18
|
+
spec.bindir = "exe"
|
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
20
|
+
spec.require_paths = ["lib"]
|
|
21
|
+
|
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.11"
|
|
23
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
24
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: vagrant-cloudinit
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- James Keane
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-08-27 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.11'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.11'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '10.0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '10.0'
|
|
41
|
+
description: A vagrant provisioner plugin for using cloud-init to bootstrap
|
|
42
|
+
email:
|
|
43
|
+
- james.keane@gmail.com
|
|
44
|
+
executables: []
|
|
45
|
+
extensions: []
|
|
46
|
+
extra_rdoc_files: []
|
|
47
|
+
files:
|
|
48
|
+
- ".gitignore"
|
|
49
|
+
- Gemfile
|
|
50
|
+
- LICENSE.txt
|
|
51
|
+
- README.html
|
|
52
|
+
- README.md
|
|
53
|
+
- Rakefile
|
|
54
|
+
- lib/vagrant-cloudinit.rb
|
|
55
|
+
- lib/vagrant-cloudinit/version.rb
|
|
56
|
+
- vagrant-cloudinit.gemspec
|
|
57
|
+
homepage: https://github.com/jameskeane/vagrant-cloudinit
|
|
58
|
+
licenses:
|
|
59
|
+
- MIT
|
|
60
|
+
metadata: {}
|
|
61
|
+
post_install_message:
|
|
62
|
+
rdoc_options: []
|
|
63
|
+
require_paths:
|
|
64
|
+
- lib
|
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '0'
|
|
75
|
+
requirements: []
|
|
76
|
+
rubyforge_project:
|
|
77
|
+
rubygems_version: 2.5.2.1
|
|
78
|
+
signing_key:
|
|
79
|
+
specification_version: 4
|
|
80
|
+
summary: A vagrant provisioner plugin for using cloud-init to bootstrap
|
|
81
|
+
test_files: []
|