kitchen-docker 2.12.0 → 2.14.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/.kitchen.yml +3 -4
- data/CHANGELOG.md +13 -0
- data/README.md +10 -0
- data/lib/kitchen/docker/docker_version.rb +1 -1
- data/lib/kitchen/docker/helpers/dockerfile_helper.rb +39 -1
- data/lib/kitchen/docker/helpers/image_helper.rb +5 -4
- data/lib/kitchen/driver/docker.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5d65a3c6ae8fbb16e1fd87e4553a177ccaebc45fbaef3e92e0126b3fc46c2634
|
|
4
|
+
data.tar.gz: cf847bf5d538fdd037fdd8c446cd9242b29504c413a4a3be502e24b76b14ef60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93d76bf32eaee907b3e284b5dafc2c7e85a2198c2626078b5ba6f85d922157fdbefd3a0d5cfdeaa01bdcd181bee16d1c7fc9ef5ea286fd2624b0c4573703bdb5
|
|
7
|
+
data.tar.gz: f3a4428581c76cf40eecbce6ecda3a207d72f0dff17788b6f9f0059bad59660955fe2cfe0ac4ffed5b1b933967c044e2889a52d9c8aeb50fa6480077c003c4cf
|
data/.kitchen.yml
CHANGED
|
@@ -22,7 +22,6 @@ platforms:
|
|
|
22
22
|
- yum install libxcrypt-compat -y
|
|
23
23
|
- curl -L https://www.chef.io/chef/install.sh | bash
|
|
24
24
|
- name: centos-7
|
|
25
|
-
- name: centos-8
|
|
26
25
|
- name: oraclelinux-7
|
|
27
26
|
- name: rockylinux-8
|
|
28
27
|
- name: debian-9
|
|
@@ -39,13 +38,13 @@ platforms:
|
|
|
39
38
|
|
|
40
39
|
suites:
|
|
41
40
|
- name: default
|
|
42
|
-
excludes: [arch]
|
|
41
|
+
excludes: [arch, debian-9]
|
|
43
42
|
- name: context
|
|
44
|
-
excludes: [arch]
|
|
43
|
+
excludes: [arch, debian-9]
|
|
45
44
|
driver:
|
|
46
45
|
build_context: false
|
|
47
46
|
- name: capabilities
|
|
48
|
-
includes: [debian-
|
|
47
|
+
includes: [debian-10,ubuntu-18.04,ubuntu-20.04]
|
|
49
48
|
driver:
|
|
50
49
|
provision_command:
|
|
51
50
|
- curl -L https://www.chef.io/chef/install.sh | bash
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Kitchen-Docker Changelog
|
|
2
2
|
|
|
3
|
+
## 2.14.0 - November 13, 2023
|
|
4
|
+
|
|
5
|
+
- Make sure the /etc/sudoers.d directory exists by @garethgreenaway in [#397](https://github.com/test-kitchen/kitchen-docker/pull/397)
|
|
6
|
+
- Breaking almalinux platform out by @garethgreenaway [#398](https://github.com/test-kitchen/kitchen-docker/pull/398)
|
|
7
|
+
- fix: parse_image_id: Process "docker build" output in reverse line order by @terminalmage in [#400](https://github.com/test-kitchen/kitchen-docker/pull/400)
|
|
8
|
+
- Allow build temporary Dockerfile in configured custom_dir by @Val in [294](https://github.com/test-kitchen/kitchen-docker/pull/294)
|
|
9
|
+
|
|
10
|
+
## 2.13.0 - June 10, 2022
|
|
11
|
+
|
|
12
|
+
- Added CentOSStream and PhotonOS - [@garethgreenaway](https://github.com/garethgreenaway)
|
|
13
|
+
- Fixed image parser when output includes a duration timestamp - [@RulerOf](https://github.com/RulerOf)
|
|
14
|
+
- Updated the test suites - [@RulerOf](https://github.com/RulerOf)
|
|
15
|
+
|
|
3
16
|
## 2.12.0 - December 22, 2021
|
|
4
17
|
|
|
5
18
|
- Support Docker BuildKit - [@RulerOf](https://github.com/RulerOf)
|
data/README.md
CHANGED
|
@@ -583,6 +583,16 @@ Examples:
|
|
|
583
583
|
net: br3
|
|
584
584
|
```
|
|
585
585
|
|
|
586
|
+
### build_tempdir
|
|
587
|
+
|
|
588
|
+
Relative (to `build_context`) temporary directory path for built Dockerfile.
|
|
589
|
+
|
|
590
|
+
Example:
|
|
591
|
+
|
|
592
|
+
```yaml
|
|
593
|
+
build_tempdir: .kitchen
|
|
594
|
+
```
|
|
595
|
+
|
|
586
596
|
### use_internal_docker_network
|
|
587
597
|
|
|
588
598
|
If you want to use kitchen-docker from within another Docker container you'll
|
|
@@ -34,8 +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', 'rockylinux'
|
|
38
38
|
rhel_platform
|
|
39
|
+
when 'centosstream'
|
|
40
|
+
centosstream_platform
|
|
41
|
+
when 'almalinux'
|
|
42
|
+
almalinux_platform
|
|
43
|
+
when 'photon'
|
|
44
|
+
photonos_platform
|
|
39
45
|
else
|
|
40
46
|
raise ActionFailed, "Unknown platform '#{config[:platform]}'"
|
|
41
47
|
end
|
|
@@ -114,11 +120,43 @@ module Kitchen
|
|
|
114
120
|
CODE
|
|
115
121
|
end
|
|
116
122
|
|
|
123
|
+
def centosstream_platform
|
|
124
|
+
<<-CODE
|
|
125
|
+
ENV container docker
|
|
126
|
+
RUN yum clean all
|
|
127
|
+
RUN yum install -y sudo openssh-server openssh-clients which
|
|
128
|
+
RUN [ -f "/etc/ssh/ssh_host_rsa_key" ] || ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
|
|
129
|
+
RUN [ -f "/etc/ssh/ssh_host_dsa_key" ] || ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
|
|
130
|
+
CODE
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def almalinux_platform
|
|
134
|
+
<<-CODE
|
|
135
|
+
ENV container docker
|
|
136
|
+
RUN yum clean all
|
|
137
|
+
RUN yum install -y sudo openssh-server openssh-clients which
|
|
138
|
+
RUN [ -f "/etc/ssh/ssh_host_rsa_key" ] || ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
|
|
139
|
+
RUN [ -f "/etc/ssh/ssh_host_dsa_key" ] || ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
|
|
140
|
+
CODE
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def photonos_platform
|
|
144
|
+
<<-CODE
|
|
145
|
+
ENV container docker
|
|
146
|
+
RUN tdnf clean all
|
|
147
|
+
RUN tdnf install -y sudo openssh-server openssh-clients which curl
|
|
148
|
+
RUN [ -f "/etc/ssh/ssh_host_ecdsa_key" ] || ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
|
|
149
|
+
RUN [ -f "/etc/ssh/ssh_host_ed25519_key" ] || ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
|
|
150
|
+
CODE
|
|
151
|
+
end
|
|
152
|
+
|
|
117
153
|
def dockerfile_base_linux(username, homedir)
|
|
118
154
|
<<-CODE
|
|
119
155
|
RUN if ! getent passwd #{username}; then \
|
|
120
156
|
useradd -d #{homedir} -m -s /bin/bash -p '*' #{username}; \
|
|
121
157
|
fi
|
|
158
|
+
RUN mkdir -p /etc/sudoers.d
|
|
159
|
+
RUN chmod 0750 /etc/sudoers.d
|
|
122
160
|
RUN echo "#{username} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/#{username}
|
|
123
161
|
RUN echo "Defaults !requiretty" >> /etc/sudoers.d/#{username}
|
|
124
162
|
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,9 +26,9 @@ module Kitchen
|
|
|
25
26
|
include Kitchen::Docker::Helpers::ContainerHelper
|
|
26
27
|
|
|
27
28
|
def parse_image_id(output)
|
|
28
|
-
output.
|
|
29
|
-
if line =~ /writing image sha256:[[:xdigit:]]{64} done/i
|
|
30
|
-
img_id = line[/writing image (sha256:[[:xdigit:]]{64}) done/i,1]
|
|
29
|
+
output.split("\n").reverse_each do |line|
|
|
30
|
+
if line =~ /writing image (sha256:[[:xdigit:]]{64})(?: \d*\.\ds)? done/i
|
|
31
|
+
img_id = line[/writing image (sha256:[[:xdigit:]]{64})(?: \d*\.\ds)? done/i,1]
|
|
31
32
|
return img_id
|
|
32
33
|
end
|
|
33
34
|
if line =~ /image id|build successful|successfully built/i
|
|
@@ -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
|
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: 2.
|
|
4
|
+
version: 2.14.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-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|
|
@@ -266,7 +266,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
266
266
|
- !ruby/object:Gem::Version
|
|
267
267
|
version: '0'
|
|
268
268
|
requirements: []
|
|
269
|
-
rubygems_version: 3.
|
|
269
|
+
rubygems_version: 3.4.10
|
|
270
270
|
signing_key:
|
|
271
271
|
specification_version: 4
|
|
272
272
|
summary: A Docker Driver for Test Kitchen
|