kitchen-terraform 5.4.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bcbe6865ba35e28aac3d217a4cbaf18d0655f4f1eb6eeb1da8b3581dfb26a21
4
- data.tar.gz: fc281daa77c16e7bcad62f11e939c883245bf5d8fc427692e0bf27eca96da934
3
+ metadata.gz: 83839e8130c2a9767f6fd28f5fc7f382ccdc6af319b00e1d282b6bb1f8e089f2
4
+ data.tar.gz: 39d379b085ec51381c80cdf7cc243fdc56cba9f10844e04c012eea6f6d18cf94
5
5
  SHA512:
6
- metadata.gz: 6da972fd9308fe99d628b9d1bd63d3ef0d76a19fcffef5786bb585e925f309ddc13cee7aae79c48c97b6fe819badda2ba8135becf73904bfa2b3b10e5af18253
7
- data.tar.gz: d9058ca17bf97bd8bbb1ffc412c26a6dbc8b9a179df591014b937af14ca13b0f2c0dc890ed330d8d8b8fc2be73a7dfa82c2588ba154e4e2179f552a61322541f
6
+ metadata.gz: f800c55453edf301d0f9227d674922ad5f7df5c1b04e704f838ac88128cf02198ac7ade685e51b078b14f936ba057d25ec48d91737eaf3a8063ebd6e0c9311a7
7
+ data.tar.gz: 6403f2e106f88463cf2edc6a4d4dc2ee5aba68b3c7c62fd5e2b01797b654f041859548b79d9d2538c66bd2ccded02a9ec083a23b919c4882f1d842e4ff278d06
Binary file
data.tar.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ![Kitchen-Terraform Logo][kitchen-terraform-logo] Kitchen-Terraform
2
2
 
3
- > Kitchen-Terraform enables verification of Terraform state.
3
+ > Kitchen-Terraform enables verification of infrastructure systems provisioned with Terraform.
4
4
 
5
5
  [![Gem version][gem-version-shield]][kitchen-terraform-gem]
6
6
  [![Gem downloads version][gem-downloads-version-shield]][kitchen-terraform-gem]
@@ -15,10 +15,10 @@
15
15
 
16
16
  [![Gitter chat][gitter-shield]][gitter]
17
17
 
18
- Kitchen-Terraform provides a set of [Test Kitchen][test-kitchen] plugins
19
- which enable a system to use Test Kitchen to converge a
20
- [Terraform][terraform] configuration and verify the resulting Terraform
21
- state with [InSpec][inspec] controls.
18
+ Kitchen-Terraform provides a set of [Kitchen][kitchen] plugins
19
+ which enable the use of Kitchen to converge a [Terraform][terraform]
20
+ configuration and verify the resulting infrastructure systems with
21
+ [InSpec][inspec] controls.
22
22
 
23
23
  As Kitchen-Terraform integrates several distinctive technologies in a
24
24
  nontrivial manner, reviewing the documentation of each of the
@@ -36,7 +36,7 @@ Installation instructions can be found in the
36
36
  [Terraform: Install Terraform][terraform-install] article.
37
37
 
38
38
  Kitchen-Terraform supports versions of Terraform in the interval of
39
- `>= 0.11.4, < 0.13.0`.
39
+ `>= 0.11.4, < 0.14.0`.
40
40
 
41
41
  [tfenv] can be used to manage versions of Terraform on the system.
42
42
 
@@ -75,7 +75,7 @@ the semantic versioning of the Ruby gem.
75
75
 
76
76
  ```ruby
77
77
  source "https://rubygems.org/" do
78
- gem "kitchen-terraform", "~> 5.4"
78
+ gem "kitchen-terraform", "~> 5.5"
79
79
  end
80
80
  ```
81
81
 
@@ -102,7 +102,7 @@ example.
102
102
  > Installing Kitchen-Terraform with RubyGems
103
103
 
