kitchen-dokken 2.21.4 → 2.22.1

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: d6b61f4f92be56f902d431679b3c4285ccfa4e534ed8046a4751050f4bdaf53a
4
- data.tar.gz: 9c2ebe65fe043b0ab9f7c94f3db8cc9eed981577d8eae25d5239108aed1e5b98
3
+ metadata.gz: edaff5e00aeab38df7da84c6ffe4ac4c9e49150519962b839da9f87180b5e69a
4
+ data.tar.gz: b48d6f2a140ba5e3fe4303dd1279a9b891f56905f389de9b741f1343b8b4be0c
5
5
  SHA512:
6
- metadata.gz: 12bd55204781a9866c80365c18e68864483e4ce01785cf9c88524c3c6ed77e86114837e0af7f9ab361a7b653069b88da5bbc729f17058f900943a527486151a5
7
- data.tar.gz: 034c31fbcff62ccc5aa8b0fa3c98dc7b0524087ccdc78cf4a02e4ba689f3180a452a966b56df433c4748a71b6cbed970c6d3a173fb1a2843443c30ca24af4914
6
+ metadata.gz: db09d21bc0b0cac97916663fa49731b0db96685ae195714893f1d0936c3e856bab4136cbbd69a7b597e9651058e8784e37f51419650983774f22bbc95a43fb71
7
+ data.tar.gz: b66adcd004984b3daaa76cc4f9522515d4df6e1d8fa7983abea686a648aa68c4e912bbb03c53674c45f93b8d6fbd268994d793ff9979499b216e1ab14f59c31f
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.required_ruby_version = ">= 3.2"
19
19
 
20
20
  spec.add_dependency "docker-api", ">= 1.33", "< 3"
21
+ spec.add_dependency "kitchen-omnibus-chef", ">= 1.0"
21
22
  spec.add_dependency "lockfile", "~> 2.1"
22
- spec.add_dependency "test-kitchen", ">= 1.15", "< 4"
23
+ spec.add_dependency "test-kitchen", ">= 1.15", "< 5"
23
24
  end
@@ -42,6 +42,7 @@ module Kitchen
42
42
  default_config :chef_image, "chef/chef"
43
43
  default_config :chef_version, "latest"
44
44
  default_config :data_image, "dokken/kitchen-cache:latest"
45
+ default_config :data_ssh_port, nil
45
46
  default_config :dns, nil
46
47
  default_config :dns_search, nil
47
48
  default_config :docker_host_url, default_docker_host
@@ -374,8 +375,8 @@ module Kitchen
374
375
  # locally built image, must use short-name
375
376
  "Image" => short_image_path(data_image),
376
377
  "HostConfig" => {
377
- "PortBindings" => port_bindings,
378
- "PublishAllPorts" => true,
378
+ "PortBindings" => data_port_bindings,
379
+ "PublishAllPorts" => self[:data_ssh_port].nil?,
379
380
  "NetworkMode" => "bridge",
380
381
  },
381
382
  }
@@ -678,6 +679,27 @@ module Kitchen
678
679
  config[:data_image]
679
680
  end
680
681
 
682
+ def data_port_bindings
683
+ return port_bindings unless config[:data_ssh_port]
684
+
685
+ # If data_ssh_port is specified, use it for SSH port mapping
686
+ ssh_port_binding = {
687
+ "22/tcp" => [
688
+ {
689
+ "HostIp" => "0.0.0.0",
690
+ "HostPort" => config[:data_ssh_port].to_s,
691
+ },
692
+ ],
693
+ }
694
+
695
+ # Merge with any existing port bindings
696
+ if port_bindings
697
+ port_bindings.merge(ssh_port_binding)
698
+ else
699
+ ssh_port_binding
700
+ end
701
+ end
702
+
681
703
  def platform_image
682
704
  config[:image] || platform_image_from_name
683
705
  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.21.4".freeze
21
+ DOKKEN_VERSION = "2.22.1".freeze
22
22
  end
23
23
  end
@@ -16,7 +16,7 @@
16
16
  # limitations under the License.
17
17
 
18
18
  require "kitchen"
19
- require "kitchen/provisioner/chef_zero"
19
+ require "kitchen/provisioner/chef_infra"
20
20
  require_relative "../helpers"
21
21
 
22
22
  include Dokken::Helpers
@@ -24,7 +24,7 @@ include Dokken::Helpers
24
24
  module Kitchen
25
25
  module Provisioner
26
26
  # @author Sean OMeara <sean@sean.io>
27
- class Dokken < Kitchen::Provisioner::ChefZero
27
+ class Dokken < Kitchen::Provisioner::ChefInfra
28
28
  kitchen_provisioner_api_version 2
29
29
 
30
30
  plugin_version Kitchen::VERSION
@@ -40,14 +40,14 @@ module Kitchen
40
40
  end
41
41
  default_config :docker_host_url, default_docker_host
42
42
 
43
- # Dokken is weird - the provisioner inherits from ChefZero but does not install
43
+ # Dokken is weird - the provisioner inherits from ChefInfra but does not install
44
44
  # chef-client. The version of chef used is customized by users in the driver
45
45
  # section since it is just downloading a specific Docker image of Chef Client.
46
46
  # In order to get the license-acceptance code working though (which depends on
47
47
  # the product_version from the provisioner) we need to copy the value from the
48
48
  # driver and set it here. If we remove this, users will set their chef_version
49
49
  # to 14 in the driver and still get prompted for license acceptance because
50
- # the ChefZero provisioner defaults product_version to 'latest'.
50
+ # the ChefInfra provisioner defaults product_version to 'latest'.
51
51
  default_config :product_name, "chef"
52
52
  default_config :product_version do |provisioner|
53
53
  driver = provisioner.instance.driver
@@ -99,7 +99,7 @@ module Kitchen
99
99
 
100
100
  private
101
101
 
102
- # patching Kitchen::Provisioner::ChefZero#run_command
102
+ # patching Kitchen::Provisioner::ChefInfra#run_command
103
103
  def run_command
104
104
  validate_config
105
105
  cmd = config[:chef_binary]
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.21.4
4
+ version: 2.22.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean OMeara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-15 00:00:00.000000000 Z
11
+ date: 2026-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
@@ -30,6 +30,20 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3'
33
+ - !ruby/object:Gem::Dependency
34
+ name: kitchen-omnibus-chef
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
33
47
  - !ruby/object:Gem::Dependency
34
48
  name: lockfile
35
49
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,7 @@ dependencies:
53
67
  version: '1.15'
54
68
  - - "<"
55
69
  - !ruby/object:Gem::Version
56
- version: '4'
70
+ version: '5'
57
71
  type: :runtime
58
72
  prerelease: false
59
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +77,7 @@ dependencies:
63
77
  version: '1.15'
64
78
  - - "<"
65
79
  - !ruby/object:Gem::Version
66
- version: '4'
80
+ version: '5'
67
81
  description: A Test Kitchen Driver for Docker & Chef Infra optimized for rapid testing
68
82
  using Chef Infra docker images
69
83
  email: