kitchen-dokken 2.17.4 → 2.18.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: ba3482928058d00a9c89fcd9abd3d26f0e926a467dfb55e1591af7bb3b05507f
4
- data.tar.gz: a1c5e556088cb04d685149d651e1853abaa90e68842fc50af3f207911eafa918
3
+ metadata.gz: f73c03e77f7fab51c83c62e31ea41343a58620e8246d6c174a877c752503e1e8
4
+ data.tar.gz: 2ad555af59f56455551c9927654d400dab573c2c71be7292d4919b5527f46bf4
5
5
  SHA512:
6
- metadata.gz: f5e8186524b8c961c739351c821e967fd620000f1082b140a3def5aea9b188bbcceebf6647600cfd649f5886814d2819c4bd9de657f3c07153a937391171187a
7
- data.tar.gz: d1a7f7fcc6eb8b5ec1a4e14a46498c9dd8eaf52f9cb1a365d9748511feac7006aca933e6b684a11bcf2bd29f5c444c8f8fe352cde1745a57d2b612735fc8741a
6
+ metadata.gz: 62edea017014a519f4b103bd6bd0572459ab780fc4e6bb544eda21677448ccd07933965499aafbe1d56708b7bff4b50c4b2f29c4ed8cb1f2f365fe01f6fb5468
7
+ data.tar.gz: fc6c78ecf7227b64354fa9afe7d1706c4082799efc3dfe5a3af604078e41a50316cf094296101e0bf280165705caae15146f232ed601c98b8f8b4337a0b68898
@@ -58,6 +58,7 @@ module Kitchen
58
58
  default_config :memory_limit, 0
59
59
  default_config :network_mode, "dokken"
60
60
  default_config :pid_one_command, 'sh -c "trap exit 0 SIGTERM; while :; do sleep 1; done"'
61
+ default_config :platform, ""
61
62
  default_config :ports, nil
62
63
  default_config :privileged, false
63
64
  default_config :pull_chef_image, true
@@ -136,9 +137,9 @@ module Kitchen
136
137
  end
137
138
 
138
139
  def delete_work_image
139
- return unless ::Docker::Image.exist?(work_image, {}, docker_connection)
140
+ return unless ::Docker::Image.exist?(work_image, { "platform" => config[:platform] }, docker_connection)
140
141
 
141
- with_retries { @work_image = ::Docker::Image.get(work_image, {}, docker_connection) }
142
+ with_retries { @work_image = ::Docker::Image.get(work_image, { "platform" => config[:platform] }, docker_connection) }
142
143
 
143
144
  with_retries do
144
145
 
@@ -151,13 +152,14 @@ module Kitchen
151
152
 
152
153
  def build_work_image(state)
153
154
  info("Building work image..")
154
- return if ::Docker::Image.exist?(work_image, {}, docker_connection)
155
+ return if ::Docker::Image.exist?(work_image, { "platform" => config[:platform] }, docker_connection)
155
156
 
156
157
  begin
157
158
  @intermediate_image = ::Docker::Image.build(
158
159
  work_image_dockerfile,
159
160
  {
160
161
  "t" => work_image,
162
+ "platform" => config[:platform],
161
163
  },
162
164
  docker_connection
163
165
  )
@@ -479,7 +481,7 @@ module Kitchen
479
481
  end
480
482
 
481
483
  def delete_image(name)
482
- with_retries { @image = ::Docker::Image.get(name, {}, docker_connection) }
484
+ with_retries { @image = ::Docker::Image.get(name, { "platform" => config[:platform] }, docker_connection) }
483
485
  with_retries { @image.remove(force: true) }
484
486
  rescue ::Docker::Error
485
487
  puts "Image #{name} not found. Nothing to delete."
@@ -551,6 +553,7 @@ module Kitchen
551
553
  args["Env"] = [] if args["Env"].nil?
552
554
  args["Env"] << "TEST_KITCHEN=1"
553
555
  args["Env"] << "CI=#{ENV["CI"]}" if ENV.include? "CI"
556
+ args["Platform"] = config[:platform]
554
557
  info "Creating container #{args["name"]}"
555
558
  debug "driver - create_container args #{args}"
556
559
  with_retries do
@@ -612,7 +615,7 @@ module Kitchen
612
615
  end
613
616
 
614
617
  def chef_container_name
615
- "chef-#{chef_version}"
618
+ config[:platform] != "" ? "chef-#{chef_version}-" + config[:platform].sub("/", "-") : "chef-#{chef_version}"
616
619
  end
617
620
 
618
621
  def chef_image
@@ -643,7 +646,7 @@ module Kitchen
643
646
  end
644
647
 
645
648
  def pull_if_missing(image)
646
- return if ::Docker::Image.exist?(registry_image_path(image), {}, docker_connection)
649
+ return if ::Docker::Image.exist?(registry_image_path(image), { "platform" => config[:platform] }, docker_connection)
647
650
 
648
651
  pull_image image
649
652
  end
@@ -656,11 +659,11 @@ module Kitchen
656
659
  def pull_image(image)
657
660
  path = registry_image_path(image)
658
661
  with_retries do
659
- if Docker::Image.exist?(path, {}, docker_connection)
660
- original_image = Docker::Image.get(path, {}, docker_connection)
662
+ if Docker::Image.exist?(path, { "platform" => config[:platform] }, docker_connection)
663
+ original_image = Docker::Image.get(path, { "platform" => config[:platform] }, docker_connection)
661
664
  end
662
665
 
663
- new_image = Docker::Image.create({ "fromImage" => path }, docker_creds_for_image(image), docker_connection)
666
+ new_image = Docker::Image.create({ "fromImage" => path, "platform" => config[:platform] }, docker_creds, docker_connection)
664
667
 
665
668
  !(original_image && original_image.id.start_with?(new_image.id))
666
669
  end
@@ -18,6 +18,6 @@
18
18
  module Kitchen
19
19
  module Driver
20
20
  # Version string for Dokken Kitchen driver
21
- DOKKEN_VERSION = "2.17.4".freeze
21
+ DOKKEN_VERSION = "2.18.0".freeze
22
22
  end
23
23
  end
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: 2.17.4
4
+ version: 2.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean OMeara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-20 00:00:00.000000000 Z
11
+ date: 2022-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubygems_version: 3.3.3
100
+ rubygems_version: 3.3.16
101
101
  signing_key:
102
102
  specification_version: 4
103
103
  summary: A Test Kitchen Driver for Docker & Chef Infra optimized for rapid testing