104
104
  ```sh
105
- gem install kitchen-terraform --version 5.4.0
105
+ gem install kitchen-terraform --version 5.5.0
106
106
  ```
107
107
 
108
108
  This approach is not recommended as it requires more effort to install
@@ -128,7 +128,7 @@ Ed25519-type SSH keys.
128
128
 
129
129
  Kitchen-Terraform provides three Test Kitchen plugins which must be
130
130
  configured in a
131
- [Test Kitchen configuration file][test-kitchen-configuration-file] in
131
+ [Kitchen configuration file][kitchen-configuration-file] in
132
132
  order to successfully test Terraform configuration.
133
133
 
134
134
  The [Terraform driver][terraform-driver] manages the state of the
@@ -152,168 +152,18 @@ workaround for this problem is to use
152
152
  details about the problem are available in
153
153
  [issue #271](issue-271).
154
154
 
155
- ### Example
155
+ ### Tutorials and Examples
156
156
 
157
- This example demonstrates how to test a simple Terraform configuration
158
- which utilizes the [Docker provider][docker-provider].
159
-
160
- The test system is assumed to be running Ubuntu 17.04.
161
-
162
- Terraform, Ruby, and Bundler are assumed to have been installed on the
163
- test system as described in the [Installation](#installation) section.
164
-
165
- The [Docker Community Edition][docker-community-edition] is assumed to
166
- have been installed on the test system.
167
-
168
- The working directory on the test system is assumed to contain a
169
- hierarchy of files comprising the following blocks.
170
-
171
- > Directory hierarchy
172
-
173
- ```
174
- .
175
- ├── .kitchen.yml
176
- ├── Gemfile
177
- ├── main.tf
178
- ├── outputs.tf
179
- └── test
180
- └── integration
181
- └── example
182
- ├── controls
183
- │   ├── operating_system.rb
184
- └── inspec.yml
185
- ```
186
-
187
- > Gemfile
188
-
189
- ```ruby
190
- source "https://rubygems.org/"
191
-
192
- gem 'kitchen-terraform', '~> 5.1'
193
- ```
194
-
195
- > ./kitchen.yml (Test Kitchen configuration)
196
-
197
- ```yaml
198
- driver:
199
- name: terraform
200
-
201
- provisioner:
202
- name: terraform
203
-
204
- verifier:
205
- name: terraform
206
- systems:
207
- - name: container
208
- backend: ssh
209
- hosts_output: container_hostname
210
- password: root
211
- port: 2222
212
- user: root
213
-
214
- platforms:
215
- - name: ubuntu
216
-
217
- suites:
218
- - name: example
219
- ```
220
-
221
- Although Kitchen-Terraform supports multiple versions of Terraform,
222
- below snippets are compatible with v0.12:
223
- > ./main.tf
224
-
225
- ```hcl
226
- provider "docker" {
227
- host = "unix:///var/run/docker.sock"
228
- }
229
-
230
- data "docker_registry_image" "ubuntu" {
231
- name = "rastasheep/ubuntu-sshd:latest"
232
- }
233
-
234
- resource "docker_image" "ubuntu" {
235
- name = data.docker_registry_image.ubuntu.name
236
- pull_triggers = ["${data.docker_registry_image.ubuntu.sha256_digest}"]
237
- }
238
-
239
- resource "docker_container" "ubuntu" {
240
- image = docker_image.ubuntu.name
241
- must_run = true
242
- name = "ubuntu_container"
243
-
244
- ports {
245
- external = 2222
246
- internal = 22
247
- }
248
- }
249
- ```
250
-
251
- > ./outputs.tf
252
-
253
- ```hcl
254
- output "container_hostname" {
255
- description = "The hostname of the container."
256
- value = "127.0.0.1"
257
- }
258
- ```
259
-
260
- > ./test/integration/example/inspec.yml
261
-
262
- ```yaml
263
- name: example
264
- ```
265
-
266
- > ./test/integration/example/controls/operating_system.rb
267
-
268
- ```ruby
269
- # frozen_string_literal: true
270
-
271
- control "operating_system" do
272
- describe "the operating system" do
273
- subject do
274
- command("cat /etc/os-release").stdout
275
- end
276
-
277
- it "is Ubuntu" do
278
- is_expected.to match /Ubuntu/
279
- end
280
- end
281
- end
282
- ```
283
-
284
- Running the following command would initialize the working directory for
285
- Terraform, create a Docker container by applying the configuration file,
286
- and verify that the container is running Ubuntu.
287
-
288
- > Verifying with Kitchen-Terraform
289
-
290
- ```sh
291
- $ bundle install
292
- $ bundle exec kitchen test
293
- -----> Starting Kitchen...
294
- ...
295
- $$$$$$ Running command `terraform init...`
296
- ...
297
- $$$$$$ Running command `terraform apply...`
298
- ...
299
- docker_container.ubuntu: Creation complete after 1s...
300
-
301
- Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
302
- ...
303
- Finished converging <example-ubuntu>...
304
- ...
305
- -----> Verifying <example-ubuntu>...
306
- Verifying host 'localhost' of system 'container'
307
- ...
308
- ✔ operating_system: the operating system is Ubuntu
309
- ...
310
- Profile Summary: 1 successful control, 0 control failures, 0 controls skipped
311
- ...
312
- ```
313
-
314
- More information can be found on the
157
+ Several tutorials are available on the
315
158
  [Kitchen-Terraform Tutorials][kitchen-terraform-tutorials] page.
316
159
 
160
+ The integration tests for Kitchen-Terraform can also be viewed as
161
+ examples of how it works. The
162
+ [integration test Kitchen configuration file][int-kitchen-config]
163
+ and the [integration test directory][test-directory] provide several
164
+ functional examples which exercise various features of
165
+ Kitchen-Terraform.
166
+
317
167
  ## Contributing
318
168
 
319
169
  Kitchen-Terraform thrives on community contributions.
@@ -331,7 +181,8 @@ Information about changes to Kitchen-Terraform can be found in the
331
181
 
332
182
  ## Maintainers
333
183
 
334
- Kitchen-Terraform is maintained by New Context.
184
+ Kitchen-Terraform is maintained by [community contributors][contributors]
185
+ and New Context.
335
186
 
336
187
  <img
337
188
  alt="New Context logo"
@@ -384,6 +235,7 @@ Kitchen-Terraform is distributed under the [Apache License][license].
384
235
  [code-coverage-shield]: https://img.shields.io/codeclimate/coverage/newcontext-oss/kitchen-terraform.svg
385
236
  [code-coverage]: https://codeclimate.com/github/newcontext-oss/kitchen-terraform/
386
237
  [contributing-document]: https://github.com/newcontext-oss/kitchen-terraform/blob/master/CONTRIBUTING.md
238
+ [contributors]: https://github.com/newcontext-oss/kitchen-terraform/graphs/contributors
387
239
  [docker]: https://www.docker.com/
388
240
  [docker-community-edition]: https://store.docker.com/editions/community/docker-ce-server-ubuntu
389
241
  [docker-provider]: https://www.terraform.io/docs/providers/docker/index.html
@@ -395,7 +247,10 @@ Kitchen-Terraform is distributed under the [Apache License][license].
395
247
  [hakiri-shield]: https://hakiri.io/github/newcontext-oss/kitchen-terraform/master.svg
396
248
  [hakiri]: https://hakiri.io/github/newcontext-oss/kitchen-terraform/
397
249
  [inspec]: https://www.inspec.io/
250
+ [int-kitchen-config]: https://github.com/newcontext-oss/kitchen-terraform/blob/master/kitchen.yml
398
251
  [issue-271]: https://github.com/newcontext-oss/kitchen-terraform/issues/271
252
+ [kitchen]: http://kitchen.ci/index.html
253
+ [kitchen-configuration-file]: https://docs.chef.io/config_yml_kitchen.html
399
254
  [kitchen-terraform-gem]: https://rubygems.org/gems/kitchen-terraform
400
255
  [kitchen-terraform-logo]: https://raw.githubusercontent.com/newcontext-oss/kitchen-terraform/master/assets/logo.png
401
256
  [kitchen-terraform-tutorials]: https://newcontext-oss.github.io/kitchen-terraform/tutorials/
@@ -422,8 +277,8 @@ Kitchen-Terraform is distributed under the [Apache License][license].
422
277
  [terraform-provisioner]: http://www.rubydoc.info/github/newcontext-oss/kitchen-terraform/Kitchen/Provisioner/Terraform
423
278
  [terraform-verifier]: http://www.rubydoc.info/github/newcontext-oss/kitchen-terraform/Kitchen/Verifier/Terraform
424
279
  [terraform]: https://www.terraform.io/
425
- [test-kitchen-configuration-file]: https://docs.chef.io/config_yml_kitchen.html
426
- [test-kitchen]: http://kitchen.ci/index.html
280
+ [test-directory]: https://github.com/newcontext-oss/kitchen-terraform/tree/master/test
427
281
  [tfenv]: https://github.com/kamatama41/tfenv
428
282
  [travis-build-status-shield]: https://img.shields.io/travis/com/newcontext-oss/kitchen-terraform.svg
429
283
  [travis-build-status]: https://travis-ci.com/newcontext-oss/kitchen-terraform
284
+
@@ -42,7 +42,7 @@ module Kitchen
42
42
  # @see Kitchen::Configurable#finalize_config!
43
43
  def finalize_config!(instance)
44
44
  super instance
45
- self.version_requirement = ::Gem::Requirement.new ">= 0.11.4", "< 0.13.0"
45
+ self.version_requirement = ::Gem::Requirement.new ">= 0.11.4", "< 0.14.0"
46
46
  self.workspace_name = "kitchen-terraform-#{::Shellwords.escape instance.name}"
47
47
  end
48
48
 
@@ -71,7 +71,7 @@ module Kitchen
71
71
 
72
72
  # @api private
73
73
  def value
74
- self.value = ::Gem::Version.new "5.4.0" if not @value
74
+ self.value = ::Gem::Version.new "5.5.0" if not @value
75
75
  @value
76
76
  end
77
77
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0
4
+ version: 5.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Lane
@@ -62,7 +62,7 @@ cert_chain:
62
62
  JH4yGDzVEYaZHaohSDcYuGLK6OQylPu7oM75S+TNLWseDIT8bWgQk6NelVjtQQ2Q
63
63
  XSbgfu863jyey/0qO01cUo3+iTqzl85cWg==
64
64
  -----END CERTIFICATE-----
65
- date: 2020-06-01 00:00:00.000000000 Z
65
+ date: 2020-08-25 00:00:00.000000000 Z
66
66
  dependencies:
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: bundler
@@ -210,14 +210,14 @@ dependencies:
210
210
  requirements:
211
211
  - - "~>"
212
212
  - !ruby/object:Gem::Version
213
- version: 0.2.0
213
+ version: 0.3.0
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
218
  - - "~>"
219
219
  - !ruby/object:Gem::Version
220
- version: 0.2.0
220
+ version: 0.3.0
221
221
  - !ruby/object:Gem::Dependency
222
222
  name: pry-coolline
223
223
  requirement: !ruby/object:Gem::Requirement
@@ -552,7 +552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
552
552
  - !ruby/object:Gem::Version
553
553
  version: '0'
554
554
  requirements:
555
- - Terraform >= v0.11.4, < v0.13.0
555
+ - Terraform >= v0.11.4, < v0.14.0
556
556
  rubygems_version: 3.0.3
557
557
  signing_key:
558
558
  specification_version: 4
metadata.gz.sig CHANGED
Binary file