kitchen-docker 2.13.0 → 2.15.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b1291ba7bef7b5a17771a1187a34829acac0b0a78e4185119ecb0e5e23728da
4
- data.tar.gz: f1f3b39dc87295717756beab914c0ea5d945c68e318f581717e55b6a65ffbaea
3
+ metadata.gz: 2a90dcbcb9d7867d3600976b04316ebc8bb26edc05c67913a539748bac45c52a
4
+ data.tar.gz: 582e8c53e995ec7d772a8d8580f582edbbff4a64648fc4e5ac41d657c40a2a59
5
5
  SHA512:
6
- metadata.gz: f6bcc821a798f066815e2b9da4ef82389b29e53da4dd66bfbb0a228cb2a9b185289621f496d60bea06c5fb54aab388201f4f0c287e4743d2bd809bce4ed264ff
7
- data.tar.gz: 6bdc6f960565040e5f8161dd6f64d81059fb9d83c42bf71287cf95c6e31ab50056f8e1ce5d065b1be53008bd79195bd93d36a1e661a0de297ac816676eae85f2
6
+ metadata.gz: 121b7a903fe8748c082b9746ed47df1a159652345f1a2e0c26aef04cf1f07e6c69b82b18fa3ab49ed17b93bddfbae69f32bb3839ccb41d3f8ffde9654bf574df
7
+ data.tar.gz: be747b9b96ea67b8848f25ad77d68edf5272201daafeb3f5f93902ceac7e2899322db2ebd5bed75682a81dafa4e85642d2872efb7ad4a9f9479f8cfe2f1de627
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Kitchen-Docker Changelog
2
2
 
3
+ Future CHANGELOG notes will be in GitHub release notes
4
+
5
+ ## 2.14.0 - November 13, 2023
6
+
7
+ - Make sure the /etc/sudoers.d directory exists by @garethgreenaway in [#397](https://github.com/test-kitchen/kitchen-docker/pull/397)
8
+ - Breaking almalinux platform out by @garethgreenaway [#398](https://github.com/test-kitchen/kitchen-docker/pull/398)
9
+ - 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)
10
+ - Allow build temporary Dockerfile in configured custom_dir by @Val in [294](https://github.com/test-kitchen/kitchen-docker/pull/294)
11
+
3
12
  ## 2.13.0 - June 10, 2022
4
13
 
5
14
  - Added CentOSStream and PhotonOS - [@garethgreenaway](https://github.com/garethgreenaway)
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
@@ -16,6 +16,6 @@
16
16
  module Kitchen
17
17
  module Docker
18
18
  # Version string for Docker Kitchen driver
19
- DOCKER_VERSION = "2.13.0"
19
+ DOCKER_VERSION = "2.15.0"
20
20
  end
21
21
  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', 'almalinux', 'rockylinux'
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.each_line do |line|
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', Dir.pwd)
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
@@ -37,6 +37,7 @@ module Kitchen
37
37
 
38
38
  default_config :binary, 'docker'
39
39
  default_config :build_options, nil
40
+ default_config :build_tempdir, Dir.pwd
40
41
  default_config :cap_add, nil
41
42
  default_config :cap_drop, nil
42
43
  default_config :disable_upstart, true
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.13.0
4
+ version: 2.15.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: 2022-06-14 00:00:00.000000000 Z
11
+ date: 2023-11-15 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.2.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