kitchen-docker 2.13.0 → 3.0.0
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/.github/dependabot.yml +5 -5
- data/.github/workflows/ci.yml +124 -0
- data/.rubocop.yml +10 -0
- data/.yamllint +15 -0
- data/CHANGELOG.md +9 -0
- data/README.md +10 -0
- data/kitchen-docker.gemspec +1 -0
- data/kitchen.windows.yml +33 -0
- data/kitchen.yml +62 -0
- data/lib/kitchen/docker/docker_version.rb +1 -1
- data/lib/kitchen/docker/helpers/cli_helper.rb +184 -172
- data/lib/kitchen/docker/helpers/container_helper.rb +176 -172
- data/lib/kitchen/docker/helpers/dockerfile_helper.rb +28 -2
- data/lib/kitchen/docker/helpers/image_helper.rb +3 -2
- data/lib/kitchen/driver/docker.rb +1 -0
- data/test/integration/capabilities/{serverspec → disabled}/capabilities_drop_spec.rb +7 -6
- data/test/integration/default/{serverspec → disabled}/default_spec.rb +7 -6
- data/test/integration/default/{serverspec → disabled}/spec_helper.rb +7 -7
- data/test/spec/spec_helper.rb +1 -1
- metadata +28 -12
- data/.kitchen.windows.yml +0 -33
- data/.kitchen.yml +0 -65
- data/.travis.yml +0 -57
@@ -1,172 +1,176 @@
|
|
1
|
-
#
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
-
# you may not use this file except in compliance with the License.
|
4
|
-
# You may obtain a copy of the License at
|
5
|
-
#
|
6
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
-
#
|
8
|
-
# Unless required by applicable law or agreed to in writing, software
|
9
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
-
# See the License for the specific language governing permissions and
|
12
|
-
# limitations under the License.
|
13
|
-
|
14
|
-
require 'erb'
|
15
|
-
require 'json'
|
16
|
-
require 'shellwords'
|
17
|
-
require 'tempfile'
|
18
|
-
require 'uri'
|
19
|
-
|
20
|
-
require 'kitchen'
|
21
|
-
require 'kitchen/configurable'
|
22
|
-
require_relative '../erb_context'
|
23
|
-
require_relative 'cli_helper'
|
24
|
-
|
25
|
-
module Kitchen
|
26
|
-
module Docker
|
27
|
-
module Helpers
|
28
|
-
|
29
|
-
|
30
|
-
include
|
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
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
end
|
1
|
+
#
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
+
# you may not use this file except in compliance with the License.
|
4
|
+
# You may obtain a copy of the License at
|
5
|
+
#
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
#
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
11
|
+
# See the License for the specific language governing permissions and
|
12
|
+
# limitations under the License.
|
13
|
+
|
14
|
+
require 'erb'
|
15
|
+
require 'json'
|
16
|
+
require 'shellwords'
|
17
|
+
require 'tempfile'
|
18
|
+
require 'uri'
|
19
|
+
|
20
|
+
require 'kitchen'
|
21
|
+
require 'kitchen/configurable'
|
22
|
+
require_relative '../erb_context'
|
23
|
+
require_relative 'cli_helper'
|
24
|
+
|
25
|
+
module Kitchen
|
26
|
+
module Docker
|
27
|
+
module Helpers
|
28
|
+
# rubocop:disable Metrics/ModuleLength, Style/Documentation
|
29
|
+
module ContainerHelper
|
30
|
+
include Configurable
|
31
|
+
include Kitchen::Docker::Helpers::CliHelper
|
32
|
+
|
33
|
+
def parse_container_id(output)
|
34
|
+
container_id = output.chomp
|
35
|
+
|
36
|
+
unless [12, 64].include?(container_id.size)
|
37
|
+
raise ActionFailed, 'Could not parse Docker run output for container ID'
|
38
|
+
end
|
39
|
+
|
40
|
+
container_id
|
41
|
+
end
|
42
|
+
|
43
|
+
def dockerfile_template
|
44
|
+
template = IO.read(File.expand_path(config[:dockerfile]))
|
45
|
+
context = Kitchen::Docker::ERBContext.new(config.to_hash)
|
46
|
+
ERB.new(template).result(context.get_binding)
|
47
|
+
end
|
48
|
+
|
49
|
+
def remote_socket?
|
50
|
+
config[:socket] ? socket_uri.scheme == 'tcp' : false
|
51
|
+
end
|
52
|
+
|
53
|
+
def socket_uri
|
54
|
+
URI.parse(config[:socket])
|
55
|
+
end
|
56
|
+
|
57
|
+
def dockerfile_path(file)
|
58
|
+
config[:build_context] ? Pathname.new(file.path).relative_path_from(Pathname.pwd).to_s : file.path
|
59
|
+
end
|
60
|
+
|
61
|
+
def container_exists?(state)
|
62
|
+
state[:container_id] && !!docker_command("top #{state[:container_id]}") rescue false
|
63
|
+
end
|
64
|
+
|
65
|
+
def container_exec(state, command)
|
66
|
+
cmd = build_exec_command(state, command)
|
67
|
+
docker_command(cmd)
|
68
|
+
rescue => e
|
69
|
+
raise "Failed to execute command on Docker container. #{e}"
|
70
|
+
end
|
71
|
+
|
72
|
+
def create_dir_on_container(state, path)
|
73
|
+
path = replace_env_variables(state, path)
|
74
|
+
cmd = "mkdir -p #{path}"
|
75
|
+
|
76
|
+
if state[:platform].include?('windows')
|
77
|
+
psh = "-Command if(-not (Test-Path \'#{path}\')) { New-Item -Path \'#{path}\' -Force }"
|
78
|
+
cmd = build_powershell_command(psh)
|
79
|
+
end
|
80
|
+
|
81
|
+
cmd = build_exec_command(state, cmd)
|
82
|
+
docker_command(cmd)
|
83
|
+
rescue => e
|
84
|
+
raise "Failed to create directory #{path} on container. #{e}"
|
85
|
+
end
|
86
|
+
|
87
|
+
def copy_file_to_container(state, local_file, remote_file)
|
88
|
+
debug("Copying local file #{local_file} to #{remote_file} on container")
|
89
|
+
|
90
|
+
remote_file = replace_env_variables(state, remote_file)
|
91
|
+
|
92
|
+
remote_file = "#{state[:container_id]}:#{remote_file}"
|
93
|
+
cmd = build_copy_command(local_file, remote_file)
|
94
|
+
docker_command(cmd)
|
95
|
+
rescue => e
|
96
|
+
raise "Failed to copy file #{local_file} to container. #{e}"
|
97
|
+
end
|
98
|
+
|
99
|
+
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
100
|
+
def container_env_variables(state)
|
101
|
+
# Retrieves all environment variables from inside container
|
102
|
+
vars = {}
|
103
|
+
|
104
|
+
if state[:platform].include?('windows')
|
105
|
+
cmd = build_powershell_command('-Command [System.Environment]::GetEnvironmentVariables() ^| ConvertTo-Json')
|
106
|
+
cmd = build_exec_command(state, cmd)
|
107
|
+
stdout = docker_command(cmd, suppress_output: !logger.debug?).strip
|
108
|
+
vars = ::JSON.parse(stdout)
|
109
|
+
else
|
110
|
+
cmd = build_exec_command(state, 'printenv')
|
111
|
+
stdout = docker_command(cmd, suppress_output: !logger.debug?).strip
|
112
|
+
stdout.split("\n").each { |line| vars[line.split('=')[0]] = line.split('=')[1] }
|
113
|
+
end
|
114
|
+
|
115
|
+
vars
|
116
|
+
end
|
117
|
+
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
|
118
|
+
|
119
|
+
def replace_env_variables(state, str)
|
120
|
+
if str.include?('$env:')
|
121
|
+
key = str[/\$env:(.*?)(\\|$)/, 1]
|
122
|
+
value = container_env_variables(state)[key].to_s.strip
|
123
|
+
str = str.gsub("$env:#{key}", value)
|
124
|
+
elsif str.include?('$')
|
125
|
+
key = str[/\$(.*?)(\/|$)/, 1]
|
126
|
+
value = container_env_variables(state)[key].to_s.strip
|
127
|
+
str = str.gsub("$#{key}", value)
|
128
|
+
end
|
129
|
+
|
130
|
+
str
|
131
|
+
end
|
132
|
+
|
133
|
+
def run_container(state, transport_port = nil)
|
134
|
+
cmd = build_run_command(state[:image_id], transport_port)
|
135
|
+
output = docker_command(cmd)
|
136
|
+
parse_container_id(output)
|
137
|
+
end
|
138
|
+
|
139
|
+
def container_ip_address(state)
|
140
|
+
cmd = "inspect --format '{{ .NetworkSettings.IPAddress }}'"
|
141
|
+
cmd << " #{state[:container_id]}"
|
142
|
+
docker_command(cmd).strip
|
143
|
+
rescue
|
144
|
+
raise ActionFailed, 'Error getting internal IP of Docker container'
|
145
|
+
end
|
146
|
+
|
147
|
+
def remove_container(state)
|
148
|
+
container_id = state[:container_id]
|
149
|
+
docker_command("stop -t 0 #{container_id}")
|
150
|
+
docker_command("rm #{container_id}")
|
151
|
+
end
|
152
|
+
|
153
|
+
def dockerfile_proxy_config
|
154
|
+
env_variables = ''
|
155
|
+
if config[:http_proxy]
|
156
|
+
env_variables << "ENV http_proxy #{config[:http_proxy]}\n"
|
157
|
+
env_variables << "ENV HTTP_PROXY #{config[:http_proxy]}\n"
|
158
|
+
end
|
159
|
+
|
160
|
+
if config[:https_proxy]
|
161
|
+
env_variables << "ENV https_proxy #{config[:https_proxy]}\n"
|
162
|
+
env_variables << "ENV HTTPS_PROXY #{config[:https_proxy]}\n"
|
163
|
+
end
|
164
|
+
|
165
|
+
if config[:no_proxy]
|
166
|
+
env_variables << "ENV no_proxy #{config[:no_proxy]}\n"
|
167
|
+
env_variables << "ENV NO_PROXY #{config[:no_proxy]}\n"
|
168
|
+
end
|
169
|
+
|
170
|
+
env_variables
|
171
|
+
end
|
172
|
+
end
|
173
|
+
# rubocop:enable Metrics/ModuleLength, Style/Documentation
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
@@ -34,10 +34,14 @@ module Kitchen
|
|
34
34
|
gentoo_paludis_platform
|
35
35
|
when 'opensuse/tumbleweed', 'opensuse/leap', 'opensuse', 'sles'
|
36
36
|
opensuse_platform
|
37
|
-
when 'rhel', 'centos', 'oraclelinux', 'amazonlinux'
|
37
|
+
when 'rhel', 'centos', 'oraclelinux', 'amazonlinux'
|
38
38
|
rhel_platform
|
39
39
|
when 'centosstream'
|
40
40
|
centosstream_platform
|
41
|
+
when 'almalinux'
|
42
|
+
almalinux_platform
|
43
|
+
when 'rockylinux'
|
44
|
+
rockylinux_platform
|
41
45
|
when 'photon'
|
42
46
|
photonos_platform
|
43
47
|
else
|
@@ -103,7 +107,7 @@ module Kitchen
|
|
103
107
|
def opensuse_platform
|
104
108
|
<<-CODE
|
105
109
|
ENV container docker
|
106
|
-
RUN zypper install -y sudo openssh which curl
|
110
|
+
RUN zypper install -y sudo openssh which curl gawk
|
107
111
|
RUN /usr/sbin/sshd-gen-keys-start
|
108
112
|
CODE
|
109
113
|
end
|
@@ -128,6 +132,26 @@ module Kitchen
|
|
128
132
|
CODE
|
129
133
|
end
|
130
134
|
|
135
|
+
def almalinux_platform
|
136
|
+
<<-CODE
|
137
|
+
ENV container docker
|
138
|
+
RUN yum clean all
|
139
|
+
RUN yum install -y sudo openssh-server openssh-clients which
|
140
|
+
RUN [ -f "/etc/ssh/ssh_host_rsa_key" ] || ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
|
141
|
+
RUN [ -f "/etc/ssh/ssh_host_dsa_key" ] || ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
|
142
|
+
CODE
|
143
|
+
end
|
144
|
+
|
145
|
+
def rockylinux_platform
|
146
|
+
<<-CODE
|
147
|
+
ENV container docker
|
148
|
+
RUN yum clean all
|
149
|
+
RUN yum install -y sudo openssh-server openssh-clients which
|
150
|
+
RUN [ -f "/etc/ssh/ssh_host_rsa_key" ] || ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
|
151
|
+
RUN [ -f "/etc/ssh/ssh_host_dsa_key" ] || ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
|
152
|
+
CODE
|
153
|
+
end
|
154
|
+
|
131
155
|
def photonos_platform
|
132
156
|
<<-CODE
|
133
157
|
ENV container docker
|
@@ -143,6 +167,8 @@ module Kitchen
|
|
143
167
|
RUN if ! getent passwd #{username}; then \
|
144
168
|
useradd -d #{homedir} -m -s /bin/bash -p '*' #{username}; \
|
145
169
|
fi
|
170
|
+
RUN mkdir -p /etc/sudoers.d
|
171
|
+
RUN chmod 0750 /etc/sudoers.d
|
146
172
|
RUN echo "#{username} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/#{username}
|
147
173
|
RUN echo "Defaults !requiretty" >> /etc/sudoers.d/#{username}
|
148
174
|
RUN mkdir -p #{homedir}/.ssh
|
@@ -13,6 +13,7 @@
|
|
13
13
|
|
14
14
|
require 'kitchen'
|
15
15
|
require 'kitchen/configurable'
|
16
|
+
require 'pathname'
|
16
17
|
require_relative 'cli_helper'
|
17
18
|
require_relative 'container_helper'
|
18
19
|
|
@@ -25,7 +26,7 @@ module Kitchen
|
|
25
26
|
include Kitchen::Docker::Helpers::ContainerHelper
|
26
27
|
|
27
28
|
def parse_image_id(output)
|
28
|
-
output.
|
29
|
+
output.split("\n").reverse_each do |line|
|
29
30
|
if line =~ /writing image (sha256:[[:xdigit:]]{64})(?: \d*\.\ds)? done/i
|
30
31
|
img_id = line[/writing image (sha256:[[:xdigit:]]{64})(?: \d*\.\ds)? done/i,1]
|
31
32
|
return img_id
|
@@ -50,7 +51,7 @@ module Kitchen
|
|
50
51
|
extra_build_options = config_to_options(config[:build_options])
|
51
52
|
cmd << " #{extra_build_options}" unless extra_build_options.empty?
|
52
53
|
dockerfile_contents = dockerfile
|
53
|
-
file = Tempfile.new('Dockerfile-kitchen',
|
54
|
+
file = Tempfile.new('Dockerfile-kitchen', Pathname.pwd + config[:build_tempdir])
|
54
55
|
cmd << " -f #{Shellwords.escape(dockerfile_path(file))}" if config[:build_context]
|
55
56
|
build_context = config[:build_context] ? '.' : '-'
|
56
57
|
output = begin
|
@@ -14,10 +14,11 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
# Disable now busser-serever is gone.
|
18
|
+
# require 'serverspec'
|
19
|
+
# set :backend, :exec
|
19
20
|
|
20
|
-
describe command('/sbin/ifconfig eth0 multicast') do
|
21
|
-
|
22
|
-
|
23
|
-
end
|
21
|
+
# describe command('/sbin/ifconfig eth0 multicast') do
|
22
|
+
# its(:exit_status) { is_expected.to_not eq 0 }
|
23
|
+
# its(:stderr) { is_expected.to match /Operation not permitted/ }
|
24
|
+
# end
|
@@ -14,10 +14,11 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
#
|
16
16
|
|
17
|
-
|
18
|
-
require '
|
17
|
+
# Disable now busser-serever is gone.
|
18
|
+
# require 'serverspec'
|
19
|
+
# require 'spec_helper'
|
19
20
|
|
20
|
-
# Just make sure the image launched and is reachable.
|
21
|
-
describe command('true') do
|
22
|
-
|
23
|
-
end
|
21
|
+
# # Just make sure the image launched and is reachable.
|
22
|
+
# describe command('true') do
|
23
|
+
# its(:exit_status) { is_expected.to eq 0 }
|
24
|
+
# end
|
@@ -12,10 +12,10 @@
|
|
12
12
|
# limitations under the License.
|
13
13
|
#
|
14
14
|
|
15
|
-
case RbConfig::CONFIG['host_os']
|
16
|
-
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
|
17
|
-
|
18
|
-
|
19
|
-
else
|
20
|
-
|
21
|
-
end
|
15
|
+
# case RbConfig::CONFIG['host_os']
|
16
|
+
# when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
|
17
|
+
# set :backend, :cmd
|
18
|
+
# set :os, :family => 'windows'
|
19
|
+
# else
|
20
|
+
# set :backend, :exec
|
21
|
+
# end
|
data/test/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-docker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Porter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-kitchen
|
@@ -170,6 +170,20 @@ dependencies:
|
|
170
170
|
- - ">="
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: 0.0.2
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: chefstyle
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
type: :development
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
173
187
|
- !ruby/object:Gem::Dependency
|
174
188
|
name: kitchen-inspec
|
175
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,11 +227,11 @@ extra_rdoc_files: []
|
|
213
227
|
files:
|
214
228
|
- ".cane"
|
215
229
|
- ".github/dependabot.yml"
|
230
|
+
- ".github/workflows/ci.yml"
|
216
231
|
- ".gitignore"
|
217
|
-
- ".
|
218
|
-
- ".kitchen.yml"
|
232
|
+
- ".rubocop.yml"
|
219
233
|
- ".tailor"
|
220
|
-
- ".
|
234
|
+
- ".yamllint"
|
221
235
|
- CHANGELOG.md
|
222
236
|
- Gemfile
|
223
237
|
- LICENSE
|
@@ -225,6 +239,8 @@ files:
|
|
225
239
|
- Rakefile
|
226
240
|
- docker.ps1
|
227
241
|
- kitchen-docker.gemspec
|
242
|
+
- kitchen.windows.yml
|
243
|
+
- kitchen.yml
|
228
244
|
- lib/docker/version.rb
|
229
245
|
- lib/kitchen/docker/container.rb
|
230
246
|
- lib/kitchen/docker/container/linux.rb
|
@@ -241,9 +257,9 @@ files:
|
|
241
257
|
- lib/kitchen/transport/docker.rb
|
242
258
|
- lib/train/docker.rb
|
243
259
|
- test/Dockerfile
|
244
|
-
- test/integration/capabilities/
|
245
|
-
- test/integration/default/
|
246
|
-
- test/integration/default/
|
260
|
+
- test/integration/capabilities/disabled/capabilities_drop_spec.rb
|
261
|
+
- test/integration/default/disabled/default_spec.rb
|
262
|
+
- test/integration/default/disabled/spec_helper.rb
|
247
263
|
- test/integration/inspec/inspec_spec.rb
|
248
264
|
- test/spec/docker_spec.rb
|
249
265
|
- test/spec/spec_helper.rb
|
@@ -266,15 +282,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
266
282
|
- !ruby/object:Gem::Version
|
267
283
|
version: '0'
|
268
284
|
requirements: []
|
269
|
-
rubygems_version: 3.
|
285
|
+
rubygems_version: 3.4.10
|
270
286
|
signing_key:
|
271
287
|
specification_version: 4
|
272
288
|
summary: A Docker Driver for Test Kitchen
|
273
289
|
test_files:
|
274
290
|
- test/Dockerfile
|
275
|
-
- test/integration/capabilities/
|
276
|
-
- test/integration/default/
|
277
|
-
- test/integration/default/
|
291
|
+
- test/integration/capabilities/disabled/capabilities_drop_spec.rb
|
292
|
+
- test/integration/default/disabled/default_spec.rb
|
293
|
+
- test/integration/default/disabled/spec_helper.rb
|
278
294
|
- test/integration/inspec/inspec_spec.rb
|
279
295
|
- test/spec/docker_spec.rb
|
280
296
|
- test/spec/spec_helper.rb
|
data/.kitchen.windows.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
<% # Make sure the local copy of the driver is loaded %>
|
2
|
-
<% lib = File.expand_path('../lib', __FILE__) %>
|
3
|
-
<% $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) %>
|
4
|
-
---
|
5
|
-
driver:
|
6
|
-
name: docker
|
7
|
-
provision_command:
|
8
|
-
- powershell -ExecutionPolicy Bypass -NoLogo -Command . { iwr -useb https://omnitruck.chef.io/install.ps1 } ^| iex; install
|
9
|
-
- powershell -Command $path=$env:Path + ';c:\opscode\chef\embedded\bin'; Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\' -Name Path -Value $path
|
10
|
-
|
11
|
-
transport:
|
12
|
-
name: docker
|
13
|
-
socket: tcp://localhost:2375
|
14
|
-
|
15
|
-
provisioner:
|
16
|
-
name: dummy
|
17
|
-
|
18
|
-
platforms:
|
19
|
-
- name: windows
|
20
|
-
driver_config:
|
21
|
-
image: mcr.microsoft.com/windows/servercore:1809
|
22
|
-
platform: windows
|
23
|
-
|
24
|
-
suites:
|
25
|
-
- name: default
|
26
|
-
- name: context
|
27
|
-
driver:
|
28
|
-
build_context: false
|
29
|
-
- name: inspec
|
30
|
-
driver:
|
31
|
-
provision_command: echo 1
|
32
|
-
verifier:
|
33
|
-
name: inspec
|