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 +4 -4
- data/kitchen-dokken.gemspec +2 -1
- data/lib/kitchen/driver/dokken.rb +24 -2
- data/lib/kitchen/driver/dokken_version.rb +1 -1
- data/lib/kitchen/provisioner/dokken.rb +5 -5
- metadata +18 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: edaff5e00aeab38df7da84c6ffe4ac4c9e49150519962b839da9f87180b5e69a
|
|
4
|
+
data.tar.gz: b48d6f2a140ba5e3fe4303dd1279a9b891f56905f389de9b741f1343b8b4be0c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db09d21bc0b0cac97916663fa49731b0db96685ae195714893f1d0936c3e856bab4136cbbd69a7b597e9651058e8784e37f51419650983774f22bbc95a43fb71
|
|
7
|
+
data.tar.gz: b66adcd004984b3daaa76cc4f9522515d4df6e1d8fa7983abea686a648aa68c4e912bbb03c53674c45f93b8d6fbd268994d793ff9979499b216e1ab14f59c31f
|
data/kitchen-dokken.gemspec
CHANGED
|
@@ -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", "<
|
|
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" =>
|
|
378
|
-
"PublishAllPorts" =>
|
|
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
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# limitations under the License.
|
|
17
17
|
|
|
18
18
|
require "kitchen"
|
|
19
|
-
require "kitchen/provisioner/
|
|
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::
|
|
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
|
|
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
|
|
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::
|
|
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.
|
|
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:
|
|
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: '
|
|
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: '
|
|
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:
|