kitchen-dokken 0.0.31 → 0.0.32
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 +4 -4
- data/lib/kitchen/driver/dokken.rb +17 -2
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- data/lib/kitchen/transport/dokken.rb +6 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 624899b08f3767c8e67ee162a4d80aa5eced1e3d
|
|
4
|
+
data.tar.gz: 186e7dcd5682fceefe9c29c2379623f992827eb3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6da44eaba2464e9d3f904dc8deef11ef956c885d99f1aa77bfea41bdfef790621da86f27f0c934effb0d06e92f410dc4b55683699b35bf998f082648da1d5521
|
|
7
|
+
data.tar.gz: cc554c47b56339cad2796e204408ae9c50631246c4a29ed9b310512e5a75bf959f1519c3c76eb9db85ca8885541e302cb64aa2398603da051eddf8fbb5706129
|
|
@@ -32,7 +32,6 @@ module Kitchen
|
|
|
32
32
|
# @author Sean OMeara <sean@chef.io>
|
|
33
33
|
class Dokken < Kitchen::Driver::Base
|
|
34
34
|
default_config :pid_one_command, 'sh -c "trap exit 0 SIGTERM; while :; do sleep 1; done"'
|
|
35
|
-
default_config :privileged, false
|
|
36
35
|
default_config :image_prefix, nil
|
|
37
36
|
default_config :chef_version, '12.5.1'
|
|
38
37
|
default_config :data_image, 'someara/kitchen-cache:latest'
|
|
@@ -40,6 +39,15 @@ module Kitchen
|
|
|
40
39
|
default_config :read_timeout, 3600
|
|
41
40
|
default_config :write_timeout, 3600
|
|
42
41
|
default_config :api_retries, 20
|
|
42
|
+
# docker run args
|
|
43
|
+
default_config :privileged, false
|
|
44
|
+
default_config :hostname, nil
|
|
45
|
+
default_config :binds, nil # volumes to mount
|
|
46
|
+
default_config :links, nil
|
|
47
|
+
default_config :cap_add, nil
|
|
48
|
+
default_config :cap_drop, nil
|
|
49
|
+
default_config :security_opt, nil
|
|
50
|
+
default_config :network_mode, 'bridge'
|
|
43
51
|
|
|
44
52
|
# (see Base#create)
|
|
45
53
|
def create(state)
|
|
@@ -185,9 +193,16 @@ module Kitchen
|
|
|
185
193
|
'name' => runner_container_name,
|
|
186
194
|
'Cmd' => Shellwords.shellwords(config[:pid_one_command]),
|
|
187
195
|
'Image' => "#{repo(work_image)}:#{tag(work_image)}",
|
|
196
|
+
'Hostname' => config[:hostname],
|
|
188
197
|
'HostConfig' => {
|
|
189
198
|
'Privileged' => config[:privileged],
|
|
190
|
-
'VolumesFrom' => [chef_container_name, data_container_name]
|
|
199
|
+
'VolumesFrom' => [chef_container_name, data_container_name],
|
|
200
|
+
'Binds' => Array(config[:binds]),
|
|
201
|
+
'Links' => Array(config[:links]),
|
|
202
|
+
'CapAdd' => Array(config[:cap_add]),
|
|
203
|
+
'CapDrop' => Array(config[:cap_drop]),
|
|
204
|
+
'SecurityOpt' => Array(config[:security_opt]),
|
|
205
|
+
'NetworkMode' => config[:network_mode],
|
|
191
206
|
}
|
|
192
207
|
)
|
|
193
208
|
state[:runner_container] = runner_container.json
|
|
@@ -41,6 +41,7 @@ module Kitchen
|
|
|
41
41
|
default_config :docker_host_url, ENV['DOCKER_HOST'] || 'unix:///var/run/docker.sock'
|
|
42
42
|
default_config :read_timeout, 3600
|
|
43
43
|
default_config :write_timeout, 3600
|
|
44
|
+
default_config :host_ip_override, false
|
|
44
45
|
|
|
45
46
|
# (see Base#connection)
|
|
46
47
|
def connection(state, &block)
|
|
@@ -83,7 +84,10 @@ module Kitchen
|
|
|
83
84
|
end
|
|
84
85
|
|
|
85
86
|
def upload(locals, remote)
|
|
86
|
-
if options[:
|
|
87
|
+
if options[:host_ip_override]
|
|
88
|
+
# Allow connecting to any ip/hostname to support sibling containers
|
|
89
|
+
ip = options[:host_ip_override]
|
|
90
|
+
elsif options[:docker_host_url] =~ /unix:/
|
|
87
91
|
# we should read the proper mapped ip, since this allows us to upload the files
|
|
88
92
|
ip = options[:data_container][:NetworkSettings][:Ports][:"22/tcp"][0][:HostIp]
|
|
89
93
|
elsif options[:docker_host_url] =~ /tcp:/
|
|
@@ -162,6 +166,7 @@ module Kitchen
|
|
|
162
166
|
# @api private
|
|
163
167
|
def connection_options(data) # rubocop:disable Metrics/MethodLength
|
|
164
168
|
opts = {}
|
|
169
|
+
opts[:host_ip_override] = config[:host_ip_override]
|
|
165
170
|
opts[:docker_host_url] = config[:docker_host_url]
|
|
166
171
|
opts[:docker_host_options] = ::Docker.options
|
|
167
172
|
opts[:data_container] = data[:data_container]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-dokken
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.32
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean OMeara
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-08-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|
|
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
73
73
|
version: '0'
|
|
74
74
|
requirements: []
|
|
75
75
|
rubyforge_project:
|
|
76
|
-
rubygems_version: 2.6.
|
|
76
|
+
rubygems_version: 2.6.6
|
|
77
77
|
signing_key:
|
|
78
78
|
specification_version: 4
|
|
79
79
|
summary: A Test Kitchen Driver that talks to the Docker Remote API and uses Volumes
|