kitchen-docker 2.12.0 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|